diff options
author | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-07-09 15:32:05 +0200 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-08-11 02:39:48 +0200 |
commit | d956102647a5b53dab359290568c6caabd5f75e0 (patch) | |
tree | c209d64690a0caac962a7caf6dffbcc0a45a0fb9 /src/gui/widgets/button.cpp | |
parent | 6a2d8e712aefbec19e870ad8799936cbe5786783 (diff) | |
download | mana-d956102647a5b53dab359290568c6caabd5f75e0.tar.gz mana-d956102647a5b53dab359290568c6caabd5f75e0.tar.bz2 mana-d956102647a5b53dab359290568c6caabd5f75e0.tar.xz mana-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.cpp | 13 |
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() |