X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fnetworkssettingspage.cpp;h=9bc295886ed6e8b21689d9a74a29baa71e48ab2b;hp=4d66b6f6112a10f7348c72692a16c17ebf6921d8;hb=35ca85f1c4371ee28d00d5ff0195a5b44aadb299;hpb=9fc57dc2c000e80fb8bd746a090e2e8210e1278e diff --git a/src/qtui/settingspages/networkssettingspage.cpp b/src/qtui/settingspages/networkssettingspage.cpp index 4d66b6f6..9bc29588 100644 --- a/src/qtui/settingspages/networkssettingspage.cpp +++ b/src/qtui/settingspages/networkssettingspage.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -19,15 +19,16 @@ ***************************************************************************/ #include +#include #include #include #include "networkssettingspage.h" #include "client.h" -#include "iconloader.h" #include "identity.h" #include "network.h" +#include "presetnetworks.h" #include "settingspagedlg.h" #include "util.h" @@ -51,21 +52,21 @@ NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) #endif // set up icons - ui.renameNetwork->setIcon(SmallIcon("edit-rename")); - ui.addNetwork->setIcon(SmallIcon("list-add")); - ui.deleteNetwork->setIcon(SmallIcon("edit-delete")); - ui.addServer->setIcon(SmallIcon("list-add")); - ui.deleteServer->setIcon(SmallIcon("edit-delete")); - ui.editServer->setIcon(SmallIcon("configure")); - ui.upServer->setIcon(SmallIcon("go-up")); - ui.downServer->setIcon(SmallIcon("go-down")); - ui.editIdentities->setIcon(SmallIcon("configure")); + ui.renameNetwork->setIcon(QIcon::fromTheme("edit-rename")); + ui.addNetwork->setIcon(QIcon::fromTheme("list-add")); + ui.deleteNetwork->setIcon(QIcon::fromTheme("edit-delete")); + ui.addServer->setIcon(QIcon::fromTheme("list-add")); + ui.deleteServer->setIcon(QIcon::fromTheme("edit-delete")); + ui.editServer->setIcon(QIcon::fromTheme("configure")); + ui.upServer->setIcon(QIcon::fromTheme("go-up")); + ui.downServer->setIcon(QIcon::fromTheme("go-down")); + ui.editIdentities->setIcon(QIcon::fromTheme("configure")); _ignoreWidgetChanges = false; - connectedIcon = SmallIcon("network-connect"); - connectingIcon = SmallIcon("network-wired"); // FIXME network-connecting - disconnectedIcon = SmallIcon("network-disconnect"); + connectedIcon = QIcon::fromTheme("network-connect"); + connectingIcon = QIcon::fromTheme("network-wired"); // FIXME network-connecting + disconnectedIcon = QIcon::fromTheme("network-disconnect"); foreach(int mib, QTextCodec::availableMibs()) { QByteArray codec = QTextCodec::codecForMib(mib)->name(); @@ -496,7 +497,7 @@ void NetworksSettingsPage::displayNetwork(NetworkId id) foreach(Network::Server server, info.serverList) { QListWidgetItem *item = new QListWidgetItem(QString("%1:%2").arg(server.host).arg(server.port)); if (server.useSsl) - item->setIcon(SmallIcon("document-encrypt")); + item->setIcon(QIcon::fromTheme("document-encrypt")); ui.serverList->addItem(item); } //setItemState(id); @@ -783,10 +784,10 @@ IdentityId NetworksSettingsPage::defaultIdentity() const NetworkAddDlg::NetworkAddDlg(const QStringList &exist, QWidget *parent) : QDialog(parent), existing(exist) { ui.setupUi(this); - ui.useSSL->setIcon(SmallIcon("document-encrypt")); + ui.useSSL->setIcon(QIcon::fromTheme("document-encrypt")); // read preset networks - QStringList networks = Network::presetNetworks(); + QStringList networks = PresetNetworks::names(); foreach(QString s, existing) networks.removeAll(s); if (networks.count()) @@ -810,7 +811,7 @@ NetworkInfo NetworkAddDlg::networkInfo() const return info; } else - return Network::networkInfoFromPreset(ui.presetList->currentText()); + return PresetNetworks::networkInfo(ui.presetList->currentText()); } @@ -862,8 +863,9 @@ void NetworkEditDlg::on_networkEdit_textChanged(const QString &text) ServerEditDlg::ServerEditDlg(const Network::Server &server, QWidget *parent) : QDialog(parent) { ui.setupUi(this); - ui.useSSL->setIcon(SmallIcon("document-encrypt")); + ui.useSSL->setIcon(QIcon::fromTheme("document-encrypt")); ui.host->setText(server.host); + ui.host->setFocus(); ui.port->setValue(server.port); ui.password->setText(server.password); ui.useSSL->setChecked(server.useSsl); @@ -874,6 +876,23 @@ ServerEditDlg::ServerEditDlg(const Network::Server &server, QWidget *parent) : Q ui.proxyPort->setValue(server.proxyPort); ui.proxyUsername->setText(server.proxyUser); ui.proxyPassword->setText(server.proxyPass); + + // This is a dirty hack to display the core->IRC SSL protocol dropdown + // only if the core won't use autonegotiation to determine the best + // protocol. When autonegotiation was introduced, it would have been + // a good idea to use the CoreFeatures enum to accomplish this. + // However, since multiple versions have been released since then, that + // is no longer possible. Instead, we rely on the fact that the + // Datastream protocol was introduced in the same version (0.10) as SSL + // autonegotiation. Because of that, we can display the dropdown only + // if the Legacy protocol is in use. If any other RemotePeer protocol + // is in use, that means a newer protocol is in use and therefore the + // core will use autonegotiation. + if (Client::coreConnection()->peer()->protocol() != Protocol::LegacyProtocol) { + ui.label_3->hide(); + ui.sslVersion->hide(); + } + on_host_textChanged(); }