[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