When picking file destinations via the slow context popup, also do the copy vs move check based on device. Fixes ticket 4202.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32210 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rene Gollent 2009-08-08 19:36:27 +00:00
parent 2d6de22fb5
commit d726fd50a2

View File

@ -1587,9 +1587,20 @@ BContainerWindow::MessageReceived(BMessage *message)
entry.GetRef(&targetref);
// if they don't match, move/copy
if (targetref != parentref)
if (targetref != parentref) {
uint32 moveMode = kMoveSelectionTo;
node_ref targetNode;
node_ref parentNode;
if (entry.GetNodeRef(&targetNode) == B_OK
&& itemparent.GetNodeRef(&parentNode)
== B_OK) {
if (targetNode.device == parentNode.device)
moveMode = kCopySelectionTo;
}
// copy drag contents to target ref in message
FSMoveToFolder(list, new BEntry(entry), kMoveSelectionTo);
FSMoveToFolder(list, new BEntry(entry),
moveMode);
}
} else {
// current message sent to apps is only B_REFS_RECEIVED