Tracker: No Disks drop down on file panels.
Get rid of AddDisksIconToMenu() method, use AddItemToDirMenu() instead which does the right thing and works for Disks. Change-Id: Ib6d5976f6edde03bdb5086118d6c3e66c362c82c Reviewed-on: https://review.haiku-os.org/c/haiku/+/11277 Tested-by: Commit checker robot <[email protected]> Haiku-Format: Haiku-format Bot <[email protected]> Reviewed-by: John Scipione <[email protected]> (cherry picked from commit bc00558b5a7829e032d572eac0f1943f1e691214) Reviewed-on: https://review.haiku-os.org/c/haiku/+/11350
This commit is contained in:
committed by
Máximo Castañeda
parent
f0a83b8afe
commit
064878d320
@@ -55,7 +55,6 @@ public:
|
||||
bool navMenuEntries = false);
|
||||
void AddItemToDirMenu(const BEntry*, BWindow* source,
|
||||
bool atEnd, bool addShortcuts, bool navMenuEntries = false);
|
||||
void AddDisksIconToMenu(bool reverse = false);
|
||||
|
||||
void SetMenuBar(BMenuBar*);
|
||||
|
||||
|
||||
@@ -167,12 +167,12 @@ BDirMenu::Populate(const BEntry* startEntry, BWindow* source,
|
||||
// warp from Trash to Desktop
|
||||
}
|
||||
|
||||
BEntry rootEntry("/");
|
||||
if (desktopIsRoot) {
|
||||
BEntry rootEntry("/");
|
||||
if (entry == rootEntry) {
|
||||
// Disks appears to be on Desktop
|
||||
if (showDisksIcon)
|
||||
AddDisksIconToMenu(reverse);
|
||||
AddItemToDirMenu(&rootEntry, source, reverse, addShortcuts, navMenuEntries);
|
||||
entry = desktopEntry;
|
||||
// warp from "/" to Desktop
|
||||
}
|
||||
@@ -188,7 +188,7 @@ BDirMenu::Populate(const BEntry* startEntry, BWindow* source,
|
||||
|
||||
if (hitRoot) {
|
||||
if (!desktopIsRoot && showDisksIcon && *startEntry != "/")
|
||||
AddDisksIconToMenu(reverse);
|
||||
AddItemToDirMenu(&rootEntry, source, reverse, addShortcuts, navMenuEntries);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -273,31 +273,3 @@ BDirMenu::AddItemToDirMenu(const BEntry* entry, BWindow* source,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
BDirMenu::AddDisksIconToMenu(bool atEnd)
|
||||
{
|
||||
BEntry entry("/");
|
||||
Model model(&entry);
|
||||
if (model.InitCheck() != B_OK)
|
||||
return;
|
||||
|
||||
entry_ref ref;
|
||||
entry.GetRef(&ref);
|
||||
BMessage* message = new BMessage(fCommand);
|
||||
message->AddRef(fEntryName.String(), &ref);
|
||||
|
||||
BNavMenu* subMenu = new BNavMenu(model.Name(), fCommand, fTarget);
|
||||
subMenu->SetNavDir(&ref);
|
||||
ModelMenuItem* item = new ModelMenuItem(&model, subMenu);
|
||||
item->SetLabel(model.Name());
|
||||
item->SetMessage(message);
|
||||
|
||||
if (atEnd)
|
||||
AddItem(item);
|
||||
else
|
||||
AddItem(item, 0);
|
||||
|
||||
item->SetTarget(fTarget);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user