all repos — fluxbox @ f3790fb3e4105b815308aee9249b2fd342e2d82b

custom fork of the fluxbox windowmanager

revert previous patch until it can be fixed
Mark Tiefenbruck mark@fluxbox.org
commit

f3790fb3e4105b815308aee9249b2fd342e2d82b

parent

b2546389a50ff370036590d799cfb640329160c5

4 files changed, 5 insertions(+), 91 deletions(-)

jump to
D src/FbTk/DefaultValue.hh

@@ -1,82 +0,0 @@

-// DefaultValue.hh -// Copyright (c) 2007 Fluxbox Team (fluxgen at fluxbox dot org) -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef FBTK_DEFAULTVALUE_HH -#define FBTK_DEFAULTVALUE_HH - -namespace FbTk { - -// classes for overriding default values without having to listen for changes -template <typename T> -class DefaultValue { -public: - DefaultValue(const T &def): - m_default(def), m_actual(def), m_use_default(true) { } - - inline const T &get() const { return m_use_default ? m_default : m_actual; } - inline void set(const T &val) { m_use_default = false; m_actual = val; } - inline void restoreDefault() { m_use_default = true; } - inline void isDefault() const { return m_use_default; } - - inline DefaultValue<T> &operator =(const T &val) { - set(val); return *this; - } - - inline operator T() const { return get(); } - -private: - const T &m_default; - T m_actual; - bool m_use_default; -}; - -// designed for use with built-in types T, thus no need to return references -template <typename T, typename Receiver> -class DefaultAccessor { -public: - typedef T (Receiver:: *Accessor)() const; - DefaultAccessor(const Receiver &r, Accessor a): - m_receiver(r), m_accessor(a), m_actual((r.*a)()), - m_use_default(true) { } - - inline const T get() const { - return m_use_default ? (m_receiver.*m_accessor)() : m_actual; - } - inline void set(const T &val) { m_use_default = false; m_actual = val; } - inline void restoreDefault() { m_use_default = true; } - inline void isDefault() const { return m_use_default; } - - inline DefaultAccessor<T, Receiver> &operator =(const T &val) { - set(val); return *this; - } - - inline operator T() const { return get(); } - -private: - const Receiver &m_receiver; - Accessor &m_accessor; - T m_actual; - bool m_use_default; -}; - -}; // end namespace FbTk - -#endif // FBTK_DEFAULTVALUE_HH
M src/FbTk/Makefile.amsrc/FbTk/Makefile.am

@@ -16,7 +16,7 @@ imlib2_SOURCE= ImageImlib2.hh ImageImlib2.cc

endif libFbTk_a_SOURCES = App.hh App.cc Color.cc Color.hh Command.hh \ - ObjectRegistry.hh DefaultValue.hh \ + ObjectRegistry.hh \ FileUtil.hh FileUtil.cc \ EventHandler.hh EventManager.hh EventManager.cc \ FbWindow.hh FbWindow.cc Font.cc Font.hh FontImp.hh \
M src/Window.ccsrc/Window.cc

@@ -264,8 +264,8 @@ m_client(&client),

m_toggled_decos(false), m_icon_hidden(false), m_focus_hidden(false), - m_focus_new(screen().focusControl(), &FocusControl::focusNew), - m_mouse_focus(screen().focusControl(), &FocusControl::isMouseFocus), + m_focus_new(screen().focusControl().focusNew()), + m_mouse_focus(screen().focusControl().isMouseFocus()), m_click_focus(true), m_old_pos_x(0), m_old_pos_y(0), m_old_width(1), m_old_height(1),
M src/Window.hhsrc/Window.hh

@@ -27,7 +27,6 @@

#ifndef WINDOW_HH #define WINDOW_HH -#include "FbTk/DefaultValue.hh" #include "FbTk/Timer.hh" #include "FbTk/Subject.hh" #include "FbTk/Observer.hh"

@@ -50,7 +49,6 @@ class WinClient;

class FbWinFrameTheme; class BScreen; class FbWinFrame; -class FocusControl; namespace FbTk { class TextButton;

@@ -611,10 +609,8 @@ } functions;

bool m_icon_hidden; ///< if the window is in the iconbar bool m_focus_hidden; ///< if the window is in the NextWindow list - /// if the window is normally focused when mapped - FbTk::DefaultAccessor<bool, FocusControl> m_focus_new; - /// if the window is focused with EnterNotify - FbTk::DefaultAccessor<bool, FocusControl> m_mouse_focus; + bool m_focus_new; ///< if the window is normally focused when mapped + bool m_mouse_focus; ///< if the window is focused with EnterNotify bool m_click_focus; ///< if the window is focused by clicking int m_old_pos_x, m_old_pos_y; ///< old position so we can restore from maximized unsigned int m_old_width, m_old_height; ///< old size so we can restore from maximized state