[Konsole-devel] [Bug 125796] Konsole tab titles don't refresh themselves automatically (without a user action)
Kurt V.Hindenburg
kurt.hindenburg at kdemail.net
Wed May 17 16:03:25 UTC 2006
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=125796
kurt.hindenburg kdemail net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From kurt.hindenburg kdemail net 2006-05-17 18:03 -------
SVN commit 541914 by hindenburg:
Fix issue with tab/window titles not refreshing for the non-active session.
BUG: 125796
M +19 -12 konsole.cpp
M +1 -1 konsole.h
M +2 -2 session.cpp
M +1 -1 session.h
--- branches/KDE/3.5/kdebase/konsole/konsole/konsole.cpp #541913:541914
@ -2189,18 +2189,25 @
if (n_render >= 3) pixmap_menu_activated(n_render);
}
-void Konsole::updateTitle()
+void Konsole::updateTitle(TESession* _se)
{
- setCaption( se->fullTitle() );
- setIconText( se->IconText() );
- tabwidget->setTabIconSet(se->widget(), iconSetForSession(se));
- QString icon = se->IconName();
- KRadioAction *ra = session2action.find(se);
+ if ( !_se )
+ _se = se;
+
+ if (_se == se)
+ {
+ setCaption( _se->fullTitle() );
+ setIconText( _se->IconText() );
+ }
+ tabwidget->setTabIconSet(_se->widget(), iconSetForSession(_se));
+ QString icon = _se->IconName();
+ KRadioAction *ra = session2action.find(_se);
if (ra && (ra->icon() != icon))
ra->setIcon(icon);
- if (m_tabViewMode == ShowIconOnly) tabwidget->changeTab( se->widget(), QString::null );
+ if (m_tabViewMode == ShowIconOnly)
+ tabwidget->changeTab( _se->widget(), QString::null );
else if (b_matchTabWinTitle)
- tabwidget->changeTab( se->widget(), se->fullTitle().replace('&',"&&"));
+ tabwidget->changeTab( _se->widget(), _se->fullTitle().replace('&',"&&"));
}
void Konsole::initSessionFont(QFont font) {
@ -2863,8 +2870,8 @
// If you add any new signal-slot connection below, think about doing it in konsolePart too
connect( s,SIGNAL(done(TESession*)),
this,SLOT(doneSession(TESession*)) );
- connect( s, SIGNAL( updateTitle() ),
- this, SLOT( updateTitle() ) );
+ connect( s, SIGNAL( updateTitle(TESession*) ),
+ this, SLOT( updateTitle(TESession*) ) );
connect( s, SIGNAL( notifySessionState(TESession*, int) ),
this, SLOT( notifySessionState(TESession*, int)) );
connect( s, SIGNAL(disableMasterModeConnections()),
@ -3649,7 +3656,7 @
disconnect( _se->getEmulation(),SIGNAL(changeColumns(int)), this,SLOT(changeColumns(int)) );
disconnect( _se, SIGNAL(changeTabTextColor(TESession*, int)), this, SLOT(changeTabTextColor(TESession*, int)) );
- disconnect( _se,SIGNAL(updateTitle()), this,SLOT(updateTitle()) );
+ disconnect( _se,SIGNAL(updateTitle(TESession*)), this,SLOT(updateTitle(TESession*)) );
disconnect( _se,SIGNAL(notifySessionState(TESession*,int)), this,SLOT(notifySessionState(TESession*,int)) );
disconnect( _se,SIGNAL(disableMasterModeConnections()), this,SLOT(disableMasterModeConnections()) );
disconnect( _se,SIGNAL(enableMasterModeConnections()), this,SLOT(enableMasterModeConnections()) );
@ -3739,7 +3746,7 @
connect( session,SIGNAL(done(TESession*)),
this,SLOT(doneSession(TESession*)) );
- connect( session,SIGNAL(updateTitle()), this,SLOT(updateTitle()) );
+ connect( session,SIGNAL(updateTitle(TESession*)), this,SLOT(updateTitle(TESession*)) );
connect( session,SIGNAL(notifySessionState(TESession*,int)), this,SLOT(notifySessionState(TESession*,int)) );
connect( session,SIGNAL(disableMasterModeConnections()), this,SLOT(disableMasterModeConnections()) );
--- branches/KDE/3.5/kdebase/konsole/konsole/konsole.h #541913:541914
@ -163,7 +163,7 @
void changeColLin(int columns, int lines);
void notifySessionState(TESession* session,int state);
void notifySize(int columns, int lines);
- void updateTitle();
+ void updateTitle(TESession* _se=0);
void prevSession();
void nextSession();
void activateMenu();
--- branches/KDE/3.5/kdebase/konsole/konsole/session.cpp #541913:541914
@ -220,7 +220,7 @
te->update();
}
- emit updateTitle();
+ emit updateTitle(this);
}
QString TESession::fullTitle() const
@ -348,7 +348,7 @
if (!autoClose)
{
userTitle = i18n("<Finished>");
- emit updateTitle();
+ emit updateTitle(this);
return;
}
if (!wantedClose && (exitStatus || sh->signalled()))
--- branches/KDE/3.5/kdebase/konsole/konsole/session.h #541913:541914
@ -139,7 +139,7 @
void forkedChild();
void receivedData( const QString& text );
void done(TESession*);
- void updateTitle();
+ void updateTitle(TESession*);
void notifySessionState(TESession* session, int state);
void changeTabTextColor( TESession*, int );
More information about the konsole-devel
mailing list