From df66f40bb5435221e9d5d28a64ab16a29304d4c1 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Fri, 22 Oct 2010 08:53:03 +0000 Subject: [PATCH] When right/control click drag and dropping onto an x-ray menu, present the same choices that we do when dropping onto a normal poseview. Resolves #6732. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39044 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/tracker/ContainerWindow.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/kits/tracker/ContainerWindow.cpp b/src/kits/tracker/ContainerWindow.cpp index 6d4d1ed585..205d70f9b1 100644 --- a/src/kits/tracker/ContainerWindow.cpp +++ b/src/kits/tracker/ContainerWindow.cpp @@ -1566,6 +1566,16 @@ BContainerWindow::MessageReceived(BMessage *message) // don't copy to printers dir if (!FSIsPrintersDir(&entry)) { if (entry.InitCheck() == B_OK && entry.IsDirectory()) { + uint32 moveMode = kMoveSelectionTo; + int32 buttons = fDragMessage->FindInt32("buttons"); + if (buttons & B_SECONDARY_MOUSE_BUTTON || modifiers() & B_CONTROL_KEY) + { + BPoint dropPoint; + PoseView()->GetMouse(&dropPoint, NULL, true); + moveMode = ShowDropContextMenu(dropPoint); + if (moveMode == kCancelButton) + break; + } // // build of list of entry_refs from the list // in the drag message @@ -1577,7 +1587,6 @@ BContainerWindow::MessageReceived(BMessage *message) // // compare the target and one of the drag items' parent // - uint32 moveMode = kMoveSelectionTo; Model targetModel(&entry, true, false); if (!CheckDevicesEqual(list->ItemAt(0), &targetModel)) moveMode = kCopySelectionTo;