/***************************************************************************
- * 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 *
#include "clienttransfermanager.h"
#include "util.h"
-DccSettingsPage::DccSettingsPage(QWidget *parent)
+DccSettingsPage::DccSettingsPage(QWidget* parent)
: SettingsPage(tr("IRC"), tr("DCC"), parent)
{
ui.setupUi(this);
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);
}
}
-
void DccSettingsPage::onClientConfigChanged()
{
if (Client::isConnected() && Client::dccConfig() && !Client::dccConfig()->isInitialized()) {
}
}
-
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();
setChangedState(false);
}
-
QVariant DccSettingsPage::loadAutoWidgetValue(const QString& widgetName)
{
if (widgetName == "dccEnabled")
return {};
}
-
void DccSettingsPage::saveAutoWidgetValue(const QString& widgetName, const QVariant& value)
{
if (widgetName == "dccEnabled")
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};
}
}
-
void DccSettingsPage::widgetHasChanged()
{
bool same = isClientConfigValid() && (_localConfig == *_clientConfig);
setChangedState(!same);
}
-
void DccSettingsPage::updateWidgetStates()
{
ui.outgoingIp->setEnabled(ui.ipDetectionMode->currentIndex() != 0);