From 43d51d4a7c00bb425d004acf7eeb5e4aa4e969b0 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sat, 2 Apr 2005 19:07:14 +0000 Subject: Added ConfigListener class to allow listening for changes to config options, and added a GUI opacity slider to the setup window that utilizes this. --- src/gui/window.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/gui/window.cpp') diff --git a/src/gui/window.cpp b/src/gui/window.cpp index ab37dae8..c24b50ab 100644 --- a/src/gui/window.cpp +++ b/src/gui/window.cpp @@ -73,6 +73,7 @@ Window::Window(const std::string& caption, bool modal, Window *parent): // Set GUI alpha level dBackground->setAlpha(guiAlpha); dBorders->setAlpha(guiAlpha); + config.addListener("guialpha", this); } Window::~Window() @@ -84,6 +85,7 @@ Window::~Window() //release_bitmap(dMid); //release_bitmap(dRight); + config.removeListener("guialpha", this); delete chrome; } @@ -196,3 +198,17 @@ void Window::mouseMotion(int mx, int my) setPosition(x, y); } } + +void Window::optionChanged(const std::string &name) +{ + if (name == "guialpha") + { + guiAlpha = config.getValue("guialpha", 0.8); + + if (dBackground->getAlpha() != guiAlpha) + { + dBackground->setAlpha(guiAlpha); + dBorders->setAlpha(guiAlpha); + } + } +} -- cgit v1.2.3-70-g09d2