From f5668e9dff9932fedb1a81c125ab9c83e7709e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Thu, 22 Jul 2004 11:17:16 +0000 Subject: [PATCH] Explain in docs how to do maximize + convenience function. svn path=/trunk/kdebase/kwin/; revision=331721 --- lib/kdecoration.cpp | 11 +++++++++++ lib/kdecoration.h | 26 ++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/lib/kdecoration.cpp b/lib/kdecoration.cpp index 5c07771a63..72ffc9c99a 100644 --- a/lib/kdecoration.cpp +++ b/lib/kdecoration.cpp @@ -231,6 +231,17 @@ void KDecoration::closeWindow() bridge_->closeWindow(); } +void KDecoration::maximize( ButtonState button ) + { + // This can be made configurable if needed. + if( button == MidButton ) + maximize( maximizeMode() ^ MaximizeVertical ); + else if ( button == RightButton ) + maximize( maximizeMode() ^ MaximizeHorizontal ); + else + maximize( maximizeMode() == MaximizeFull ? MaximizeRestore : MaximizeFull ); + } + void KDecoration::maximize( MaximizeMode mode ) { bridge_->maximize( mode ); diff --git a/lib/kdecoration.h b/lib/kdecoration.h index e3f87ab99e..b0f157916f 100644 --- a/lib/kdecoration.h +++ b/lib/kdecoration.h @@ -30,6 +30,7 @@ DEALINGS IN THE SOFTWARE. #include #include #include +#include class KDecorationOptionsPrivate; class KDecorationBridge; @@ -679,6 +680,31 @@ class KDecoration * just like showWindowMenu(). */ void closeWindow(); + /* + * Changes the maximize mode of the decorated window. This function should + * be preferred to the other maximize() overload for reacting on clicks + * on the maximize titlebar button. + * NOTE: This function is new in KDE3.3. In order to support also KDE3.2, + * it is recommended to use code like this: + * \code + * int button = ... ; + * #if KDE_IS_VERSION( 3, 3, 0 ) + * maximize( button ); + * #else + * if( button == MidButton ) + * maximize( maximizeMode() ^ MaximizeVertical ); + * else if( button == RightButton ) + * maximize( maximizeMode() ^ MaximizeHorizontal ); + * else + * maximize( maximizeMode() == MaximizeFull ? MaximizeRestore : MaximizeFull ); + * #endif + * \endcode + * @since 3.3 + */ +#if KDE_IS_VERSION( 3, 90, 0 ) +#warning Update the docs. +#endif + void maximize( ButtonState button ); /** * Set the maximize mode of the decorated window. * @param mode The maximization mode to be set.