From 0204a75a049d6819719cf41ac92116012ed50d86 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 14 Aug 2016 20:50:08 +0300 Subject: Allow drag cast type from skills window into shortcuts. --- src/gui/shortcut/itemshortcut.h | 4 ++++ src/gui/widgets/itemshortcutcontainer.cpp | 5 +++++ src/gui/widgets/skilllistbox.h | 3 +++ 3 files changed, 12 insertions(+) (limited to 'src/gui') 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); } -- cgit v1.2.3-60-g2f50