diff options
Diffstat (limited to 'src/gui/windowmenu.cpp')
-rw-r--r-- | src/gui/windowmenu.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/gui/windowmenu.cpp b/src/gui/windowmenu.cpp index 7011c82a..5f7aefa7 100644 --- a/src/gui/windowmenu.cpp +++ b/src/gui/windowmenu.cpp @@ -61,7 +61,7 @@ WindowMenu::WindowMenu(): // if (specialsWindow->hasSpecials()) addButton(N_("Specials"), x, h); - addButton(N_("Social"), x, h); + addButton(N_("Social"), x, h, "button-icon-social.png"); addButton(N_("Shortcut"), x, h); addButton(N_("Setup"), x, h); @@ -156,12 +156,22 @@ void WindowMenu::valueChanged(const gcn::SelectionEvent &event) } } -void WindowMenu::addButton(const char* text, int &x, int &h) +void WindowMenu::addButton(const std::string& text, int &x, int &h, + const std::string& iconPath) { - Button *btn = new Button(gettext(text), text, this); - btn->setButtonPopupText(gettext(text)); + Button *btn = new Button("", text, this); + if (!iconPath.empty()) + { + btn->setButtonPopupText(gettext(text.c_str())); + btn->setButtonIcon(iconPath); + } + else + { + btn->setCaption(gettext(text.c_str())); + } + btn->setPosition(x, 0); add(btn); x += btn->getWidth() + 3; - h = btn->getHeight(); + h = std::max(h, btn->getHeight()); } |