Add debug menu entry for reloading the stylesheets
[quassel.git] / src / qtui / settingsdlg.cpp
index bde95b7..d1db2ce 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel Project                          *
+ *   Copyright (C) 2005-09 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -52,13 +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) {
@@ -86,8 +95,15 @@ void SettingsDlg::selectPage(SettingsPage *sp) {
   }
 
   if(sp != currentPage()) {
-    ui.pageTitle->setText(sp->title());
-    setWindowTitle(tr("Configure %1").arg(sp->title()));
+    if(sp->title().isEmpty()) {
+      ui.pageTitle->setText(sp->category());
+      setWindowTitle(tr("Configure %1").arg(sp->category()));
+    }
+    else {
+      ui.pageTitle->setText(sp->title());
+      setWindowTitle(tr("Configure %1").arg(sp->title()));
+    }
+
     ui.settingsStack->setCurrentWidget(sp);
     _currentPage = sp;
   }