diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-03-23 08:25:32 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-03-23 08:25:32 (GMT) |
commit | fc5c7de3221610446e35b01a47756fa833b526e4 (patch) | |
tree | 1212472dfe9e2062df7522e93e883497fc0618ed /Swift/QtUI/QtMainWindow.cpp | |
parent | c1c973e8afe9826f82cc0bcda6e855aa76eeeabc (diff) | |
download | swift-contrib-fc5c7de3221610446e35b01a47756fa833b526e4.zip swift-contrib-fc5c7de3221610446e35b01a47756fa833b526e4.tar.bz2 |
Show EventWindow activity in roster tab.
Resolves: #295
Diffstat (limited to 'Swift/QtUI/QtMainWindow.cpp')
-rw-r--r-- | Swift/QtUI/QtMainWindow.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Swift/QtUI/QtMainWindow.cpp b/Swift/QtUI/QtMainWindow.cpp index 618a887..5a6c620 100644 --- a/Swift/QtUI/QtMainWindow.cpp +++ b/Swift/QtUI/QtMainWindow.cpp @@ -3,6 +3,7 @@ #include "QtAddContactDialog.h" #include "QtJoinMUCDialog.h" #include "QtSwiftUtil.h" +#include "QtTabWidget.h" #include "Roster/QtTreeWidgetFactory.h" #include "Roster/QtTreeWidget.h" #include "Swift/Controllers/UIEvents/AddContactUIEvent.h" @@ -31,7 +32,7 @@ QtMainWindow::QtMainWindow(UIEventStream* uiEventStream, QtTreeWidgetFactory *tr mainLayout->addWidget(meView_); connect(meView_, SIGNAL(onChangeStatusRequest(StatusShow::Type, const QString&)), this, SLOT(handleStatusChanged(StatusShow::Type, const QString&))); - tabs_ = new QTabWidget(this); + tabs_ = new QtTabWidget(this); tabs_->setDocumentMode(true); tabs_->setTabPosition(QTabWidget::South); mainLayout->addWidget(tabs_); @@ -49,6 +50,7 @@ QtMainWindow::QtMainWindow(UIEventStream* uiEventStream, QtTreeWidgetFactory *tr tabs_->addTab(contactsTabWidget_, "Contacts"); eventWindow_ = new QtEventWindow(uiEventStream_); + connect(eventWindow_, SIGNAL(onNewEventCountUpdated(int)), this, SLOT(handleEventCountUpdated(int))); tabs_->addTab(eventWindow_, "Events"); @@ -79,6 +81,17 @@ QtEventWindow* QtMainWindow::getEventWindow() { return eventWindow_; } +void QtMainWindow::handleEventCountUpdated(int count) { + QColor eventTabColor = (count == 0) ? QColor(-1, -1, -1) : QColor(255, 0, 0); // invalid resets to default + int eventIndex = 1; + tabs_->tabBar()->setTabTextColor(eventIndex, eventTabColor); + QString text = "Events"; + if (count > 0) { + text += QString(" (%1)").arg(count); + } + tabs_->setTabText(eventIndex, text); +} + void QtMainWindow::handleAddActionTriggered(bool checked) { Q_UNUSED(checked); QtAddContactDialog* addContact = new QtAddContactDialog(this); |