diff options
| author | 2010-02-27 16:12:11 +0000 | |
|---|---|---|
| committer | 2010-02-27 16:12:11 +0000 | |
| commit | fece7be0e68a3df08c6818a726e4a482aaa487d6 (patch) | |
| tree | 61c7f82bf6e12a85ffa44e89c325b5722fdf2338 /src | |
| parent | More work on classeditor (still unusable) (diff) | |
| download | KVIrc-fece7be0e68a3df08c6818a726e4a482aaa487d6.tar.gz KVIrc-fece7be0e68a3df08c6818a726e4a482aaa487d6.tar.bz2 KVIrc-fece7be0e68a3df08c6818a726e4a482aaa487d6.zip | |
small tweaks to mdi handing: what else will broke this time?
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4035 17fca916-40b9-46aa-a4ea-0a15b648b75c
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_ |
