summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/widgets/skillinfo.h9
-rw-r--r--src/gui/windows/skilldialog.cpp15
2 files changed, 10 insertions, 14 deletions
diff --git a/src/gui/widgets/skillinfo.h b/src/gui/widgets/skillinfo.h
index 10d6191df..aa92b4bcb 100644
--- a/src/gui/widgets/skillinfo.h
+++ b/src/gui/widgets/skillinfo.h
@@ -65,10 +65,15 @@ struct SkillInfo final
void update();
- SkillData *getData(const int level) const;
- SkillData *getData1(const int level) const;
+ SkillData *getData(const int level) const A_WARN_UNUSED;
+ SkillData *getData1(const int level) const A_WARN_UNUSED;
void addData(const int level, SkillData *const data);
+
+ bool isUsable() const A_WARN_UNUSED
+ {
+ return type == SkillType::Attack || type == SkillType::Self;
+ }
};
typedef std::vector<SkillInfo*> SkillList;
diff --git a/src/gui/windows/skilldialog.cpp b/src/gui/windows/skilldialog.cpp
index 5b70f685b..8784ded34 100644
--- a/src/gui/windows/skilldialog.cpp
+++ b/src/gui/windows/skilldialog.cpp
@@ -125,17 +125,8 @@ void SkillDialog::action(const ActionEvent &event)
{
if (const SkillInfo *const info = tab->getSelectedInfo())
{
- if (info && info->data && info->useButton.empty()
- && info->data->description.empty())
- {
- mUseButton->setEnabled(true);
- mUseButton->setCaption(_("Use"));
- }
- else
- {
- mUseButton->setEnabled(info->range > 0);
- mUseButton->setCaption(info->useButton);
- }
+ mUseButton->setEnabled(info->isUsable());
+ mUseButton->setCaption(info->useButton);
mIncreaseButton->setEnabled(info->id < SKILL_VAR_MIN_ID);
const int num = itemShortcutWindow->getTabIndex();
if (num >= 0 && num < static_cast<int>(SHORTCUT_TABS)
@@ -397,7 +388,7 @@ void SkillDialog::addSkill(const int id,
skill->skillLevel = strprintf(_("Lvl: %d"), level);
skill->range = range;
skill->update();
-
+ skill->useButton = _("Use");
mDefaultModel->addSkill(skill);
mSkills[id] = skill;