diff options
| author | 2009-09-17 14:55:43 +0000 | |
|---|---|---|
| committer | 2009-09-17 14:55:43 +0000 | |
| commit | 8c8ad52b8419c5cd87da55f48457c931f8a88b7d (patch) | |
| tree | b51ffa29f8f36e523e4b59012c5afabab23c1ac8 | |
| parent | probable fix for #566 (diff) | |
| download | KVIrc-8c8ad52b8419c5cd87da55f48457c931f8a88b7d.tar.gz KVIrc-8c8ad52b8419c5cd87da55f48457c931f8a88b7d.tar.bz2 KVIrc-8c8ad52b8419c5cd87da55f48457c931f8a88b7d.zip | |
fix for #562
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3500 17fca916-40b9-46aa-a4ea-0a15b648b75c
| -rw-r--r-- | src/kvirc/ui/kvi_frame.cpp | 9 | ||||
| -rw-r--r-- | src/modules/trayicon/libkvitrayicon.cpp | 11 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/kvirc/ui/kvi_frame.cpp b/src/kvirc/ui/kvi_frame.cpp index b77e3cdcb..dddbed25e 100644 --- a/src/kvirc/ui/kvi_frame.cpp +++ b/src/kvirc/ui/kvi_frame.cpp @@ -864,15 +864,14 @@ void KviFrame::closeEvent(QCloseEvent *e) //of this signal (sender!=0), it has been generated by a "quit" action in a menu if(KVI_OPTION_BOOL(KviOption_boolCloseInTray) && QObject::sender()==0) { - e->ignore(); - if(!dockExtension()) { executeInternalCommand(KVI_INTERNALCOMMAND_TRAYICON_SHOW); } if(dockExtension()) { - hide(); + e->ignore(); + QTimer::singleShot( 0, this, SLOT(hide()) ); } return; } @@ -1234,7 +1233,6 @@ void KviFrame::hideEvent ( QHideEvent * e) { if(e->spontaneous()) { - e->ignore(); if(!dockExtension()) { executeInternalCommand(KVI_INTERNALCOMMAND_TRAYICON_SHOW); @@ -1242,7 +1240,8 @@ void KviFrame::hideEvent ( QHideEvent * e) if(dockExtension()) { - hide(); + e->ignore(); + QTimer::singleShot( 0, this, SLOT(hide()) ); } } } diff --git a/src/modules/trayicon/libkvitrayicon.cpp b/src/modules/trayicon/libkvitrayicon.cpp index e4118e095..bde79e871 100644 --- a/src/modules/trayicon/libkvitrayicon.cpp +++ b/src/modules/trayicon/libkvitrayicon.cpp @@ -350,14 +350,15 @@ void KviTrayIcon::toggleParentFrame() if(m_pFrm->isVisible()) { m_pFrm->hide(); } else { + //restore active mdichild top_widget->show(); top_widget->raise(); - if(g_pActiveWindow) g_pActiveWindow->setFocus(); - if(m_pFrm->isMinimized()) - m_pFrm->showNormal(); - else - m_pFrm->show(); + + //restore mainwindow + m_pFrm->setWindowState(m_pFrm->windowState() & ~Qt::WindowMinimized | Qt::WindowActive); + m_pFrm->show(); + } } |
