diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-02-01 01:04:24 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-02-01 01:04:24 +0300 |
commit | 51126f28cb4b258ba9711fa294652ed87f2451b8 (patch) | |
tree | 33fe16e876074f72c5f46a31f9735c3cf83fd70b | |
parent | 3a54cf61c4ea127a16ca11c515906a5f419b97df (diff) | |
download | manaplus-51126f28cb4b258ba9711fa294652ed87f2451b8.tar.gz manaplus-51126f28cb4b258ba9711fa294652ed87f2451b8.tar.bz2 manaplus-51126f28cb4b258ba9711fa294652ed87f2451b8.tar.xz manaplus-51126f28cb4b258ba9711fa294652ed87f2451b8.zip |
Fix some resize issues in setup window.
-rw-r--r-- | src/gui/setup.cpp | 25 | ||||
-rw-r--r-- | src/gui/setup.h | 2 | ||||
-rw-r--r-- | src/gui/widgets/setuptab.cpp | 3 | ||||
-rw-r--r-- | src/gui/widgets/setuptab.h | 5 | ||||
-rw-r--r-- | src/gui/widgets/setuptabscroll.cpp | 6 | ||||
-rw-r--r-- | src/gui/widgets/setuptabscroll.h | 2 |
6 files changed, 34 insertions, 9 deletions
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp index 659571d67..8961c2d56 100644 --- a/src/gui/setup.cpp +++ b/src/gui/setup.cpp @@ -55,7 +55,8 @@ Setup::Setup(): Window(_("Setup"), false, nullptr, "setup.xml"), gcn::ActionListener(), mResetWindows(nullptr), - mPanel(new TabbedArea(this)) + mPanel(new TabbedArea(this)), + mVersion(new Label(this, FULL_VERSION)) { setCloseButton(true); setResizable(true); @@ -68,7 +69,8 @@ Setup::Setup(): width += 100; setContentSize(width, height); - //setMaxHeight(height); + setMinWidth(310); + setMinHeight(210); static const char *buttonNames[] = { @@ -118,18 +120,16 @@ Setup::Setup(): add(mPanel); - Label *const version = new Label(this, FULL_VERSION); -// version->setPosition(9, height - version->getHeight() - 9); if (mResetWindows) { - version->setPosition(9, - height - version->getHeight() - mResetWindows->getHeight() - 9); + mVersion->setPosition(9, + height - mVersion->getHeight() - mResetWindows->getHeight() - 9); } else { - version->setPosition(9, height - version->getHeight() - 30); + mVersion->setPosition(9, height - mVersion->getHeight() - 30); } - add(version); + add(mVersion); center(); @@ -231,6 +231,15 @@ void Setup::widgetResized(const gcn::Event &event) x -= btn->getWidth() + buttonPadding; btn->setPosition(x, height - btn->getHeight() - buttonPadding); } + if (mResetWindows) + { + mVersion->setPosition(9, + height - mVersion->getHeight() - mResetWindows->getHeight() - 9); + } + else + { + mVersion->setPosition(9, height - mVersion->getHeight() - 30); + } } Setup *setupWindow; diff --git a/src/gui/setup.h b/src/gui/setup.h index 860bd5a33..81d3ff256 100644 --- a/src/gui/setup.h +++ b/src/gui/setup.h @@ -31,6 +31,7 @@ #include <list> +class Label; class SetupTab; /** @@ -86,6 +87,7 @@ class Setup final : public Window, public gcn::ActionListener std::vector<Button*> mButtons; Button *mResetWindows; TabbedArea *mPanel; + Label *mVersion; }; extern Setup* setupWindow; diff --git a/src/gui/widgets/setuptab.cpp b/src/gui/widgets/setuptab.cpp index 690b09f49..227b74d98 100644 --- a/src/gui/widgets/setuptab.cpp +++ b/src/gui/widgets/setuptab.cpp @@ -22,6 +22,8 @@ #include "gui/widgets/setuptab.h" +#include "logger.h" + #include "debug.h" SetupTab::SetupTab(const Widget2 *const widget) : @@ -29,6 +31,7 @@ SetupTab::SetupTab(const Widget2 *const widget) : gcn::ActionListener() { setOpaque(false); + addWidgetListener(this); } void SetupTab::externalUpdated() diff --git a/src/gui/widgets/setuptab.h b/src/gui/widgets/setuptab.h index 8ffab10d1..7d0c45d17 100644 --- a/src/gui/widgets/setuptab.h +++ b/src/gui/widgets/setuptab.h @@ -26,6 +26,7 @@ #include "gui/widgets/container.h" #include <guichan/actionlistener.hpp> +#include <guichan/widgetlistener.hpp> #include <string> @@ -34,7 +35,9 @@ /** * A container for the contents of a tab in the setup window. */ -class SetupTab : public Container, public gcn::ActionListener +class SetupTab : public Container, + public gcn::ActionListener, + public gcn::WidgetListener { public: SetupTab(const Widget2 *const widget); diff --git a/src/gui/widgets/setuptabscroll.cpp b/src/gui/widgets/setuptabscroll.cpp index aac5cf0e8..64060aaad 100644 --- a/src/gui/widgets/setuptabscroll.cpp +++ b/src/gui/widgets/setuptabscroll.cpp @@ -118,3 +118,9 @@ void SetupTabScroll::externalUpdated() widget->externalUpdated((*iter).first); } } + +void SetupTabScroll::widgetResized(const gcn::Event &event) +{ + mScroll->setWidth(getWidth() - 12); + mScroll->setHeight(getHeight() - 12 - 12); +} diff --git a/src/gui/widgets/setuptabscroll.h b/src/gui/widgets/setuptabscroll.h index 70ac756cb..e90ce28c2 100644 --- a/src/gui/widgets/setuptabscroll.h +++ b/src/gui/widgets/setuptabscroll.h @@ -60,6 +60,8 @@ class SetupTabScroll : public SetupTab int getPreferredFirstItemSize() A_WARN_UNUSED { return mPreferredFirstItemSize; } + void widgetResized(const gcn::Event &event) override; + protected: VertContainer *mContainer; ScrollArea *mScroll; |