aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kvirc/ui/kvi_mdichild.cpp5
-rw-r--r--src/kvirc/ui/kvi_mdimanager.cpp20
-rw-r--r--src/kvirc/ui/kvi_mdimanager.h1
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_