diff options
author | Kevin Smith <git@kismith.co.uk> | 2009-06-15 21:05:33 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2009-06-15 21:05:33 (GMT) |
commit | 5f1d284169c89c30f061603a9f45ab753f4b8967 (patch) | |
tree | 8e50c8eb3ac5c9e5178983f0bbd7dc69e42311af /Swift/QtUI/QtChatTabs.cpp | |
parent | 2e014f200768c91a1504002af1be5c0ac5eb0f42 (diff) | |
download | swift-contrib-5f1d284169c89c30f061603a9f45ab753f4b8967.zip swift-contrib-5f1d284169c89c30f061603a9f45ab753f4b8967.tar.bz2 |
Update tab titles for unread count.
Diffstat (limited to 'Swift/QtUI/QtChatTabs.cpp')
-rw-r--r-- | Swift/QtUI/QtChatTabs.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/Swift/QtUI/QtChatTabs.cpp b/Swift/QtUI/QtChatTabs.cpp index cd3aada..f52a3fe 100644 --- a/Swift/QtUI/QtChatTabs.cpp +++ b/Swift/QtUI/QtChatTabs.cpp @@ -1,12 +1,10 @@ -#pragma once - #include "QtChatTabs.h" #include <QTabWidget> #include <QLayout> namespace Swift { -QtChatTabs::QtChatTabs() { +QtChatTabs::QtChatTabs() : QWidget() { tabs_ = new QTabWidget(this); #if QT_VERSION >= 0x040500 //For Macs, change the tab rendering. @@ -20,12 +18,25 @@ QtChatTabs::QtChatTabs() { resize(400, 300); } -void QtChatTabs::addTab(QWidget* tab) { +void QtChatTabs::addTab(QtTabbable* tab) { tabs_->addTab(tab, tab->windowTitle()); + connect(tab, SIGNAL(titleUpdated()), this, SLOT(tabTitleUpdated())); } void QtChatTabs::tabClosing() { } +void QtChatTabs::tabTitleUpdated() { + QWidget* widget = qobject_cast<QWidget*>(sender()); + if (!widget) { + return; + } + int index = tabs_->indexOf(widget); + if (index < 0) { + return; + } + tabs_->setTabText(index, widget->windowTitle()); +} + }
\ No newline at end of file |