aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kvirc/ui/kvi_frame.cpp14
-rw-r--r--src/kvirc/ui/kvi_frame.h4
-rw-r--r--src/kvirc/ui/kvi_window.cpp2
3 files changed, 17 insertions, 3 deletions
diff --git a/src/kvirc/ui/kvi_frame.cpp b/src/kvirc/ui/kvi_frame.cpp
index 353bfa8d8..e993f27e9 100644
--- a/src/kvirc/ui/kvi_frame.cpp
+++ b/src/kvirc/ui/kvi_frame.cpp
@@ -82,8 +82,6 @@
extern QPixmap * g_pShadedChildGlobalDesktopBackground;
#endif
-#define KVI_DEFAULT_FRAME_CAPTION "KVIrc " KVI_VERSION " " KVI_RELEASE_NAME
-
// Declared and managed by KviApp (kvi_app.cpp)
extern KviConfig * g_pWinPropertiesConfig;
KVIRC_API KviFrame * g_pFrame = 0; // the one and only frame object
@@ -92,7 +90,6 @@ KviFrame::KviFrame()
: KviTalMainWindow(0,"kvirc_frame")
{
g_pFrame = this;
- setWindowTitle(KVI_DEFAULT_FRAME_CAPTION);
m_pWinList = new KviPointerList<KviWindow>;
m_pWinList->setAutoDelete(false);
@@ -815,6 +812,7 @@ void KviFrame::childWindowActivated(KviWindow *wnd)
bool bActiveContextChanged = (m_pActiveContext != wnd->context());
m_pActiveContext = wnd->context();
+ if(wnd->isMaximized() && wnd->mdiParent())updateCaption();
m_pWindowList->setActiveItem(wnd->windowListItem());
if(g_pActiveWindow->view())
@@ -851,6 +849,15 @@ void KviFrame::windowActivationChange(bool bOldActive)
}
}
+#define KVI_DEFAULT_FRAME_CAPTION "KVIrc " KVI_VERSION " " KVI_RELEASE_NAME
+
+void KviFrame::updateCaption()
+{
+ //the caption of an eventual maximized mdichild is already appended by qt
+ setWindowTitle(KVI_DEFAULT_FRAME_CAPTION);
+}
+
+
void KviFrame::closeEvent(QCloseEvent *e)
{
//check if the user just want us to minimize in tray; if we're not the sender
@@ -951,6 +958,7 @@ void KviFrame::applyOptions()
{
m_pMdi->update();
for(KviWindow * wnd = m_pWinList->first();wnd;wnd = m_pWinList->next())wnd->applyOptions();
+ updateCaption();
m_pWindowList->applyOptions();
g_pTextIconManager->applyOptions();
diff --git a/src/kvirc/ui/kvi_frame.h b/src/kvirc/ui/kvi_frame.h
index 7f1ae3d34..9a3711f0a 100644
--- a/src/kvirc/ui/kvi_frame.h
+++ b/src/kvirc/ui/kvi_frame.h
@@ -153,6 +153,10 @@ public:
// returns the dockExtension applet. Useful for calling refresh() when
// some particular event happens
KviDockExtension * dockExtension(){ return m_pDockExtension; };
+ // Updates the main window caption.
+ // Should be called when the active window changes
+ // and the active irc context changes state
+ void updateCaption();
// helper for saving the window properties
void saveWindowProperties(KviWindow * wnd,const QString &szSection);
// finds the module extension toolbar with the specified identifier
diff --git a/src/kvirc/ui/kvi_window.cpp b/src/kvirc/ui/kvi_window.cpp
index ff25227c8..f61308292 100644
--- a/src/kvirc/ui/kvi_window.cpp
+++ b/src/kvirc/ui/kvi_window.cpp
@@ -643,6 +643,8 @@ void KviWindow::updateCaption()
else
setWindowTitle(m_szPlainTextCaption);
if(m_pWindowListItem)m_pWindowListItem->captionChanged();
+ if(mdiParent() && isMaximized() && (g_pActiveWindow == this))
+ g_pFrame->updateCaption();
}
void KviWindow::updateCaptionListItem()