hrev45079 adds 1 changeset to branch 'master' old head: 939600d2adf1f4a61ad030ddbb35d5b45e7e25da new head: 205cf6950c4e615f502501f6667267edf8b482db overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=205cf69+%5E939600d ---------------------------------------------------------------------------- 205cf69: Tracker: Force Identify - don't require holding shift (#4857) Don't require to hold shift when clicking on force identify, can now be released after popup menu have appeared. [ Philippe Saint-Pierre <stpere@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev45079 Commit: 205cf6950c4e615f502501f6667267edf8b482db URL: http://cgit.haiku-os.org/haiku/commit/?id=205cf69 Author: Philippe Saint-Pierre <stpere@xxxxxxxxx> Date: Mon Dec 24 20:57:02 2012 UTC Ticket: https://dev.haiku-os.org/ticket/4857 ---------------------------------------------------------------------------- 3 files changed, 17 insertions(+), 9 deletions(-) src/kits/tracker/ContainerWindow.cpp | 12 ++++++++---- src/kits/tracker/PoseView.cpp | 12 ++++++++---- src/kits/tracker/PoseView.h | 2 +- ---------------------------------------------------------------------------- diff --git a/src/kits/tracker/ContainerWindow.cpp b/src/kits/tracker/ContainerWindow.cpp index 2a85b87..d5ede41 100644 --- a/src/kits/tracker/ContainerWindow.cpp +++ b/src/kits/tracker/ContainerWindow.cpp @@ -2554,10 +2554,13 @@ BContainerWindow::SetupMoveCopyMenus(const entry_ref* item_ref, BMenu* parent) // Set the "Identify" item label BMenuItem* identifyItem = parent->FindItem(kIdentifyEntry); if (identifyItem != NULL) { - if (modifierKeys & B_SHIFT_KEY) + if (modifierKeys & B_SHIFT_KEY) { identifyItem->SetLabel(B_TRANSLATE("Force identify")); - else + identifyItem->Message()->ReplaceBool("force", true); + } else { identifyItem->SetLabel(B_TRANSLATE("Identify")); + identifyItem->Message()->ReplaceBool("force", false); + } } } @@ -2778,8 +2781,9 @@ BContainerWindow::AddFileContextMenus(BMenu* menu) #endif menu->AddSeparatorItem(); - menu->AddItem(new BMenuItem(B_TRANSLATE("Identify"), - new BMessage(kIdentifyEntry))); + BMessage* message = new BMessage(kIdentifyEntry); + message->AddBool("force", false); + menu->AddItem(new BMenuItem(B_TRANSLATE("Identify"), message)); BMenu* addOnMenuItem = new BMenu(B_TRANSLATE("Add-ons")); addOnMenuItem->SetFont(be_plain_font); menu->AddItem(addOnMenuItem); diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index 9c4971c..23e356b 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -2368,8 +2368,13 @@ BPoseView::MessageReceived(BMessage* message) break; case kIdentifyEntry: - IdentifySelection(); + { + bool force; + if (message->FindBool("force", &force) != B_OK) + force = false; + IdentifySelection(force); break; + } case kEditItem: { @@ -8360,9 +8365,8 @@ BPoseView::OpenParent() void -BPoseView::IdentifySelection() -{ - bool force = (modifiers() & B_SHIFT_KEY) != 0; +BPoseView::IdentifySelection(bool force) +{ int32 count = fSelectionList->CountItems(); for (int32 index = 0; index < count; index++) { BPose* pose = fSelectionList->ItemAt(index); diff --git a/src/kits/tracker/PoseView.h b/src/kits/tracker/PoseView.h index 6179f07..d1dd5ba 100644 --- a/src/kits/tracker/PoseView.h +++ b/src/kits/tracker/PoseView.h @@ -284,7 +284,7 @@ class BPoseView : public BView { void OpenInfoWindows(); void SetDefaultPrinter(); - void IdentifySelection(); + void IdentifySelection(bool force = false); void UnmountSelectedVolumes(); virtual void OpenParent();