summaryrefslogtreecommitdiff
path: root/src/gui/widgets/dropshortcutcontainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/widgets/dropshortcutcontainer.cpp')
-rw-r--r--src/gui/widgets/dropshortcutcontainer.cpp16
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();
}
}