X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fdccsettingspage.cpp;h=3d74449725dd6beba0f8eec37a745f1d4250183e;hp=70d792e7e0bb88fba7e24278cb036196163cf166;hb=673ded0d543cbdc2cf6e746b6bee7c1d21af8f90;hpb=39328183a6a87c6eb10a9dbbffcd5d65bf154a1f diff --git a/src/qtui/settingspages/dccsettingspage.cpp b/src/qtui/settingspages/dccsettingspage.cpp index 70d792e7..3d744497 100644 --- a/src/qtui/settingspages/dccsettingspage.cpp +++ b/src/qtui/settingspages/dccsettingspage.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 by the Quassel Project * + * Copyright (C) 2005-2020 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -22,28 +22,27 @@ #include "client.h" #include "clienttransfermanager.h" +#include "util.h" -DccSettingsPage::DccSettingsPage(QWidget *parent) +DccSettingsPage::DccSettingsPage(QWidget* parent) : SettingsPage(tr("IRC"), tr("DCC"), parent) { ui.setupUi(this); initAutoWidgets(); - connect(ui.ipDetectionMode, SIGNAL(currentIndexChanged(int)), SLOT(updateWidgetStates())); - connect(ui.portSelectionMode, SIGNAL(currentIndexChanged(int)), SLOT(updateWidgetStates())); + connect(ui.ipDetectionMode, selectOverload(&QComboBox::currentIndexChanged), this, &DccSettingsPage::updateWidgetStates); + connect(ui.portSelectionMode, selectOverload(&QComboBox::currentIndexChanged), this, &DccSettingsPage::updateWidgetStates); updateWidgetStates(); - connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), SLOT(onClientConfigChanged())); + connect(Client::instance(), &Client::coreConnectionStateChanged, this, &DccSettingsPage::onClientConfigChanged); setClientConfig(Client::dccConfig()); } - bool DccSettingsPage::isClientConfigValid() const { return _clientConfig != nullptr; } - -void DccSettingsPage::setClientConfig(DccConfig *config) +void DccSettingsPage::setClientConfig(DccConfig* config) { if (_clientConfig) { disconnect(_clientConfig, nullptr, this, nullptr); @@ -56,7 +55,7 @@ void DccSettingsPage::setClientConfig(DccConfig *config) } _clientConfig = config; if (_clientConfig) { - connect(_clientConfig, SIGNAL(updated()), SLOT(load())); + connect(_clientConfig, &DccConfig::updated, this, &DccSettingsPage::load); load(); ui.dccEnabled->setEnabled(true); } @@ -65,40 +64,35 @@ void DccSettingsPage::setClientConfig(DccConfig *config) } } - void DccSettingsPage::onClientConfigChanged() { if (Client::isConnected() && Client::dccConfig() && !Client::dccConfig()->isInitialized()) { - connect(Client::dccConfig(), SIGNAL(initDone()), SLOT(onClientConfigChanged())); + connect(Client::dccConfig(), &SyncableObject::initDone, this, &DccSettingsPage::onClientConfigChanged); } else { setClientConfig(Client::isConnected() ? Client::dccConfig() : nullptr); } } - bool DccSettingsPage::hasDefaults() const { return true; } - void DccSettingsPage::defaults() { - _localConfig = DccConfig(); + _localConfig.fromVariantMap(DccConfig{}.toVariantMap()); SettingsPage::load(); widgetHasChanged(); } - void DccSettingsPage::load() { - _localConfig = isClientConfigValid() ? *_clientConfig : DccConfig{}; + _localConfig.fromVariantMap(isClientConfigValid() ? _clientConfig->toVariantMap() : DccConfig{}.toVariantMap()); SettingsPage::load(); widgetHasChanged(); } - void DccSettingsPage::save() { SettingsPage::save(); @@ -108,7 +102,6 @@ void DccSettingsPage::save() setChangedState(false); } - QVariant DccSettingsPage::loadAutoWidgetValue(const QString& widgetName) { if (widgetName == "dccEnabled") @@ -138,7 +131,6 @@ QVariant DccSettingsPage::loadAutoWidgetValue(const QString& widgetName) return {}; } - void DccSettingsPage::saveAutoWidgetValue(const QString& widgetName, const QVariant& value) { if (widgetName == "dccEnabled") @@ -162,7 +154,7 @@ void DccSettingsPage::saveAutoWidgetValue(const QString& widgetName, const QVari else if (widgetName == "useFastSend") _localConfig.setUseFastSend(value.toBool()); else if (widgetName == "outgoingIp") { - QHostAddress address {QHostAddress::LocalHost}; + QHostAddress address{QHostAddress::LocalHost}; if (!address.setAddress(value.toString())) { qWarning() << "Invalid IP address!"; address = QHostAddress{QHostAddress::LocalHost}; @@ -174,14 +166,12 @@ void DccSettingsPage::saveAutoWidgetValue(const QString& widgetName, const QVari } } - void DccSettingsPage::widgetHasChanged() { bool same = isClientConfigValid() && (_localConfig == *_clientConfig); setChangedState(!same); } - void DccSettingsPage::updateWidgetStates() { ui.outgoingIp->setEnabled(ui.ipDetectionMode->currentIndex() != 0);