diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-03-11 02:55:31 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-03-11 02:55:31 +0300 |
commit | 7f905e347c1312b4e64e466f845dc5edb5fc4867 (patch) | |
tree | 41563de9555a4ce2bddd39a548d371837da49f5f | |
parent | 501f9934731114562c3659918d9d7b39625eb7b5 (diff) | |
download | manaplus-7f905e347c1312b4e64e466f845dc5edb5fc4867.tar.gz manaplus-7f905e347c1312b4e64e466f845dc5edb5fc4867.tar.bz2 manaplus-7f905e347c1312b4e64e466f845dc5edb5fc4867.tar.xz manaplus-7f905e347c1312b4e64e466f845dc5edb5fc4867.zip |
Fix use button in skills dialog if switching tabs.
Add drawing skill image in shortcuts bar.
-rw-r--r-- | src/gui/skilldialog.cpp | 18 | ||||
-rw-r--r-- | src/gui/skilldialog.h | 2 | ||||
-rw-r--r-- | src/gui/widgets/itemshortcutcontainer.cpp | 8 |
3 files changed, 28 insertions, 0 deletions
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<SkillTab*>(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<int, SkillInfo*> 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); } |