diff options
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); | 
 Swift
 Swift