Tracker: Fix FilePanel menu bar initialization.
It appears I was a bit too hasty in hrev48850, as if I had looked more closely I would have noticied that this code depended on the menu bar being initialized to function correctly. Fixes #11914.
This commit is contained in:
parent
673f931b62
commit
9782bd3280
@ -661,55 +661,6 @@ TFilePanel::Init(const BMessage*)
|
||||
fMenuBar->SetBorder(B_BORDER_FRAME);
|
||||
fBackView->AddChild(fMenuBar);
|
||||
|
||||
FavoritesMenu* favorites = new FavoritesMenu(B_TRANSLATE("Favorites"),
|
||||
new BMessage(kSwitchDirectory), new BMessage(B_REFS_RECEIVED),
|
||||
BMessenger(this), IsSavePanel(), fPoseView->RefFilter());
|
||||
favorites->AddItem(new BMenuItem(B_TRANSLATE("Add current folder"),
|
||||
new BMessage(kAddCurrentDir)));
|
||||
favorites->AddItem(new BMenuItem(
|
||||
B_TRANSLATE("Edit favorites" B_UTF8_ELLIPSIS),
|
||||
new BMessage(kEditFavorites)));
|
||||
|
||||
fMenuBar->AddItem(favorites);
|
||||
|
||||
// configure menus
|
||||
BMenuItem* item = fMenuBar->FindItem(B_TRANSLATE("Window"));
|
||||
if (item) {
|
||||
fMenuBar->RemoveItem(item);
|
||||
delete item;
|
||||
}
|
||||
|
||||
item = fMenuBar->FindItem(B_TRANSLATE("File"));
|
||||
if (item) {
|
||||
BMenu* menu = item->Submenu();
|
||||
if (menu) {
|
||||
item = menu->FindItem(kOpenSelection);
|
||||
if (item && menu->RemoveItem(item))
|
||||
delete item;
|
||||
|
||||
item = menu->FindItem(kDuplicateSelection);
|
||||
if (item && menu->RemoveItem(item))
|
||||
delete item;
|
||||
|
||||
// remove add-ons menu, identifier menu, separator
|
||||
item = menu->FindItem(B_TRANSLATE("Add-ons"));
|
||||
if (item) {
|
||||
int32 index = menu->IndexOf(item);
|
||||
delete menu->RemoveItem(index);
|
||||
delete menu->RemoveItem(--index);
|
||||
delete menu->RemoveItem(--index);
|
||||
}
|
||||
|
||||
// remove separator
|
||||
item = menu->FindItem(B_CUT);
|
||||
if (item) {
|
||||
item = menu->ItemAt(menu->IndexOf(item)-1);
|
||||
if (item && menu->RemoveItem(item))
|
||||
delete item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add directory menu and menufield
|
||||
fDirMenu = new BDirMenu(0, this, kSwitchDirectory, "refs");
|
||||
|
||||
@ -856,6 +807,55 @@ TFilePanel::Init(const BMessage*)
|
||||
AddMenus();
|
||||
AddContextMenus();
|
||||
|
||||
FavoritesMenu* favorites = new FavoritesMenu(B_TRANSLATE("Favorites"),
|
||||
new BMessage(kSwitchDirectory), new BMessage(B_REFS_RECEIVED),
|
||||
BMessenger(this), IsSavePanel(), fPoseView->RefFilter());
|
||||
favorites->AddItem(new BMenuItem(B_TRANSLATE("Add current folder"),
|
||||
new BMessage(kAddCurrentDir)));
|
||||
favorites->AddItem(new BMenuItem(
|
||||
B_TRANSLATE("Edit favorites" B_UTF8_ELLIPSIS),
|
||||
new BMessage(kEditFavorites)));
|
||||
|
||||
fMenuBar->AddItem(favorites);
|
||||
|
||||
// configure menus
|
||||
BMenuItem* item = fMenuBar->FindItem(B_TRANSLATE("Window"));
|
||||
if (item) {
|
||||
fMenuBar->RemoveItem(item);
|
||||
delete item;
|
||||
}
|
||||
|
||||
item = fMenuBar->FindItem(B_TRANSLATE("File"));
|
||||
if (item) {
|
||||
BMenu* menu = item->Submenu();
|
||||
if (menu) {
|
||||
item = menu->FindItem(kOpenSelection);
|
||||
if (item && menu->RemoveItem(item))
|
||||
delete item;
|
||||
|
||||
item = menu->FindItem(kDuplicateSelection);
|
||||
if (item && menu->RemoveItem(item))
|
||||
delete item;
|
||||
|
||||
// remove add-ons menu, identifier menu, separator
|
||||
item = menu->FindItem(B_TRANSLATE("Add-ons"));
|
||||
if (item) {
|
||||
int32 index = menu->IndexOf(item);
|
||||
delete menu->RemoveItem(index);
|
||||
delete menu->RemoveItem(--index);
|
||||
delete menu->RemoveItem(--index);
|
||||
}
|
||||
|
||||
// remove separator
|
||||
item = menu->FindItem(B_CUT);
|
||||
if (item) {
|
||||
item = menu->ItemAt(menu->IndexOf(item)-1);
|
||||
if (item && menu->RemoveItem(item))
|
||||
delete item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PoseView()->ScrollTo(B_ORIGIN);
|
||||
PoseView()->UpdateScrollRange();
|
||||
PoseView()->ScrollTo(B_ORIGIN);
|
||||
|
Loading…
x
Reference in New Issue
Block a user