diff options
Diffstat (limited to 'Swift/QtUI/QtMainWindow.cpp')
| -rw-r--r-- | Swift/QtUI/QtMainWindow.cpp | 20 | 
1 files changed, 18 insertions, 2 deletions
diff --git a/Swift/QtUI/QtMainWindow.cpp b/Swift/QtUI/QtMainWindow.cpp index 5d50c1e..9749397 100644 --- a/Swift/QtUI/QtMainWindow.cpp +++ b/Swift/QtUI/QtMainWindow.cpp @@ -47,14 +47,14 @@  namespace Swift { -QtMainWindow::QtMainWindow(SettingsProvider* settings, UIEventStream* uiEventStream, QtLoginWindow::QtMenus loginMenus, bool emoticonsExist) : QWidget(), MainWindow(false), loginMenus_(loginMenus) { +QtMainWindow::QtMainWindow(SettingsProvider* settings, UIEventStream* uiEventStream, QtLoginWindow::QtMenus loginMenus, StatusCache* statusCache, bool emoticonsExist) : QWidget(), MainWindow(false), loginMenus_(loginMenus) {  	uiEventStream_ = uiEventStream;  	settings_ = settings;  	setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));  	QBoxLayout *mainLayout = new QBoxLayout(QBoxLayout::TopToBottom, this);  	mainLayout->setContentsMargins(0,0,0,0);  	mainLayout->setSpacing(0); -	meView_ = new QtRosterHeader(settings, this); +	meView_ = new QtRosterHeader(settings, statusCache, this);  	mainLayout->addWidget(meView_);  	connect(meView_, SIGNAL(onChangeStatusRequest(StatusShow::Type, const QString&)), this, SLOT(handleStatusChanged(StatusShow::Type, const QString&)));  	connect(meView_, SIGNAL(onEditProfileRequest()), this, SLOT(handleEditProfileRequest())); @@ -95,6 +95,14 @@ QtMainWindow::QtMainWindow(SettingsProvider* settings, UIEventStream* uiEventStr  	QMenu* viewMenu = new QMenu(tr("&View"), this);  	menus_.push_back(viewMenu); + +	compactRosterAction_ = new QAction(tr("&Compact Roster"), this); +	compactRosterAction_->setCheckable(true); +	compactRosterAction_->setChecked(false); +	connect(compactRosterAction_, SIGNAL(toggled(bool)), SLOT(handleCompactRosterToggled(bool))); +	viewMenu->addAction(compactRosterAction_); +	handleCompactRosterToggled(settings_->getSetting(QtUISettingConstants::COMPACT_ROSTER)); +  	showOfflineAction_ = new QAction(tr("&Show offline contacts"), this);  	showOfflineAction_->setCheckable(true);  	showOfflineAction_->setChecked(false); @@ -261,6 +269,14 @@ void QtMainWindow::handleSettingChanged(const std::string& settingPath) {  	if (settingPath == SettingConstants::REQUEST_DELIVERYRECEIPTS.getKey()) {  		toggleRequestDeliveryReceipts_->setChecked(settings_->getSetting(SettingConstants::REQUEST_DELIVERYRECEIPTS));  	} +	if (settingPath == QtUISettingConstants::COMPACT_ROSTER.getKey()) { +		handleCompactRosterToggled(settings_->getSetting(QtUISettingConstants::COMPACT_ROSTER)); +	} +} + +void QtMainWindow::handleCompactRosterToggled(bool state) { +	settings_->storeSetting(QtUISettingConstants::COMPACT_ROSTER, state); +	compactRosterAction_->setChecked(settings_->getSetting(QtUISettingConstants::COMPACT_ROSTER));  }  void QtMainWindow::handleShowOfflineToggled(bool state) {  | 
 Swift