From 255b1c29f47ef3b1e7a9b058c56ef72bfa10c5e3 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 15 Sep 2011 00:50:47 +0300 Subject: Add buttons Themes, Video, Perfomance in select server screen. --- src/gui/setup.cpp | 22 ++++++++++++++++++++++ src/gui/setup.h | 2 ++ src/gui/widgets/tabbedarea.cpp | 13 +++++++++++++ src/gui/widgets/tabbedarea.h | 2 ++ 4 files changed, 39 insertions(+) (limited to 'src/gui') diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp index 33f379743..ae7a3109c 100644 --- a/src/gui/setup.cpp +++ b/src/gui/setup.cpp @@ -198,4 +198,26 @@ void Setup::doCancel() for_each(mTabs.begin(), mTabs.end(), std::mem_fun(&SetupTab::cancel)); } +void Setup::activateTab(const std::string &name) +{ + std::string tmp = gettext(name.c_str()); + mPanel->setSelectedTab(tmp); +/* + for (std::list::const_iterator it = mTabs.begin(); + it != mTabs.end(); ++it) + { + if (*it) + { + SetupTab *tab = *it; + logger->log("check tab: " + tab->getName()); + if (tab->getName() == tmp) + { + mPanel->setSelectedTab(name); + return; + } + } + } +*/ +} + Setup *setupWindow; diff --git a/src/gui/setup.h b/src/gui/setup.h index cdaf7db99..b499da4ee 100644 --- a/src/gui/setup.h +++ b/src/gui/setup.h @@ -73,6 +73,8 @@ class Setup : public Window, public gcn::ActionListener void doCancel(); + void activateTab(const std::string &name); + private: std::list mTabs; std::list mWindowsToReset; diff --git a/src/gui/widgets/tabbedarea.cpp b/src/gui/widgets/tabbedarea.cpp index 940dad12a..47b02c925 100644 --- a/src/gui/widgets/tabbedarea.cpp +++ b/src/gui/widgets/tabbedarea.cpp @@ -241,6 +241,19 @@ void TabbedArea::setSelectedTab(gcn::Tab *tab) widgetResized(NULL); } +void TabbedArea::setSelectedTab(const std::string &name) +{ + for (TabContainer::const_iterator itr = mTabs.begin(), + itr_end = mTabs.end(); itr != itr_end; ++itr) + { + if ((*itr).first && (*itr).first->getCaption() == name) + { + setSelectedTab((*itr).first); + return; + } + } +} + void TabbedArea::widgetResized(const gcn::Event &event A_UNUSED) { int width = getWidth() - 2 * getFrameSize() diff --git a/src/gui/widgets/tabbedarea.h b/src/gui/widgets/tabbedarea.h index a91b4c199..3ad113b4c 100644 --- a/src/gui/widgets/tabbedarea.h +++ b/src/gui/widgets/tabbedarea.h @@ -122,6 +122,8 @@ class TabbedArea : public gcn::TabbedArea, public gcn::WidgetListener void setSelectedTab(gcn::Tab *tab); + void setSelectedTab(const std::string &name); + void widgetResized(const gcn::Event &event); /* -- cgit v1.2.3-70-g09d2