summary refs log tree commit diff
path: root/src/UserSettingsPage.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-12-30 17:29:57 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-12-30 17:29:57 +0200
commit208f9579118307d7749de9bf9be537bf1a1d2b27 (patch)
tree2f27f4bcfab73a996a46964da9a256e4377af322 /src/UserSettingsPage.cc
parentUse qobject_cast on TimelineItem (diff)
downloadnheko-208f9579118307d7749de9bf9be537bf1a1d2b27.tar.xz
Re-order room list based on activity
fixes #2
Diffstat (limited to 'src/UserSettingsPage.cc')
-rw-r--r--src/UserSettingsPage.cc32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/UserSettingsPage.cc b/src/UserSettingsPage.cc

index a5851c57..82cf23a7 100644 --- a/src/UserSettingsPage.cc +++ b/src/UserSettingsPage.cc
@@ -33,8 +33,9 @@ void UserSettings::load() { QSettings settings; - isTrayEnabled_ = settings.value("user/window/tray", true).toBool(); - theme_ = settings.value("user/theme", "light").toString(); + isTrayEnabled_ = settings.value("user/window/tray", true).toBool(); + isOrderingEnabled_ = settings.value("user/room_ordering", true).toBool(); + theme_ = settings.value("user/theme", "light").toString(); applyTheme(); } @@ -48,12 +49,6 @@ UserSettings::setTheme(QString theme) } void -UserSettings::setTray(bool state) -{ - isTrayEnabled_ = state; - save(); -} -void UserSettings::applyTheme() { QFile stylefile; @@ -86,6 +81,7 @@ UserSettings::save() settings.setValue("tray", isTrayEnabled_); settings.endGroup(); + settings.setValue("room_ordering", isOrderingEnabled_); settings.setValue("theme", theme()); settings.endGroup(); } @@ -132,6 +128,17 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge trayOptionLayout_->addWidget(trayLabel); trayOptionLayout_->addWidget(trayToggle_, 0, Qt::AlignBottom | Qt::AlignRight); + auto orderRoomLayout = new QHBoxLayout; + orderRoomLayout->setContentsMargins(0, OptionMargin, 0, OptionMargin); + auto orderLabel = new QLabel(tr("Re-order rooms based on activity"), this); + roomOrderToggle_ = new Toggle(this); + roomOrderToggle_->setActiveColor(QColor("#38A3D8")); + roomOrderToggle_->setInactiveColor(QColor("gray")); + orderLabel->setStyleSheet("font-size: 15px;"); + + orderRoomLayout->addWidget(orderLabel); + orderRoomLayout->addWidget(roomOrderToggle_, 0, Qt::AlignBottom | Qt::AlignRight); + auto themeOptionLayout_ = new QHBoxLayout; themeOptionLayout_->setContentsMargins(0, OptionMargin, 0, OptionMargin); auto themeLabel_ = new QLabel(tr("App theme"), this); @@ -155,6 +162,8 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge mainLayout_->addWidget(new HorizontalLine(this)); mainLayout_->addLayout(trayOptionLayout_); mainLayout_->addWidget(new HorizontalLine(this)); + mainLayout_->addLayout(orderRoomLayout); + mainLayout_->addWidget(new HorizontalLine(this)); mainLayout_->addLayout(themeOptionLayout_); mainLayout_->addWidget(new HorizontalLine(this)); @@ -171,6 +180,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge emit trayOptionChanged(!isDisabled); }); + connect(roomOrderToggle_, &Toggle::toggled, this, [=](bool isDisabled) { + settings_->setRoomOrdering(!isDisabled); + }); + connect(backBtn_, &QPushButton::clicked, this, [=]() { settings_->save(); emit moveBack(); @@ -181,7 +194,8 @@ void UserSettingsPage::showEvent(QShowEvent *) { restoreThemeCombo(); - trayToggle_->setState(!settings_->isTrayEnabled()); // Treats true as "off" + trayToggle_->setState(!settings_->isTrayEnabled()); // Treats true as "off" + roomOrderToggle_->setState(!settings_->isOrderingEnabled()); // Treats true as "off" } void