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-08-11 02:39:48 +0200
commitd956102647a5b53dab359290568c6caabd5f75e0 (patch)
treec209d64690a0caac962a7caf6dffbcc0a45a0fb9 /src/gui/widgets/button.cpp
parent6a2d8e712aefbec19e870ad8799936cbe5786783 (diff)
downloadmana-client-d956102647a5b53dab359290568c6caabd5f75e0.tar.gz
mana-client-d956102647a5b53dab359290568c6caabd5f75e0.tar.bz2
mana-client-d956102647a5b53dab359290568c6caabd5f75e0.tar.xz
mana-client-d956102647a5b53dab359290568c6caabd5f75e0.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()