X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fnetworkssettingspage.cpp;h=0f252e3223fc25598b0166e2a987a21cf1be5934;hp=c45c972940ae04f429d8a9301a20a5085d25f992;hb=b3cf44aa5773bb6a6e0a1ba8d0c1add841281b4b;hpb=bd369acd1bb927544267cb11a91a3c76bc05481d diff --git a/src/qtui/settingspages/networkssettingspage.cpp b/src/qtui/settingspages/networkssettingspage.cpp index c45c9729..0f252e32 100644 --- a/src/qtui/settingspages/networkssettingspage.cpp +++ b/src/qtui/settingspages/networkssettingspage.cpp @@ -33,10 +33,14 @@ #include "settingspages/identitiessettingspage.h" -NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) -: SettingsPage(tr("Misc"), tr("Networks"), parent) { +NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) +: SettingsPage(tr("IRC"), tr("Networks"), parent) { ui.setupUi(this); + // hide SASL options for older cores + if(!(Client::coreFeatures() & Quassel::SaslAuthentication)) + ui.sasl->hide(); + // set up icons ui.renameNetwork->setIcon(SmallIcon("edit-rename")); ui.addNetwork->setIcon(SmallIcon("list-add")); @@ -78,6 +82,9 @@ NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) connect(ui.autoIdentify, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.autoIdentifyService, SIGNAL(textEdited(const QString &)), this, SLOT(widgetHasChanged())); connect(ui.autoIdentifyPassword, SIGNAL(textEdited(const QString &)), this, SLOT(widgetHasChanged())); + connect(ui.sasl, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.saslAccount, SIGNAL(textEdited(QString)), this, SLOT(widgetHasChanged())); + connect(ui.saslPassword, SIGNAL(textEdited(QString)), this, SLOT(widgetHasChanged())); connect(ui.useCustomEncodings, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.sendEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.recvEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); @@ -185,13 +192,13 @@ bool NetworksSettingsPage::testHasChanged() { void NetworksSettingsPage::setWidgetStates() { // network list if(ui.networkList->selectedItems().count()) { - NetworkId id = ui.networkList->selectedItems()[0]->data(Qt::UserRole).value(); - const Network *net = 0; - if(id > 0) net = Client::network(id); ui.detailsBox->setEnabled(true); ui.renameNetwork->setEnabled(true); ui.deleteNetwork->setEnabled(true); + /* button disabled for now + NetworkId id = ui.networkList->selectedItems()[0]->data(Qt::UserRole).value(); + const Network *net = id > 0 ? Client::network(id) : 0; ui.connectNow->setEnabled(net); // && (Client::network(id)->connectionState() == Network::Initialized // || Client::network(id)->connectionState() == Network::Disconnected)); @@ -316,7 +323,7 @@ void NetworksSettingsPage::clientIdentityRemoved(IdentityId id) { foreach(NetworkInfo info, networkInfos.values()) { if(info.identity == id) { if(info.networkId == currentId) - ui.identityList->setCurrentIndex(0); + ui.identityList->setCurrentIndex(0); info.identity = defaultId; networkInfos[info.networkId] = info; if(info.networkId > 0) Client::updateNetwork(info); @@ -337,22 +344,7 @@ QListWidgetItem *NetworksSettingsPage::networkItem(NetworkId id) const { void NetworksSettingsPage::clientNetworkAdded(NetworkId id) { insertNetwork(id); //connect(Client::network(id), SIGNAL(updatedRemotely()), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(identitySet(IdentityId)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(networkNameSet(const QString &)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(serverListSet(QVariantList)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(useRandomServerSet(bool)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(performSet(const QStringList &)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(useAutoIdentifySet(bool)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(autoIdentifyServiceSet(const QString &)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(autoIdentifyPasswordSet(const QString &)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(useAutoReconnectSet(bool)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(autoReconnectIntervalSet(quint32)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(autoReconnectRetriesSet(quint16)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(unlimitedReconnectRetriesSet(bool)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(rejoinChannelsSet(bool)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(codecForServerSet(const QByteArray &)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(codecForEncodingSet(const QByteArray &)), this, SLOT(clientNetworkUpdated())); - connect(Client::network(id), SIGNAL(codecForDecodingSet(const QByteArray &)), this, SLOT(clientNetworkUpdated())); + connect(Client::network(id), SIGNAL(configChanged()), this, SLOT(clientNetworkUpdated())); connect(Client::network(id), SIGNAL(connectionStateSet(Network::ConnectionState)), this, SLOT(networkConnectionStateChanged(Network::ConnectionState))); connect(Client::network(id), SIGNAL(connectionError(const QString &)), this, SLOT(networkConnectionError(const QString &))); @@ -444,6 +436,9 @@ void NetworksSettingsPage::displayNetwork(NetworkId id) { ui.autoIdentify->setChecked(info.useAutoIdentify); ui.autoIdentifyService->setText(info.autoIdentifyService); ui.autoIdentifyPassword->setText(info.autoIdentifyPassword); + ui.sasl->setChecked(info.useSasl); + ui.saslAccount->setText(info.saslAccount); + ui.saslPassword->setText(info.saslPassword); if(info.codecForEncoding.isEmpty()) { ui.sendEncoding->setCurrentIndex(ui.sendEncoding->findText(Network::defaultCodecForEncoding())); ui.recvEncoding->setCurrentIndex(ui.recvEncoding->findText(Network::defaultCodecForDecoding())); @@ -467,6 +462,8 @@ void NetworksSettingsPage::displayNetwork(NetworkId id) { ui.performEdit->clear(); ui.autoIdentifyService->clear(); ui.autoIdentifyPassword->clear(); + ui.saslAccount->clear(); + ui.saslPassword->clear(); setWidgetStates(); } _ignoreWidgetChanges = false; @@ -480,6 +477,9 @@ void NetworksSettingsPage::saveToNetworkInfo(NetworkInfo &info) { info.useAutoIdentify = ui.autoIdentify->isChecked(); info.autoIdentifyService = ui.autoIdentifyService->text(); info.autoIdentifyPassword = ui.autoIdentifyPassword->text(); + info.useSasl = ui.sasl->isChecked(); + info.saslAccount = ui.saslAccount->text(); + info.saslPassword = ui.saslPassword->text(); if(!ui.useCustomEncodings->isChecked()) { info.codecForEncoding.clear(); info.codecForDecoding.clear();