diff options
Diffstat (limited to 'src/gui/widgets/dropshortcutcontainer.cpp')
-rw-r--r-- | src/gui/widgets/dropshortcutcontainer.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/gui/widgets/dropshortcutcontainer.cpp b/src/gui/widgets/dropshortcutcontainer.cpp index fcd708bdc..aa4e1d829 100644 --- a/src/gui/widgets/dropshortcutcontainer.cpp +++ b/src/gui/widgets/dropshortcutcontainer.cpp @@ -207,7 +207,20 @@ void DropShortcutContainer::mousePressed(gcn::MouseEvent &event) if (event.getButton() == gcn::MouseEvent::LEFT) { - mItemClicked = true; + if (dropShortcut->getItem(index) > 0) + { + mItemClicked = true; + } + else + { + Item *const selected = dragDrop.getSelected(); + if (selected) + { + dropShortcut->setItems(index, selected->getId(), + selected->getColor()); + dragDrop.deselect(); + } + } } else if (event.getButton() == gcn::MouseEvent::RIGHT) { @@ -246,6 +259,7 @@ void DropShortcutContainer::mouseReleased(gcn::MouseEvent &event) { dropShortcut->setItems(index, item->getId(), item->getColor()); dragDrop.clear(); + dragDrop.deselect(); } } |