Show current network name in main window title too
authorManuel Nickschas <sputnick@quassel-irc.org>
Tue, 8 Dec 2009 19:04:11 +0000 (20:04 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Tue, 8 Dec 2009 19:04:33 +0000 (20:04 +0100)
src/qtui/titlesetter.cpp
src/qtui/titlesetter.h

index b381fd9..297b4ce 100644 (file)
@@ -21,6 +21,7 @@
 #include "titlesetter.h"
 
 #include "abstractitemview.h"
+#include "client.h"
 #include "mainwin.h"
 
 TitleSetter::TitleSetter(MainWin *parent)
@@ -32,18 +33,28 @@ TitleSetter::TitleSetter(MainWin *parent)
 
 void TitleSetter::currentChanged(const QModelIndex &current, const QModelIndex &previous) {
   Q_UNUSED(previous);
-  changeWindowTitle(current.sibling(current.row(), 0).data().toString());
+  changeWindowTitle(current.sibling(current.row(), 0));
 }
 
 void TitleSetter::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) {
   QItemSelectionRange changedArea(topLeft, bottomRight);
   QModelIndex currentTopicIndex = selectionModel()->currentIndex().sibling(selectionModel()->currentIndex().row(), 0);
   if(changedArea.contains(currentTopicIndex))
-    changeWindowTitle(currentTopicIndex.data().toString());
+    changeWindowTitle(currentTopicIndex);
 };
 
-void TitleSetter::changeWindowTitle(QString title) {
+void TitleSetter::changeWindowTitle(const QModelIndex &index) {
+  BufferId id = index.data(NetworkModel::BufferIdRole).value<BufferId>();
+  if(!id.isValid())
+    return;
+
+  QString title;
+  if(Client::networkModel()->bufferType(id) == BufferInfo::StatusBuffer)
+    title = index.data().toString();
+  else
+    title = QString("%1 (%2)").arg(index.data().toString(), Client::networkModel()->networkName(id));
   QString newTitle = QString("%1 - %2").arg("Quassel IRC").arg(title);
+
   _mainWin->setWindowTitle(newTitle);
   _mainWin->setWindowIconText(newTitle);
 }
index 7729ba5..fe16b2d 100644 (file)
@@ -38,7 +38,7 @@ class TitleSetter : public AbstractItemView {
 
   private:
     MainWin *_mainWin;
-    void changeWindowTitle(QString title);
+    void changeWindowTitle(const QModelIndex &index);
 };