ローカライズされたlibtracker.soでは、他のアプリからBFilePanelを呼び出すと落ちる問題が発生していましたが、とりあえず以下のコードで解決?
TFilePanel::TFilePanel(file_panel_mode mode, BMessenger *target,ただしこれだと、
const BEntry *startDir, uint32 nodeFlavors, bool multipleSelection,
BMessage *message, BRefFilter *filter, uint32 containerWindowFlags,
window_look look, window_feel feel, bool hideWhenDone)
: BContainerWindow(0, containerWindowFlags, look, feel, 0, B_CURRENT_WORKSPACE),
fDirMenu(NULL),
fDirMenuField(NULL),
fTextControl(NULL),
fClientObject(NULL),
fSelectionIterator(0),
fMessage(NULL),
fHideWhenDone(hideWhenDone),
fIsTrackingMenu(false)
{
if (!be_catalog){
fCatalog = new BCatalog("application/x-vnd.Be-TRAK");
be_locale->GetAppCatalog(fCatalog);
}else{
fCatalog = NULL;
}
- ローカライズされてないアプリから呼ばれた場合、BFilePanelは英語のまま。
- ローカライズされたアプリから呼ばれた場合、BFilePanelはアプリのカタログにある部分だけローカライズされる
まぁ、コードはちょっと思いつかないので、ここはこのまま出すこととしましょう…
あとはひたすらTRマクロ付け&BLayout化作業ですね…
ちなみに、現在catkeyが190行以上あります:-)
0 件のコメント:
コメントを投稿