summaryrefslogtreecommitdiff
path: root/src/gui/widgets/button.cpp
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-07-09 15:32:05 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-09-28 18:32:51 +0200
commit7bdae3a386c07e553e1d5667709bb78acaf51223 (patch)
treedf2b64e1551f2bfa2a20ab90c80f3606a6a0ee43 /src/gui/widgets/button.cpp
parent8842689ccbfdef8da1f651e8493dc4dff7474433 (diff)
downloadmana-client-7bdae3a386c07e553e1d5667709bb78acaf51223.tar.gz
mana-client-7bdae3a386c07e553e1d5667709bb78acaf51223.tar.bz2
mana-client-7bdae3a386c07e553e1d5667709bb78acaf51223.tar.xz
mana-client-7bdae3a386c07e553e1d5667709bb78acaf51223.zip
Made the button icon only shown when the icon file is valid.
And falls back to the text based caption otherwise.
Diffstat (limited to 'src/gui/widgets/button.cpp')
-rw-r--r--src/gui/widgets/button.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/gui/widgets/button.cpp b/src/gui/widgets/button.cpp
index 6770c180..61ec28a2 100644
--- a/src/gui/widgets/button.cpp
+++ b/src/gui/widgets/button.cpp
@@ -83,7 +83,7 @@ Button::Button(const std::string &caption, const std::string &actionEventId,
adjustSize();
}
-void Button::setButtonIcon(const std::string& iconFile)
+bool Button::setButtonIcon(const std::string& iconFile)
{
// We clean up possible older references.
if (mButtonIcon)
@@ -91,18 +91,18 @@ void Button::setButtonIcon(const std::string& iconFile)
// If nothing relevant was set, we can quit now.
if (iconFile.empty())
- return;
+ return false;
// Load the icon frames.
Image *btnIcons = Theme::getImageFromTheme(iconFile);
if (!btnIcons)
- return;
+ return false;
// Compute the sub images size.
- int frameWidth = btnIcons->getWidth() / 4;
- int frameHeight = btnIcons->getHeight();
+ const int frameWidth = btnIcons->getWidth() / 4;
+ const int frameHeight = btnIcons->getHeight();
- if (btnIcons->getWidth() > 0 && btnIcons->getHeight() > 0)
+ if (frameWidth > 0 && frameHeight > 0)
{
mButtonIcon = new Image*[BUTTON_COUNT];
for (int mode = 0; mode < BUTTON_COUNT; ++mode)
@@ -115,6 +115,7 @@ void Button::setButtonIcon(const std::string& iconFile)
}
btnIcons->decRef();
+ return (mButtonIcon);
}
void Button::removeButtonIcon()