summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2012-02-03 10:53:19 +0100
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2012-02-03 14:38:20 +0100
commit86c4819bee1bcd990b6be20f36dcb26938acac8e (patch)
treecb43808529b6bd0e7d540803630e03f33ee3c26d
parent19bc88f34713968864922f8f3f2342d10c4f4dbd (diff)
downloadmana-client-86c4819bee1bcd990b6be20f36dcb26938acac8e.tar.gz
mana-client-86c4819bee1bcd990b6be20f36dcb26938acac8e.tar.bz2
mana-client-86c4819bee1bcd990b6be20f36dcb26938acac8e.tar.xz
mana-client-86c4819bee1bcd990b6be20f36dcb26938acac8e.zip
Changed the setup button at login stage to use the icon.
I also made the button not readjust its size when deleted to avoid a crash. Reviewed-by: Erik Schilling
-rw-r--r--src/client.cpp4
-rw-r--r--src/gui/widgets/button.cpp8
-rw-r--r--src/gui/widgets/button.h2
3 files changed, 9 insertions, 5 deletions
diff --git a/src/client.cpp b/src/client.cpp
index d50257f2..538ecb54 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -581,7 +581,9 @@ int Client::exec()
mDesktop = new Desktop;
top->add(mDesktop);
- mSetupButton = new Button(_("Setup"), "Setup", this);
+ mSetupButton = new Button("", "Setup", this);
+ mSetupButton->setButtonPopupText(_("Setup"));
+ mSetupButton->setButtonIcon("button-icon-setup.png");
mSetupButton->setPosition(top->getWidth() - mSetupButton->getWidth()
- 3, 3);
top->add(mSetupButton);
diff --git a/src/gui/widgets/button.cpp b/src/gui/widgets/button.cpp
index 00e781e0..4a31fa63 100644
--- a/src/gui/widgets/button.cpp
+++ b/src/gui/widgets/button.cpp
@@ -118,7 +118,7 @@ bool Button::setButtonIcon(const std::string& iconFile)
return (mButtonIcon);
}
-void Button::removeButtonIcon()
+void Button::removeButtonIcon(bool adjustButtonSize)
{
if (!mButtonIcon)
return;
@@ -132,7 +132,8 @@ void Button::removeButtonIcon()
delete[] mButtonIcon;
mButtonIcon = 0;
- adjustSize();
+ if (adjustButtonSize)
+ adjustSize();
}
void Button::init()
@@ -190,7 +191,8 @@ Button::~Button()
delete mTextPopup;
mTextPopup = 0;
}
- removeButtonIcon();
+ // Don' try to readjust the size when it's about to be deleted.
+ removeButtonIcon(false);
}
void Button::updateAlpha()
diff --git a/src/gui/widgets/button.h b/src/gui/widgets/button.h
index 467a9125..f07bb913 100644
--- a/src/gui/widgets/button.h
+++ b/src/gui/widgets/button.h
@@ -89,7 +89,7 @@ class Button : public gcn::Button
private:
void init();
- void removeButtonIcon();
+ void removeButtonIcon(bool adjustButtonSize = true);
static ImageRect* mButton; /**< Button state graphics */
static int mInstances; /**< Number of button instances */