さて QuickLookの検証が一通りできたので SimpleCapへ組み込むことにする。
新たに QuickLookController クラスを追加し、ここで QuickLookパネルや今後追加するカスタムボタンの処理をさせる。
QuickLookController.h
@interface QuickLookController : NSObject {
BOOL _is_available;
NSRect _start_frame;
}
+(QuickLookController*)sharedController;
-(void)showWithURLs:(NSArray*)urls;
-(void)showWithURL:(NSURL*)url startFrame:(NSRect)start_frame;
-(void)showWithURLs:(NSArray*)urls startFrame:(NSRect)start_frame;
-(BOOL)isAvailable;
-(void)close;
@end
このクラスのインスタンスを一つ作っておき(シングルトン)、#sharedController でこれを取得して利用する。SimpleCapでは全ての種類のキャプチャの制御を CaptureControllerで行っているので、この中のキャプチャ終了時のタイミングで QuickLookパネルを呼出すようにした。
これでキャプチャ終了時に QuickLookパネルが開く様になった。

また QuickLookパネルの利用の有無をプリファレンスで設定できるようにしておいた。

QuckLookパネルの呼出しは簡単にできたのだが、表示する時の拡大アニメーションに対応する為のキャプチャ位置を算出するのが少し手間がかかった。
- - - -
表示ができたので次はカスタムボタンを加えていく。まずはキャプチャ画像を削除(ゴミ箱へ移動)するボタンを加えてみよう。