#include "presetnetworks.h"
#include "settingspagedlg.h"
#include "util.h"
+#include "widgethelpers.h"
// IRCv3 capabilities
#include "irccap.h"
ui.downServer->setIcon(icon::get("go-down"));
ui.editIdentities->setIcon(icon::get("configure"));
- _ignoreWidgetChanges = false;
-
connectedIcon = icon::get("network-connect");
connectingIcon = icon::get("network-wired"); // FIXME network-connecting
disconnectedIcon = icon::get("network-disconnect");
currentId = 0;
setEnabled(Client::isConnected()); // need a core connection!
setWidgetStates();
+
+ connectToWidgetsChangedSignals({
+ ui.identityList,
+ ui.performEdit,
+ ui.sasl,
+ ui.saslAccount,
+ ui.saslPassword,
+ ui.autoIdentify,
+ ui.autoIdentifyService,
+ ui.autoIdentifyPassword,
+ ui.useCustomEncodings,
+ ui.sendEncoding,
+ ui.recvEncoding,
+ ui.serverEncoding,
+ ui.autoReconnect,
+ ui.reconnectInterval,
+ ui.reconnectRetries,
+ ui.unlimitedRetries,
+ ui.rejoinOnReconnect,
+ ui.useCustomMessageRate,
+ ui.messageRateBurstSize,
+ ui.messageRateDelay,
+ ui.unlimitedMessageRate
+ }, this, &NetworksSettingsPage::widgetHasChanged);
+
connect(Client::instance(), &Client::coreConnectionStateChanged, this, &NetworksSettingsPage::coreConnectionStateChanged);
connect(Client::instance(), &Client::networkCreated, this, &NetworksSettingsPage::clientNetworkAdded);
connect(Client::instance(), &Client::networkRemoved, this, &NetworksSettingsPage::clientNetworkRemoved);
connect(Client::instance(), &Client::identityCreated, this, &NetworksSettingsPage::clientIdentityAdded);
connect(Client::instance(), &Client::identityRemoved, this, &NetworksSettingsPage::clientIdentityRemoved);
- connect(ui.identityList, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged()));
- //connect(ui.randomServer, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged()));
- connect(ui.performEdit, &QTextEdit::textChanged, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.sasl, &QGroupBox::clicked, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.saslAccount, &QLineEdit::textEdited, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.saslPassword, &QLineEdit::textEdited, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.autoIdentify, &QGroupBox::clicked, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.autoIdentifyService, &QLineEdit::textEdited, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.autoIdentifyPassword, &QLineEdit::textEdited, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.useCustomEncodings, &QGroupBox::clicked, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.sendEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged()));
- connect(ui.recvEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged()));
- connect(ui.serverEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged()));
- connect(ui.autoReconnect, &QGroupBox::clicked, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.reconnectInterval, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged()));
- connect(ui.reconnectRetries, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged()));
- connect(ui.unlimitedRetries, &QAbstractButton::clicked, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.rejoinOnReconnect, &QAbstractButton::clicked, this, &NetworksSettingsPage::widgetHasChanged);
-
- // Core features can change during a reconnect. Always connect these here, delaying testing for
- // the core feature flag in load().
- connect(ui.useCustomMessageRate, &QGroupBox::clicked, this, &NetworksSettingsPage::widgetHasChanged);
- connect(ui.messageRateBurstSize, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged()));
- connect(ui.messageRateDelay, SIGNAL(valueChanged(double)), this, SLOT(widgetHasChanged()));
- connect(ui.unlimitedMessageRate, &QAbstractButton::clicked, this, &NetworksSettingsPage::widgetHasChanged);
-
- // Add additional widgets here
- //connect(ui., SIGNAL(), this, SLOT(widgetHasChanged()));
- //connect(ui., SIGNAL(), this, SLOT(widgetHasChanged()));
-
foreach(IdentityId id, Client::identityIds()) {
clientIdentityAdded(id);
}
void NetworksSettingsPage::clientNetworkAdded(NetworkId id)
{
insertNetwork(id);
- //connect(Client::network(id), SIGNAL(updatedRemotely()), this, SLOT(clientNetworkUpdated()));
+ //connect(Client::network(id), &Network::updatedRemotely, this, &NetworksSettingsPage::clientNetworkUpdated);
connect(Client::network(id), &Network::configChanged, this, &NetworksSettingsPage::clientNetworkUpdated);
connect(Client::network(id), &Network::connectionStateSet, this, &NetworksSettingsPage::networkConnectionStateChanged);