時々キャプチャ直前にプリファレンスの設定を変えたい場合がある。頻繁に設定を変える場合もいちいちプリファレンスを開くのがおっくう。要望も出たので対応することにする。何か名前があると開発しやすいので Quick Config(クイックコンフィグ)と名付けてみた。
ユーザインターフェイスだが、例えば範囲選択なら枠線が表示された状態で設定ができると良い。そこで専用のボタンを用意して、これを押すと設定メニューが開くようにしてみた。こんな感じ。
メニューの内容はプリファレンスで設定できるものと同じ。
少し独特なインターフェイスになってしまった。他のボタンの動作と違ってメニューが開くことを伝えたいので白点を加えてみた。
実装は Interface Builderであらかじめメニューを用意しておき、コードからこれを参照してポップアップさせる。
[NSMenu popUpContextMenu:[_app_controller selectionConfigMenu] withEvent:event forView:view];
メニューの各値はおなじみの Cococa Bindings で UserDefaultsと紐づけてある。あいわらず楽だ。