aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Fabio Bas2009-09-17 14:55:43 +0000
committerGravatar Fabio Bas2009-09-17 14:55:43 +0000
commit8c8ad52b8419c5cd87da55f48457c931f8a88b7d (patch)
treeb51ffa29f8f36e523e4b59012c5afabab23c1ac8
parentprobable fix for #566 (diff)
downloadKVIrc-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.cpp9
-rw-r--r--src/modules/trayicon/libkvitrayicon.cpp11
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();
+
}
}