diff --git a/clients/win2k/win2k.cpp b/clients/win2k/win2k.cpp index 9c3de7d2f9..b914f68582 100644 --- a/clients/win2k/win2k.cpp +++ b/clients/win2k/win2k.cpp @@ -362,12 +362,8 @@ GalliumClient::GalliumClient( Workspace *ws, WId w, QWidget *parent, g->addColSpacing(2, 4); button[BtnMenu] = new GalliumButton(this, "menu", NULL, true); - - if(!miniIcon().isNull()) - button[BtnMenu]->setPixmap(miniIcon()); - else - button[BtnMenu]->setPixmap(*defaultMenuPix); - + iconChange(); + connect(button[BtnMenu], SIGNAL(pressed()), this, SLOT(menuButtonPressed())); @@ -417,6 +413,16 @@ GalliumClient::GalliumClient( Workspace *ws, WId w, QWidget *parent, hiddenItems = false; } +void GalliumClient::iconChange() +{ + if(!miniIcon().isNull()) + button[BtnMenu]->setPixmap(miniIcon()); + else + button[BtnMenu]->setPixmap(*defaultMenuPix); + + if (button[BtnMenu]->isVisible()) + button[BtnMenu]->repaint(false); +} void GalliumClient::slotMaximize() { diff --git a/clients/win2k/win2k.h b/clients/win2k/win2k.h index 43f6ee19af..aca8fe6ca5 100644 --- a/clients/win2k/win2k.h +++ b/clients/win2k/win2k.h @@ -75,6 +75,7 @@ protected: void captionChange( const QString& name ); void maximizeChange(bool m); void activeChange(bool); + void iconChange(); void calcHiddenButtons();