From 17a87a2077f5868bc8048b2e3f67351a2d392538 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sun, 26 Oct 2025 17:19:23 -0400 Subject: [PATCH] Tracker: Add Disks to Desktop nav menu if "Show Disks" setting is on. Rename AddRootItemsIfNeeded() to AddVolumeItems(). Fixes #19720 Change-Id: I866b7364012b2d267809d9f49059ef531ec4a24f Reviewed-on: https://review.haiku-os.org/c/haiku/+/9741 Tested-by: Commit checker robot Reviewed-by: humdinger humdinger Reviewed-by: waddlesplash --- headers/private/tracker/NavMenu.h | 3 ++- src/kits/tracker/NavMenu.cpp | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/headers/private/tracker/NavMenu.h b/headers/private/tracker/NavMenu.h index 81b398c730..64ec6ec5f9 100644 --- a/headers/private/tracker/NavMenu.h +++ b/headers/private/tracker/NavMenu.h @@ -128,7 +128,8 @@ protected: void BuildVolumeMenu(); void AddOneItem(Model*); - void AddRootItemsIfNeeded(); + void AddRootItem(); + void AddVolumeItems(); void AddTrashItem(); static void SetTrackingHookDeep(BMenu*, bool (*)(BMenu*, void*), void*); diff --git a/src/kits/tracker/NavMenu.cpp b/src/kits/tracker/NavMenu.cpp index c053a3324c..47534bc73f 100644 --- a/src/kits/tracker/NavMenu.cpp +++ b/src/kits/tracker/NavMenu.cpp @@ -431,7 +431,10 @@ BNavMenu::StartBuildingItemList() fIteratingDesktop = true; fContainer = DesktopPoseView::InitDesktopDirentIterator(0, startModel.EntryRef()); if (TrackerSettings().MountVolumesOntoDesktop()) - AddRootItemsIfNeeded(); + AddVolumeItems(); + else if (TrackerSettings().ShowDisksIcon()) + AddRootItem(); + AddTrashItem(); } else if (startModel.IsTrash()) { // the trash window needs to display a union of all the @@ -470,7 +473,19 @@ BNavMenu::StartBuildingItemList() void -BNavMenu::AddRootItemsIfNeeded() +BNavMenu::AddRootItem() +{ + BEntry entry("/"); + Model model(&entry); + if (model.InitCheck() != B_OK) + return; + + AddOneItem(&model); +} + + +void +BNavMenu::AddVolumeItems() { BVolumeRoster roster; roster.Rewind();