aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar wodim2017-08-29 22:24:56 +0200
committerGravatar wodim2017-08-29 22:24:56 +0200
commit0315e6cfe746a01d4b4b0c6b281179bb09b9c66c (patch)
tree76da91daf000537fb16ace1990aefe7a4f80276d /src
parentFix the global stylesheet not being copied when installing. (diff)
downloadKVIrc-0315e6cfe746a01d4b4b0c6b281179bb09b9c66c.tar.gz
KVIrc-0315e6cfe746a01d4b4b0c6b281179bb09b9c66c.tar.bz2
KVIrc-0315e6cfe746a01d4b4b0c6b281179bb09b9c66c.zip
Make the "window list type" selector a combobox instead of a checkbox.
Diffstat (limited to 'src')
-rw-r--r--src/modules/options/OptionsWidget_windowList.cpp20
-rw-r--r--src/modules/options/OptionsWidget_windowList.h6
2 files changed, 25 insertions, 1 deletions
diff --git a/src/modules/options/OptionsWidget_windowList.cpp b/src/modules/options/OptionsWidget_windowList.cpp
index 3367b569c..ddb1deb16 100644
--- a/src/modules/options/OptionsWidget_windowList.cpp
+++ b/src/modules/options/OptionsWidget_windowList.cpp
@@ -26,6 +26,7 @@
#include "kvi_settings.h"
#include "KviLocale.h"
+#define _WANT_OPTION_FLAGS_
#include "KviOptions.h"
OptionsWidget_windowList::OptionsWidget_windowList(QWidget * parent)
@@ -34,7 +35,14 @@ OptionsWidget_windowList::OptionsWidget_windowList(QWidget * parent)
setObjectName("windowlist_options_widget");
createLayout();
- addBoolSelector(0, 0, 0, 0, __tr2qs_ctx("Show tree window list", "options"), KviOption_boolUseTreeWindowList);
+ KviTalHBox * hbox = new KviTalHBox(this);
+ QLabel * l = new QLabel(__tr2qs_ctx("Window list type:", "options"), hbox);
+ m_pWindowListType = new QComboBox(hbox);
+ m_pWindowListType->addItem(__tr2qs_ctx("Tree", "options"));
+ m_pWindowListType->addItem(__tr2qs_ctx("Classic", "options"));
+ m_pWindowListType->setCurrentIndex(KVI_OPTION_BOOL(KviOption_boolUseTreeWindowList) ? 0 : 1);
+ addWidgetToLayout(hbox, 0, 0, 0, 0);
+
addBoolSelector(0, 1, 0, 1, __tr2qs_ctx("Sort windows by name", "options"), KviOption_boolSortWindowListItemsByName);
addBoolSelector(0, 2, 0, 2, __tr2qs_ctx("Show window icons in window list", "options"), KviOption_boolUseWindowListIcons);
KviBoolSelector * b = addBoolSelector(0, 3, 0, 3, __tr2qs_ctx("Show activity meter in window list", "options"), KviOption_boolUseWindowListActivityMeter);
@@ -58,6 +66,16 @@ OptionsWidget_windowList::OptionsWidget_windowList(QWidget * parent)
OptionsWidget_windowList::~OptionsWidget_windowList()
= default;
+void OptionsWidget_windowList::commit()
+{
+ // we need to add this flag manually to the reset list because there's no other
+ // option in this options widget that uses it.
+ mergeResetFlag(KviOption_resetUpdateWindowList);
+ KVI_OPTION_BOOL(KviOption_boolUseTreeWindowList) = (m_pWindowListType->currentIndex() == 0);
+
+ KviOptionsWidget::commit();
+}
+
OptionsWidget_windowListTree::OptionsWidget_windowListTree(QWidget * parent)
: KviOptionsWidget(parent)
{
diff --git a/src/modules/options/OptionsWidget_windowList.h b/src/modules/options/OptionsWidget_windowList.h
index c666f8a62..a7fcbe88e 100644
--- a/src/modules/options/OptionsWidget_windowList.h
+++ b/src/modules/options/OptionsWidget_windowList.h
@@ -40,6 +40,12 @@ class OptionsWidget_windowList : public KviOptionsWidget
public:
OptionsWidget_windowList(QWidget * parent);
~OptionsWidget_windowList();
+
+protected:
+ void commit() override;
+
+private:
+ QComboBox * m_pWindowListType;
};
#define KVI_OPTIONS_WIDGET_ICON_OptionsWidget_windowListTree KviIconManager::TreeWindowList