Categories in the settings dialog are now clickable
authorManuel Nickschas <sputnick@quassel-irc.org>
Sun, 15 Feb 2009 22:25:00 +0000 (23:25 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 15 Feb 2009 22:25:00 +0000 (23:25 +0100)
Also reordered pages a bit. Fixes #555.

12 files changed:
src/qtui/mainwin.cpp
src/qtui/settingsdlg.cpp
src/qtui/settingspages/aliasessettingspage.cpp
src/qtui/settingspages/appearancesettingspage.cpp
src/qtui/settingspages/backlogsettingspage.cpp
src/qtui/settingspages/bufferviewsettingspage.cpp
src/qtui/settingspages/chatmonitorsettingspage.cpp
src/qtui/settingspages/generalsettingspage.cpp
src/qtui/settingspages/highlightsettingspage.cpp
src/qtui/settingspages/identitiessettingspage.cpp
src/qtui/settingspages/networkssettingspage.cpp
src/qtui/settingspages/notificationssettingspage.cpp

index 655cdcd..53324dd 100644 (file)
@@ -722,20 +722,20 @@ void MainWin::showSettingsDlg() {
   SettingsDlg *dlg = new SettingsDlg();
 
   //Category: Appearance
+  dlg->registerSettingsPage(new AppearanceSettingsPage(dlg)); //General
   dlg->registerSettingsPage(new ColorSettingsPage(dlg));
   dlg->registerSettingsPage(new FontsSettingsPage(dlg));
-  dlg->registerSettingsPage(new AppearanceSettingsPage(dlg)); //General
-  //Category: Behaviour
-  dlg->registerSettingsPage(new GeneralSettingsPage(dlg));
-  dlg->registerSettingsPage(new BacklogSettingsPage(dlg));
   dlg->registerSettingsPage(new HighlightSettingsPage(dlg));
-  dlg->registerSettingsPage(new AliasesSettingsPage(dlg));
   dlg->registerSettingsPage(new NotificationsSettingsPage(dlg));
+  dlg->registerSettingsPage(new BacklogSettingsPage(dlg));
+  dlg->registerSettingsPage(new BufferViewSettingsPage(dlg));
   dlg->registerSettingsPage(new ChatMonitorSettingsPage(dlg));
-  //Category: General
+
+  //Category: Misc
+  dlg->registerSettingsPage(new GeneralSettingsPage(dlg));
   dlg->registerSettingsPage(new IdentitiesSettingsPage(dlg));
   dlg->registerSettingsPage(new NetworksSettingsPage(dlg));
-  dlg->registerSettingsPage(new BufferViewSettingsPage(dlg));
+  dlg->registerSettingsPage(new AliasesSettingsPage(dlg));
 
   dlg->show();
 }
index 351950d..f260fb0 100644 (file)
@@ -52,14 +52,22 @@ void SettingsDlg::registerSettingsPage(SettingsPage *sp) {
   if(!cats.count()) {
     cat = new QTreeWidgetItem(ui.settingsTree, QStringList(sp->category()));
     cat->setExpanded(true);
-    cat->setFlags(Qt::ItemIsEnabled);
+    cat->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
   } else {
     cat = cats[0];
   }
-  QTreeWidgetItem *item = new QTreeWidgetItem(cat, QStringList(sp->title()));
-  item->setData(0, SettingsPageRole, qVariantFromValue<QObject *>(sp));
+
+  QTreeWidgetItem *item;
+  if(sp->title().isEmpty())
+    item = cat;
+  else
+    item = new QTreeWidgetItem(cat, QStringList(sp->title()));
+
+  item->setData(0, SettingsPageRole, QVariant::fromValue<QObject *>(sp));
   ui.settingsTree->setMinimumWidth(ui.settingsTree->header()->sectionSizeHint(0) + 5);
   pageIsLoaded[sp] = false;
+  if(!ui.settingsTree->selectedItems().count())
+    ui.settingsTree->setCurrentItem(item);
 }
 
 void SettingsDlg::selectPage(SettingsPage *sp) {
index 05467de..1b35fb0 100644 (file)
@@ -26,7 +26,7 @@
 #include "iconloader.h"
 
 AliasesSettingsPage::AliasesSettingsPage(QWidget *parent)
-  : SettingsPage(tr("Behaviour"), tr("Aliases"), parent)
+  : SettingsPage(tr("Misc"), tr("Aliases"), parent)
 {
   ui.setupUi(this);
   ui.newAliasButton->setIcon(SmallIcon("list-add"));
index 24dfc7b..91e32a0 100644 (file)
@@ -30,7 +30,7 @@
 #include <QStyleFactory>
 
 AppearanceSettingsPage::AppearanceSettingsPage(QWidget *parent)
-  : SettingsPage(tr("Appearance"), tr("General"), parent)
+  : SettingsPage(tr("Appearance"), QString(), parent)
 {
   ui.setupUi(this);
   initStyleComboBox();
index 035c868..3302bf2 100644 (file)
@@ -24,7 +24,7 @@
 #include "backlogsettings.h"
 
 BacklogSettingsPage::BacklogSettingsPage(QWidget *parent)
-  : SettingsPage(tr("Behaviour"), tr("Backlog"), parent)
+  : SettingsPage(tr("Misc"), tr("Backlog"), parent)
 {
   ui.setupUi(this);
   initAutoWidgets();
index 4b41da4..c23e6af 100644 (file)
@@ -33,7 +33,7 @@
 #include "util.h"
 
 BufferViewSettingsPage::BufferViewSettingsPage(QWidget *parent)
-  : SettingsPage(tr("General"), tr("Buffer Views"), parent),
+  : SettingsPage(tr("Appearance"), tr("Buffer Views"), parent),
     _ignoreWidgetChanges(false),
     _useBufferViewHint(false),
     _bufferViewHint(0)
index dd2663d..855c218 100644 (file)
@@ -32,7 +32,7 @@
 #include <QVariant>
 
 ChatMonitorSettingsPage::ChatMonitorSettingsPage(QWidget *parent)
-  : SettingsPage(tr("General"), tr("Chat Monitor"), parent) {
+  : SettingsPage(tr("Appearance"), tr("Chat Monitor"), parent) {
   ui.setupUi(this);
 
   ui.activateBuffer->setIcon(SmallIcon("go-next"));
index 4d51796..acd8c62 100644 (file)
@@ -25,7 +25,7 @@
 #include "buffersettings.h"
 
 GeneralSettingsPage::GeneralSettingsPage(QWidget *parent)
-  : SettingsPage(tr("Behaviour"), tr("General"), parent) {
+  : SettingsPage(tr("Misc"), QString(), parent) {
   ui.setupUi(this);
 
 #ifdef Q_WS_MAC
index 54357db..c247925 100644 (file)
@@ -27,7 +27,7 @@
 
 
 HighlightSettingsPage::HighlightSettingsPage(QWidget *parent)
-  : SettingsPage(tr("Behaviour"), tr("Highlight"), parent) {
+  : SettingsPage(tr("Appearance"), tr("Highlight"), parent) {
   ui.setupUi(this);
   ui.highlightTable->verticalHeader()->hide();
   ui.highlightTable->setShowGrid(false);
index ca965aa..bb9b564 100644 (file)
@@ -28,7 +28,7 @@
 #include "signalproxy.h"
 
 IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget *parent)
-  : SettingsPage(tr("General"), tr("Identities"), parent),
+  : SettingsPage(tr("Misc"), tr("Identities"), parent),
     _editSsl(false)
 {
   ui.setupUi(this);
index 9d54337..8dc7b15 100644 (file)
@@ -33,7 +33,8 @@
 
 #include "settingspages/identitiessettingspage.h"
 
-NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) : SettingsPage(tr("General"), tr("Networks"), parent) {
+NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) 
+: SettingsPage(tr("Misc"), tr("Networks"), parent) {
   ui.setupUi(this);
 
   // set up icons
index 78e5334..9a98d5e 100644 (file)
@@ -25,7 +25,7 @@
 #include "qtui.h"
 
 NotificationsSettingsPage::NotificationsSettingsPage(QWidget *parent)
-  : SettingsPage(tr("Behaviour"), tr("Notifications"), parent),
+  : SettingsPage(tr("Appearance"), tr("Notifications"), parent),
   _hasDefaults(false)
 {