diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-09-11 04:24:30 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-09-11 04:24:30 +0300 |
commit | db4361d9f7652104e818cf9a2a0f326e1c607fb8 (patch) | |
tree | 57587f5fa82826aa428cbf639f1f942952785c0c /src/gui/widgets/popup.cpp | |
parent | 632c1797013d8b0a987ab68341b50354afdb1f9d (diff) | |
download | plus-db4361d9f7652104e818cf9a2a0f326e1c607fb8.tar.gz plus-db4361d9f7652104e818cf9a2a0f326e1c607fb8.tar.bz2 plus-db4361d9f7652104e818cf9a2a0f326e1c607fb8.tar.xz plus-db4361d9f7652104e818cf9a2a0f326e1c607fb8.zip |
Add own xml configuration for missing windows.
Diffstat (limited to 'src/gui/widgets/popup.cpp')
-rw-r--r-- | src/gui/widgets/popup.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/gui/widgets/popup.cpp b/src/gui/widgets/popup.cpp index ebfdbe303..ac282b088 100644 --- a/src/gui/widgets/popup.cpp +++ b/src/gui/widgets/popup.cpp @@ -40,7 +40,7 @@ #include "debug.h" -Popup::Popup(const std::string &name, const std::string &skin): +Popup::Popup(const std::string &name, std::string skin): mPopupName(name), mMinWidth(100), mMinHeight(40), @@ -58,8 +58,20 @@ Popup::Popup(const std::string &name, const std::string &skin): setPadding(3); + if (skin == "") + skin = "popup.xml"; + // Loads the skin - mSkin = Theme::instance()->load(skin); + if (Theme::instance()) + { + mSkin = Theme::instance()->load(skin); + if (mSkin) + setPadding(mSkin->getPadding()); + } + else + { + mSkin = 0; + } // Add this window to the window container windowContainer->add(this); @@ -76,7 +88,11 @@ Popup::~Popup() mVertexes = 0; if (mSkin) - mSkin->instances--; + { + if (Theme::instance()) + Theme::instance()->unload(mSkin); + mSkin = 0; + } } void Popup::setWindowContainer(WindowContainer *wc) |