From daa922db12d8387fefa0952dc06697614de0175f Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 2 Aug 2017 22:53:35 +0300 Subject: Dont draw name in skill shortcuts if icon already present. --- src/gui/widgets/itemshortcutcontainer.cpp | 32 +++++++++++++++++-------------- src/gui/windows/skilldialog.cpp | 20 ++++++++++++++++--- 2 files changed, 35 insertions(+), 17 deletions(-) (limited to 'src/gui') diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp index 915923610..e99230216 100644 --- a/src/gui/widgets/itemshortcutcontainer.cpp +++ b/src/gui/widgets/itemshortcutcontainer.cpp @@ -208,13 +208,15 @@ void ItemShortcutContainer::draw(Graphics *const graphics) image->setAlpha(1.0F); graphics->drawImage(image, itemX, itemY); } - - font->drawString(graphics, - mForegroundColor, - mForegroundColor, - skill->data->shortName, - itemX + 2, - itemY + mBoxHeight / 2); + if (!skill->data->haveIcon) + { + font->drawString(graphics, + mForegroundColor, + mForegroundColor, + skill->data->shortName, + itemX + 2, + itemY + mBoxHeight / 2); + } } } } @@ -345,13 +347,15 @@ void ItemShortcutContainer::safeDraw(Graphics *const graphics) image->setAlpha(1.0F); graphics->drawImage(image, itemX, itemY); } - - font->drawString(graphics, - mForegroundColor, - mForegroundColor, - skill->data->shortName, - itemX + 2, - itemY + mBoxHeight / 2); + if (!skill->data->haveIcon) + { + font->drawString(graphics, + mForegroundColor, + mForegroundColor, + skill->data->shortName, + itemX + 2, + itemY + mBoxHeight / 2); + } } } } diff --git a/src/gui/windows/skilldialog.cpp b/src/gui/windows/skilldialog.cpp index fdc1b7409..2305cd58b 100644 --- a/src/gui/windows/skilldialog.cpp +++ b/src/gui/windows/skilldialog.cpp @@ -536,9 +536,15 @@ void SkillDialog::loadSkillData(XmlNodeConstPtr node, data->name = name; const std::string icon = XML::getProperty(node, "icon", ""); if (icon.empty()) + { data->setIcon(paths.getStringValue("missingSkillIcon")); + data->haveIcon = false; + } else + { data->setIcon(icon); + data->haveIcon = true; + } if (skill->id < SKILL_VAR_MIN_ID) { data->dispName = strprintf("%s, %u", @@ -673,8 +679,6 @@ std::string SkillDialog::getDefaultSkillIcon(const SkillType::SkillType type) default: break; } - if (icon.empty()) - return paths.getStringValue("missingSkillIcon"); return icon; } @@ -705,7 +709,17 @@ void SkillDialog::addSkill(const SkillOwner::Type owner, data->dispName = strprintf("%s, %u", name.c_str(), skill->id); } data->description.clear(); - data->setIcon(getDefaultSkillIcon(type)); + const std::string icon = getDefaultSkillIcon(type); + if (icon.empty()) + { + data->setIcon(paths.getStringValue("missingSkillIcon")); + data->haveIcon = false; + } + else + { + data->setIcon(icon); + data->haveIcon = true; + } data->shortName = toString(skill->id); skill->modifiable = modifiable; skill->visible = Visible_false; -- cgit v1.2.3-60-g2f50