Make button to edit identities from networks settings work
[quassel.git] / src / qtui / settingspages / networkssettingspage.cpp
index 7c98306..2302630 100644 (file)
 #include "iconloader.h"
 #include "identity.h"
 #include "network.h"
 #include "iconloader.h"
 #include "identity.h"
 #include "network.h"
+#include "settingspagedlg.h"
 #include "util.h"
 
 #include "util.h"
 
+#include "settingspages/identitiessettingspage.h"
+
 NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) : SettingsPage(tr("General"), tr("Networks"), parent) {
   ui.setupUi(this);
 
 NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) : SettingsPage(tr("General"), tr("Networks"), parent) {
   ui.setupUi(this);
 
@@ -434,7 +437,10 @@ void NetworksSettingsPage::displayNetwork(NetworkId id) {
     ui.identityList->setCurrentIndex(ui.identityList->findData(info.identity.toInt()));
     ui.serverList->clear();
     foreach(Network::Server server, info.serverList) {
     ui.identityList->setCurrentIndex(ui.identityList->findData(info.identity.toInt()));
     ui.serverList->clear();
     foreach(Network::Server server, info.serverList) {
-      ui.serverList->addItem(QString("%1:%2").arg(server.host).arg(server.port));
+      QListWidgetItem *item = new QListWidgetItem(QString("%1:%2").arg(server.host).arg(server.port));
+      if(server.useSsl)
+        item->setIcon(SmallIcon("document-encrypt"));
+      ui.serverList->addItem(item);
     }
     //setItemState(id);
     //ui.randomServer->setChecked(info.useRandomServer);
     }
     //setItemState(id);
     //ui.randomServer->setChecked(info.useRandomServer);
@@ -643,6 +649,11 @@ void NetworksSettingsPage::on_downServer_clicked() {
   widgetHasChanged();
 }
 
   widgetHasChanged();
 }
 
+void NetworksSettingsPage::on_editIdentities_clicked() {
+  SettingsPageDlg dlg(new IdentitiesSettingsPage(this), this);
+  dlg.exec();
+}
+
 /**************************************************************************
 * NetworkAddDlg
 *************************************************************************/
 /**************************************************************************
 * NetworkAddDlg
 *************************************************************************/
@@ -658,9 +669,12 @@ NetworkAddDlg::NetworkAddDlg(const QStringList &exist, QWidget *parent) : QDialo
     QStringList networks = s.childGroups();
     foreach(QString s, existing)
       networks.removeAll(s);
     QStringList networks = s.childGroups();
     foreach(QString s, existing)
       networks.removeAll(s);
-    if(!networks.isEmpty())
-      networks.sort();
-      ui.presetList->addItems(networks);
+    if(!networks.isEmpty()) {
+      QMap<QString, QString> sorted;
+      foreach(QString net, networks)
+        sorted[net.toLower()] = net;
+      ui.presetList->addItems(sorted.values());
+    }
   }
   if(!ui.presetList->count()) {
     ui.useManual->setChecked(true);
   }
   if(!ui.presetList->count()) {
     ui.useManual->setChecked(true);