Fix a regression introduced with my previous commit where forcing Move would not always be respected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29091 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1438,7 +1438,7 @@ BContainerWindow::MessageReceived(BMessage *message)
|
|||||||
if (model.InitCheck() != B_OK)
|
if (model.InitCheck() != B_OK)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
PoseView()->MoveSelectionInto(&model, this, false);
|
PoseView()->MoveSelectionInto(&model, this, false, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4347,21 +4347,21 @@ CopySelectionListToBListAsEntryRefs(const PoseList *original, BObjectList<entry_
|
|||||||
|
|
||||||
void
|
void
|
||||||
BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
||||||
bool forceCopy, bool createLink, bool relativeLink)
|
bool forceCopy, bool forceMove, bool createLink, bool relativeLink)
|
||||||
{
|
{
|
||||||
uint32 buttons;
|
uint32 buttons;
|
||||||
BPoint loc;
|
BPoint loc;
|
||||||
GetMouse(&loc, &buttons);
|
GetMouse(&loc, &buttons);
|
||||||
MoveSelectionInto(destFolder, srcWindow, dynamic_cast<BContainerWindow*>(Window()),
|
MoveSelectionInto(destFolder, srcWindow, dynamic_cast<BContainerWindow*>(Window()),
|
||||||
buttons, loc, forceCopy, createLink, relativeLink);
|
buttons, loc, forceCopy, forceMove, createLink, relativeLink);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
||||||
BContainerWindow *destWindow, uint32 buttons, BPoint loc, bool forceCopy,
|
BContainerWindow *destWindow, uint32 buttons, BPoint loc, bool forceCopy,
|
||||||
bool createLink, bool relativeLink)
|
bool forceMove, bool createLink, bool relativeLink)
|
||||||
{
|
{
|
||||||
AutoLock<BWindow> lock(srcWindow);
|
AutoLock<BWindow> lock(srcWindow);
|
||||||
if (!lock)
|
if (!lock)
|
||||||
return;
|
return;
|
||||||
@@ -4387,6 +4387,7 @@ BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case kMoveSelectionTo:
|
case kMoveSelectionTo:
|
||||||
|
forceMove = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kCopySelectionTo:
|
case kCopySelectionTo:
|
||||||
@@ -4445,6 +4446,8 @@ BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
|||||||
uint32 moveMode;
|
uint32 moveMode;
|
||||||
if (forceCopy)
|
if (forceCopy)
|
||||||
moveMode = kCopySelectionTo;
|
moveMode = kCopySelectionTo;
|
||||||
|
else if (forceMove)
|
||||||
|
moveMode = kMoveSelectionTo;
|
||||||
else if (createRelativeLink)
|
else if (createRelativeLink)
|
||||||
moveMode = kCreateRelativeLink;
|
moveMode = kCreateRelativeLink;
|
||||||
else if (createLink)
|
else if (createLink)
|
||||||
@@ -4490,6 +4493,7 @@ BPoseView::MoveSelectionTo(BPoint dropPt, BPoint clickPt,
|
|||||||
uint32 buttons = (uint32)window->CurrentMessage()->FindInt32("buttons");
|
uint32 buttons = (uint32)window->CurrentMessage()->FindInt32("buttons");
|
||||||
bool createLink = false;
|
bool createLink = false;
|
||||||
bool forceCopy = false;
|
bool forceCopy = false;
|
||||||
|
bool forceMove = false;
|
||||||
bool createRelativeLink = false;
|
bool createRelativeLink = false;
|
||||||
bool dropOnGrid = (modifiers() & B_COMMAND_KEY) != 0;
|
bool dropOnGrid = (modifiers() & B_COMMAND_KEY) != 0;
|
||||||
|
|
||||||
@@ -4505,6 +4509,7 @@ BPoseView::MoveSelectionTo(BPoint dropPt, BPoint clickPt,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case kMoveSelectionTo:
|
case kMoveSelectionTo:
|
||||||
|
forceMove = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kCopySelectionTo:
|
case kCopySelectionTo:
|
||||||
@@ -4599,6 +4604,8 @@ BPoseView::MoveSelectionTo(BPoint dropPt, BPoint clickPt,
|
|||||||
uint32 moveMode;
|
uint32 moveMode;
|
||||||
if (forceCopy)
|
if (forceCopy)
|
||||||
moveMode = kCopySelectionTo;
|
moveMode = kCopySelectionTo;
|
||||||
|
else if (forceMove)
|
||||||
|
moveMode = kMoveSelectionTo;
|
||||||
else if (createRelativeLink)
|
else if (createRelativeLink)
|
||||||
moveMode = kCreateRelativeLink;
|
moveMode = kCreateRelativeLink;
|
||||||
else if (createLink)
|
else if (createLink)
|
||||||
|
|||||||
@@ -329,10 +329,10 @@ class BPoseView : public BView {
|
|||||||
virtual void DragSelectionRect(BPoint, bool extendSelection);
|
virtual void DragSelectionRect(BPoint, bool extendSelection);
|
||||||
|
|
||||||
void MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
void MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
||||||
bool forceCopy, bool createLink = false, bool relativeLink = false);
|
bool forceCopy, bool forceMove = false, bool createLink = false, bool relativeLink = false);
|
||||||
static void MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
static void MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
|
||||||
BContainerWindow *destWindow, uint32 buttons, BPoint loc,
|
BContainerWindow *destWindow, uint32 buttons, BPoint loc,
|
||||||
bool forceCopy, bool createLink = false, bool relativeLink = false);
|
bool forceCopy, bool forceMove = false, bool createLink = false, bool relativeLink = false);
|
||||||
|
|
||||||
bool UpdateDropTarget(BPoint, const BMessage *, bool trackingContextMenu);
|
bool UpdateDropTarget(BPoint, const BMessage *, bool trackingContextMenu);
|
||||||
// return true if drop target changed
|
// return true if drop target changed
|
||||||
|
|||||||
Reference in New Issue
Block a user