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:
Rene Gollent 2009-01-29 22:21:22 +00:00
parent 734ab97cfa
commit 12f46bebca
3 changed files with 14 additions and 7 deletions

View File

@ -1438,7 +1438,7 @@ BContainerWindow::MessageReceived(BMessage *message)
if (model.InitCheck() != B_OK)
break;
PoseView()->MoveSelectionInto(&model, this, false);
PoseView()->MoveSelectionInto(&model, this, false, true);
break;
}

View File

@ -4347,21 +4347,21 @@ CopySelectionListToBListAsEntryRefs(const PoseList *original, BObjectList<entry_
void
BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
bool forceCopy, bool createLink, bool relativeLink)
bool forceCopy, bool forceMove, bool createLink, bool relativeLink)
{
uint32 buttons;
BPoint loc;
GetMouse(&loc, &buttons);
MoveSelectionInto(destFolder, srcWindow, dynamic_cast<BContainerWindow*>(Window()),
buttons, loc, forceCopy, createLink, relativeLink);
buttons, loc, forceCopy, forceMove, createLink, relativeLink);
}
void
BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
BContainerWindow *destWindow, uint32 buttons, BPoint loc, bool forceCopy,
bool createLink, bool relativeLink)
{
bool forceMove, bool createLink, bool relativeLink)
{
AutoLock<BWindow> lock(srcWindow);
if (!lock)
return;
@ -4387,6 +4387,7 @@ BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
break;
case kMoveSelectionTo:
forceMove = true;
break;
case kCopySelectionTo:
@ -4445,6 +4446,8 @@ BPoseView::MoveSelectionInto(Model *destFolder, BContainerWindow *srcWindow,
uint32 moveMode;
if (forceCopy)
moveMode = kCopySelectionTo;
else if (forceMove)
moveMode = kMoveSelectionTo;
else if (createRelativeLink)
moveMode = kCreateRelativeLink;
else if (createLink)
@ -4490,6 +4493,7 @@ BPoseView::MoveSelectionTo(BPoint dropPt, BPoint clickPt,
uint32 buttons = (uint32)window->CurrentMessage()->FindInt32("buttons");
bool createLink = false;
bool forceCopy = false;
bool forceMove = false;
bool createRelativeLink = false;
bool dropOnGrid = (modifiers() & B_COMMAND_KEY) != 0;
@ -4505,6 +4509,7 @@ BPoseView::MoveSelectionTo(BPoint dropPt, BPoint clickPt,
break;
case kMoveSelectionTo:
forceMove = true;
break;
case kCopySelectionTo:
@ -4599,6 +4604,8 @@ BPoseView::MoveSelectionTo(BPoint dropPt, BPoint clickPt,
uint32 moveMode;
if (forceCopy)
moveMode = kCopySelectionTo;
else if (forceMove)
moveMode = kMoveSelectionTo;
else if (createRelativeLink)
moveMode = kCreateRelativeLink;
else if (createLink)

View File

@ -329,10 +329,10 @@ class BPoseView : public BView {
virtual void DragSelectionRect(BPoint, bool extendSelection);
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,
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);
// return true if drop target changed