use new maximize() overload

svn path=/trunk/kdebase/kwin/; revision=332523
icc-effect-5.14.5
Sandro Giessl 2004-07-25 11:43:57 +00:00
parent 5f4ba9cafe
commit cc6b654b6f
4 changed files with 11 additions and 20 deletions

View File

@ -278,7 +278,8 @@ QValueList< ModernSysFactory::BorderSize > ModernSysFactory::borderSizes() const
ModernButton::ModernButton(ModernSys *parent, const char *name, ModernButton::ModernButton(ModernSys *parent, const char *name,
const unsigned char *bitmap, const QString& tip, const int realizeBtns) const unsigned char *bitmap, const QString& tip, const int realizeBtns)
: QButton(parent->widget(), name) : QButton(parent->widget(), name),
last_button( NoButton )
{ {
setBackgroundMode( NoBackground ); setBackgroundMode( NoBackground );
setCursor( arrowCursor ); setCursor( arrowCursor );
@ -443,16 +444,8 @@ void ModernSys::init()
void ModernSys::maxButtonClicked( ) void ModernSys::maxButtonClicked( )
{ {
switch ( button[BtnMaximize]->last_button ) { if (button[BtnMaximize]) {
case MidButton: maximize(button[BtnMaximize]->last_button);
maximize( maximizeMode() ^ MaximizeVertical );
break;
case RightButton:
maximize( maximizeMode() ^ MaximizeHorizontal );
break;
default: //LeftButton:
maximize( maximizeMode() == MaximizeFull ? MaximizeRestore : MaximizeFull );
break;
} }
} }

View File

@ -36,7 +36,7 @@ protected:
int realizeButtons; int realizeButtons;
public: public:
int last_button; ButtonState last_button;
}; };
class ModernSys : public KDecoration class ModernSys : public KDecoration

View File

@ -236,7 +236,8 @@ void delete_pixmaps()
RedmondButton::RedmondButton(RedmondDeco *parent, const char *name, RedmondButton::RedmondButton(RedmondDeco *parent, const char *name,
const unsigned char *bitmap, bool menuButton, bool isMini, int size, const QString& tip, const int realizeBtns) const unsigned char *bitmap, bool menuButton, bool isMini, int size, const QString& tip, const int realizeBtns)
: QButton(parent->widget(), name) : QButton(parent->widget(), name),
last_button( NoButton )
{ {
// Eliminate background flicker // Eliminate background flicker
setBackgroundMode( NoBackground ); setBackgroundMode( NoBackground );
@ -484,12 +485,9 @@ void RedmondDeco::iconChange()
void RedmondDeco::slotMaximize() void RedmondDeco::slotMaximize()
{ {
if ( button[BtnMax]->last_button == MidButton ) if (button[BtnMax]) {
maximize( maximizeMode() ^ MaximizeVertical ); maximize(button[BtnMax]->last_button);
else if ( button[BtnMax]->last_button == RightButton ) }
maximize( maximizeMode() ^ MaximizeHorizontal );
else
maximize( maximizeMode() == MaximizeFull ? MaximizeRestore : MaximizeFull );
} }

View File

@ -46,7 +46,7 @@ public:
void reset(); void reset();
QSize sizeHint() const; QSize sizeHint() const;
int last_button; ButtonState last_button;
protected: protected:
void mousePressEvent(QMouseEvent* e); void mousePressEvent(QMouseEvent* e);