summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-08-14 20:50:08 +0300
committerAndrei Karas <akaras@inbox.ru>2016-08-14 22:54:59 +0300
commit0204a75a049d6819719cf41ac92116012ed50d86 (patch)
treed2723719f22628a612c17b0f977054610c5720fd /src/gui
parent3fc421539bc81f27262b91554694509f3e47f865 (diff)
downloadmv-0204a75a049d6819719cf41ac92116012ed50d86.tar.gz
mv-0204a75a049d6819719cf41ac92116012ed50d86.tar.bz2
mv-0204a75a049d6819719cf41ac92116012ed50d86.tar.xz
mv-0204a75a049d6819719cf41ac92116012ed50d86.zip
Allow drag cast type from skills window into shortcuts.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/shortcut/itemshortcut.h4
-rw-r--r--src/gui/widgets/itemshortcutcontainer.cpp5
-rw-r--r--src/gui/widgets/skilllistbox.h3
3 files changed, 12 insertions, 0 deletions
diff --git a/src/gui/shortcut/itemshortcut.h b/src/gui/shortcut/itemshortcut.h
index 4f223478f..2f1b10569 100644
--- a/src/gui/shortcut/itemshortcut.h
+++ b/src/gui/shortcut/itemshortcut.h
@@ -73,6 +73,10 @@ class ItemShortcut final
ItemColor getItemColor(const int index) const A_WARN_UNUSED
{ return mItemColors[index]; }
+ void setItemData(const int index,
+ const std::string &data)
+ { mItemData[index] = data; }
+
std::string getItemData(const int index) const A_WARN_UNUSED
{ return mItemData[index]; }
diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp
index 7b6df7644..60519699e 100644
--- a/src/gui/widgets/itemshortcutcontainer.cpp
+++ b/src/gui/widgets/itemshortcutcontainer.cpp
@@ -432,12 +432,15 @@ void ItemShortcutContainer::mouseDragged(MouseEvent &event)
= skillDialog->getSkillByItem(itemId);
if (skill)
{
+ const std::string itemData = selShortcut->getItemData(
+ index);
selShortcut->removeItem(index);
dragDrop.dragSkill(skill,
DragDropSource::Shortcuts,
index);
dragDrop.setItem(itemId);
dragDrop.setItemColor(itemColor);
+ dragDrop.setItemData(itemData);
}
else
{
@@ -522,6 +525,8 @@ void ItemShortcutContainer::mouseReleased(MouseEvent &event)
}
else
{
+ selShortcut->setItemData(index,
+ dragDrop.getItemData());
selShortcut->setItem(index, dragDrop.getItem(),
dragDrop.getItemColor());
}
diff --git a/src/gui/widgets/skilllistbox.h b/src/gui/widgets/skilllistbox.h
index 533d12b5e..ab45c5122 100644
--- a/src/gui/widgets/skilllistbox.h
+++ b/src/gui/widgets/skilllistbox.h
@@ -220,6 +220,9 @@ class SkillListBox final : public ListBox
return;
dragDrop.dragSkill(skill, DragDropSource::Skills);
dragDrop.setItem(skill->id + SKILL_MIN_ID);
+ // +++ using only cast type in data
+ dragDrop.setItemData(toString(CAST_S32(
+ skill->customCastType)));
}
ListBox::mouseDragged(event);
}