diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/ui/kvi_mdichild.cpp | 5 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_mdimanager.cpp | 20 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_mdimanager.h | 1 |
3 files changed, 24 insertions, 2 deletions
diff --git a/src/kvirc/ui/kvi_mdichild.cpp b/src/kvirc/ui/kvi_mdichild.cpp index 4467fe058..8ff9b8c41 100644 --- a/src/kvirc/ui/kvi_mdichild.cpp +++ b/src/kvirc/ui/kvi_mdichild.cpp @@ -149,7 +149,10 @@ void KviMdiChild::windowStateChangedEvent(Qt::WindowStates oldState, Qt::WindowS } } - if(newState.testFlag(Qt::WindowActive) && diffState.testFlag(Qt::WindowMaximized)) + if(newState.testFlag(Qt::WindowActive) && + diffState.testFlag(Qt::WindowMaximized) && + !newState.testFlag(Qt::WindowMinimized) + ) { //i'm the active window and my maximized state has changed => update sdi mode m_pManager->setIsInSDIMode(newState.testFlag(Qt::WindowMaximized)); diff --git a/src/kvirc/ui/kvi_mdimanager.cpp b/src/kvirc/ui/kvi_mdimanager.cpp index 1f0014726..d3c2bd747 100644 --- a/src/kvirc/ui/kvi_mdimanager.cpp +++ b/src/kvirc/ui/kvi_mdimanager.cpp @@ -78,7 +78,8 @@ KviMdiManager::KviMdiManager(QWidget * parent,KviFrame * pFrm,const char *) connect(m_pWindowPopup,SIGNAL(aboutToShow()),this,SLOT(fillWindowPopup())); m_pTileMethodPopup = new KviTalPopupMenu(this); connect(m_pTileMethodPopup,SIGNAL(activated(int)),this,SLOT(tileMethodMenuActivated(int))); - + connect(this, SIGNAL(subWindowActivated(QMdiSubWindow *)), this, SLOT(slotSubWindowActivated(QMdiSubWindow *))); + setAutoFillBackground(false); viewport()->setAutoFillBackground(false); @@ -598,3 +599,20 @@ void KviMdiManager::tileAnodine() { this->tileSubWindows(); } + +void KviMdiManager::slotSubWindowActivated(QMdiSubWindow * pMdiChild) +{ + if(pMdiChild) + { + if(((KviMdiChild*)pMdiChild)->client() && g_pFrame->isActiveWindow()) + { + qDebug("subwindowactivated %p %s",pMdiChild, ((KviMdiChild*)pMdiChild)->plainCaption().toUtf8().data()); + g_pFrame->childWindowActivated((KviWindow *)((KviMdiChild*)pMdiChild)->client()); + } else { + qDebug("(inactive) subwindowactivated %p %s",pMdiChild, ((KviMdiChild*)pMdiChild)->plainCaption().toUtf8().data()); + } + } else { + //last subwindow deactivated + qDebug("subwindowactivated 0x0"); + } +}
\ No newline at end of file diff --git a/src/kvirc/ui/kvi_mdimanager.h b/src/kvirc/ui/kvi_mdimanager.h index 655e3492c..40274a3cd 100644 --- a/src/kvirc/ui/kvi_mdimanager.h +++ b/src/kvirc/ui/kvi_mdimanager.h @@ -200,6 +200,7 @@ protected slots: void menuActivated(int id); void tileMethodMenuActivated(int id); void fillWindowPopup(); + void slotSubWindowActivated(QMdiSubWindow * pMdiChild); }; #endif //_KVI_MDIMANAGER_H_ |
