プログラム / 2008/02/11 (Mon) / 編集 |
UNIX実験で作ってた[MacOSX:Leopeard]MyLight.app[Spotlight]の続報
やっとこさSpotlightのコメント変更に日本語が使えるようになったYO!!
どうやらシステムコール(setxattr)は日本語のコメントができないっぽいのは以前の雑記で書いた通りだが、どうやらAppleScript経由なら日本語のコメントも設定可能らしいとの情報を入手し、blog.8-p.infoさんのスクリプトをもとに[ADC]Technical Note TN2048を読んで試してみた。
やっとこさSpotlightのコメント変更に日本語が使えるようになったYO!!
どうやらシステムコール(setxattr)は日本語のコメントができないっぽいのは以前の雑記で書いた通りだが、どうやらAppleScript経由なら日本語のコメントも設定可能らしいとの情報を入手し、blog.8-p.infoさんのスクリプトをもとに[ADC]Technical Note TN2048を読んで試してみた。
そんなわけでソースコード
NSString *scriptSource = [NSString stringWithFormat:@"tell application \"Finder\" \n \
set comment of ((POSIX file (\"%@\")) as file) to (\"%@\") \n \
end tell",path,getComment];
NSAppleScript* scriptObject = [[NSAppleScript alloc] initWithSource:scriptSource];
returnDescriptor = [scriptObject executeAndReturnError: &errorDict]; [scriptObject release];
if (returnDescriptor != NULL){
// 実行が成功
if (kAENullEvent != [returnDescriptor descriptorType]){
[self viewFileDatas:path];//もう一度読み込む、だがしかしすぐにはコメントは適用されないらしい。
}else{
NSLog(@"miss to set new comment : NULL Event");
}
}else{
NSLog(@"miss to set new comment : NULL Descriptor");
}
ちなみにerrorDictはNSDictionary型、returnDescriptorはNSAppleEventDescriptor型だ
もう少し機能追加できたら(テーブルのソーティングとか)MyLightバージョン2を公開しようと思います、最終的にはCoverFlowとQuickLookが実装したいんだが時間かかるかな?
NSString *scriptSource = [NSString stringWithFormat:@"tell application \"Finder\" \n \
set comment of ((POSIX file (\"%@\")) as file) to (\"%@\") \n \
end tell",path,getComment];
NSAppleScript* scriptObject = [[NSAppleScript alloc] initWithSource:scriptSource];
returnDescriptor = [scriptObject executeAndReturnError: &errorDict]; [scriptObject release];
if (returnDescriptor != NULL){
// 実行が成功
if (kAENullEvent != [returnDescriptor descriptorType]){
[self viewFileDatas:path];//もう一度読み込む、だがしかしすぐにはコメントは適用されないらしい。
}else{
NSLog(@"miss to set new comment : NULL Event");
}
}else{
NSLog(@"miss to set new comment : NULL Descriptor");
}
ちなみにerrorDictはNSDictionary型、returnDescriptorはNSAppleEventDescriptor型だ
もう少し機能追加できたら(テーブルのソーティングとか)MyLightバージョン2を公開しようと思います、最終的にはCoverFlowとQuickLookが実装したいんだが時間かかるかな?
PR
トラックバック
URL :
コメント