[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/kwin
From: Eike Hein <sho () eikehein ! com>
Date: 2005-08-16 18:41:09
Message-ID: 1124217669.034188.12190.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 449793 by hein:
Backport svn commit 449791
M +7 -0 client.h
M +19 -0 geometry.cpp
--- trunk/KDE/kdebase/kwin/client.h #449792:449793
@@ -127,6 +127,7 @@
bool isMinimized() const;
bool isMaximizable() const;
QRect geometryRestore() const;
+ MaximizeMode maximizeModeRestore() const;
MaximizeMode maximizeMode() const;
bool isMinimizable() const;
void setMaximize( bool vertically, bool horizontally );
@@ -501,6 +502,7 @@
MaximizeMode max_mode;
QRect geom_restore;
QRect geom_fs_restore;
+ MaximizeMode maxmode_restore;
int workarea_diff_x, workarea_diff_y;
WinInfo* info;
QTimer* autoRaiseTimer;
@@ -722,6 +724,11 @@
return geom_restore;
}
+inline Client::MaximizeMode Client::maximizeModeRestore() const
+ {
+ return maxmode_restore;
+ }
+
inline Client::MaximizeMode Client::maximizeMode() const
{
return max_mode;
--- trunk/KDE/kdebase/kwin/geometry.cpp #449792:449793
@@ -1838,6 +1838,21 @@
if( decoration != NULL ) // decorations may turn off some borders when maximized
decoration->borders( border_left, border_right, border_top, border_bottom );
+ // restore partial maximizations
+ if ( old_mode==MaximizeFull && max_mode==MaximizeRestore )
+ {
+ if ( maximizeModeRestore()==MaximizeVertical )
+ {
+ max_mode = MaximizeVertical;
+ maxmode_restore = MaximizeRestore;
+ }
+ if ( maximizeModeRestore()==MaximizeHorizontal )
+ {
+ max_mode = MaximizeHorizontal;
+ maxmode_restore = MaximizeRestore;
+ }
+ }
+
switch (max_mode)
{
@@ -1917,6 +1932,10 @@
case MaximizeFull:
{
+ if( old_mode & MaximizeVertical )
+ maxmode_restore = MaximizeVertical;
+ if( old_mode & MaximizeHorizontal )
+ maxmode_restore = MaximizeHorizontal;
QSize adjSize = adjustedSize(clientArea.size(), SizemodeMax );
QRect r = QRect(clientArea.topLeft(), adjSize);
setGeometry( r );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic