diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-10-28 02:49:12 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-10-28 02:49:12 +0300 |
commit | 170b471c8e43c3c3ed07d0ff15f9165ae57efe4a (patch) | |
tree | bab48e784ca8d7d46dc77d925686ec6101b1982f | |
parent | d1623c79377c31f5d93022e302952c94936a5b9a (diff) | |
download | plus-170b471c8e43c3c3ed07d0ff15f9165ae57efe4a.tar.gz plus-170b471c8e43c3c3ed07d0ff15f9165ae57efe4a.tar.bz2 plus-170b471c8e43c3c3ed07d0ff15f9165ae57efe4a.tar.xz plus-170b471c8e43c3c3ed07d0ff15f9165ae57efe4a.zip |
Extend window theming.
New theme options:
stickyPadding - padding for sticky button from top.
stickySpacing - space between sticky button and close button.
By default both parameters is 3.
-rw-r--r-- | src/gui/theme.cpp | 12 | ||||
-rw-r--r-- | src/gui/widgets/window.cpp | 5 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/gui/theme.cpp b/src/gui/theme.cpp index 54946984c..7331724d1 100644 --- a/src/gui/theme.cpp +++ b/src/gui/theme.cpp @@ -450,6 +450,8 @@ Skin *Theme::readSkin(const std::string &filename, const bool full) int titlePadding = 4; int titlebarHeight = 20; int closePadding = 3; + int stickySpacing = 3; + int stickyPadding = 3; int resizePadding = 2; std::map<std::string, int> *const mOptions = new std::map<std::string, int>(); @@ -507,6 +509,14 @@ Skin *Theme::readSkin(const std::string &filename, const bool full) { closePadding = XML::getProperty(partNode, "value", 3); } + else if (name == "stickySpacing") + { + stickySpacing = XML::getProperty(partNode, "value", 3); + } + else if (name == "stickyPadding") + { + stickyPadding = XML::getProperty(partNode, "value", 3); + } else if (name == "titlebarHeight") { titlebarHeight = XML::getProperty( @@ -536,6 +546,8 @@ Skin *Theme::readSkin(const std::string &filename, const bool full) dBorders->decRef(); (*mOptions)["closePadding"] = closePadding; + (*mOptions)["stickyPadding"] = stickyPadding; + (*mOptions)["stickySpacing"] = stickySpacing; (*mOptions)["titlebarHeight"] = titlebarHeight; (*mOptions)["resizePadding"] = resizePadding; diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp index 1a6eb334c..01d2bb923 100644 --- a/src/gui/widgets/window.cpp +++ b/src/gui/widgets/window.cpp @@ -421,12 +421,13 @@ void Window::widgetResized(const gcn::Event &event A_UNUSED) const Image *const button = mSkin->getStickyImage(mSticky); if (button) { - int x = mDimension.width - button->getWidth() - closePadding; + int x = mDimension.width - button->getWidth() + - getOption("stickySpacing"); if (showClose) x -= mSkin->getCloseImage(false)->getWidth() + closePadding; mStickyRect.x = x; - mStickyRect.y = closePadding; + mStickyRect.y = getOption("stickyPadding"); mStickyRect.width = button->getWidth(); mStickyRect.height = button->getHeight(); } |