From 7f905e347c1312b4e64e466f845dc5edb5fc4867 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 11 Mar 2012 02:55:31 +0300 Subject: Fix use button in skills dialog if switching tabs. Add drawing skill image in shortcuts bar. --- src/gui/skilldialog.cpp | 18 ++++++++++++++++++ src/gui/skilldialog.h | 2 ++ src/gui/widgets/itemshortcutcontainer.cpp | 8 ++++++++ 3 files changed, 28 insertions(+) (limited to 'src') diff --git a/src/gui/skilldialog.cpp b/src/gui/skilldialog.cpp index a930d3929..6008e97b0 100644 --- a/src/gui/skilldialog.cpp +++ b/src/gui/skilldialog.cpp @@ -216,6 +216,12 @@ public: return nullptr; } + void setCurrent() + { + if (skillDialog) + skillDialog->updateTabSelection(); + } + private: SkillListBox *mListBox; }; @@ -656,3 +662,15 @@ void SkillDialog::useItem(int itemId) } } } + +void SkillDialog::updateTabSelection() +{ + SkillTab *tab = static_cast(mTabs->getSelectedTab()); + if (tab) + { + if (SkillInfo *info = tab->getSelectedInfo()) + mUseButton->setEnabled(info->range > 0); + else + mUseButton->setEnabled(false); + } +} diff --git a/src/gui/skilldialog.h b/src/gui/skilldialog.h index 58c4bc42a..7fc09d5a6 100644 --- a/src/gui/skilldialog.h +++ b/src/gui/skilldialog.h @@ -119,6 +119,8 @@ class SkillDialog : public Window, public gcn::ActionListener void useItem(int itemId); + void updateTabSelection(); + private: typedef std::map SkillMap; SkillMap mSkills; diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp index 1c15ccf2b..381e3102d 100644 --- a/src/gui/widgets/itemshortcutcontainer.cpp +++ b/src/gui/widgets/itemshortcutcontainer.cpp @@ -191,6 +191,14 @@ void ItemShortcutContainer::draw(gcn::Graphics *graphics) SkillInfo *skill = skillDialog->getSkill(itemId - SKILL_MIN_ID); if (skill) { + Image* image = skill->icon; + + if (image) + { + image->setAlpha(1.0f); + g->drawImage(image, itemX, itemY); + } + g->drawText(skill->shortName, itemX + 2, itemY + mBoxHeight / 2, gcn::Graphics::LEFT); } -- cgit v1.2.3-70-g09d2