Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 21 additions & 10 deletions src/gui/accountmanager.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
/*
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2015 ownCloud GmbH
Expand Down Expand Up @@ -669,16 +669,27 @@
}
acc->setCredentials(CredentialsFactory::create(authType));

acc->setUploadLimitSetting(
settings.value(
networkUploadLimitSettingC,
QVariant::fromValue(Account::AccountNetworkTransferLimitSetting::NoLimit)
).value<Account::AccountNetworkTransferLimitSetting>());
acc->setDownloadLimitSetting(
settings.value(
networkDownloadLimitSettingC,
QVariant::fromValue(Account::AccountNetworkTransferLimitSetting::NoLimit)
).value<Account::AccountNetworkTransferLimitSetting>());
auto uploadLimitSetting = settings.value(
networkUploadLimitSettingC,
QVariant::fromValue(Account::AccountNetworkTransferLimitSetting::NoLimit)
).value<Account::AccountNetworkTransferLimitSetting>();
if (uploadLimitSetting == Account::AccountNetworkTransferLimitSetting::AutoLimit) {
qCInfo(lcAccountManager) << "Upload limit setting was set to deprecated auto limit, falling back to unlimited";
uploadLimitSetting = Account::AccountNetworkTransferLimitSetting::NoLimit;
settings.setValue(networkUploadLimitSettingC, QVariant::fromValue(uploadLimitSetting));
}
acc->setUploadLimitSetting(uploadLimitSetting);

auto downloadLimitSetting = settings.value(
networkDownloadLimitSettingC,
QVariant::fromValue(Account::AccountNetworkTransferLimitSetting::NoLimit)
).value<Account::AccountNetworkTransferLimitSetting>();
if (downloadLimitSetting == Account::AccountNetworkTransferLimitSetting::AutoLimit) {
qCInfo(lcAccountManager) << "Download limit setting was set to deprecated auto limit, falling back to unlimited";
downloadLimitSetting = Account::AccountNetworkTransferLimitSetting::NoLimit;
settings.setValue(networkDownloadLimitSettingC, QVariant::fromValue(downloadLimitSetting));
}
acc->setDownloadLimitSetting(downloadLimitSetting);
acc->setUploadLimit(settings.value(networkUploadLimitC).toInt());
acc->setDownloadLimit(settings.value(networkDownloadLimitC).toInt());

Expand Down
4 changes: 2 additions & 2 deletions src/gui/folder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* SPDX-License-Identifier: GPL-2.0-or-later
*/

#include "common/syncjournaldb.h"

Check failure on line 7 in src/gui/folder.cpp

View workflow job for this annotation

GitHub Actions / build

src/gui/folder.cpp:7:10 [clang-diagnostic-error]

'common/syncjournaldb.h' file not found
#include "config.h"

#include "account.h"
Expand Down Expand Up @@ -1233,15 +1233,15 @@

ConfigFile cfg;

int downloadLimit = -75; // 75%
int downloadLimit = 0;
const auto useDownLimit = static_cast<std::underlying_type_t<Account::AccountNetworkTransferLimitSetting>>(account->downloadLimitSetting());
if (useDownLimit >= 1) {
downloadLimit = account->downloadLimit() * 1000;
} else if (useDownLimit == 0) {
downloadLimit = 0;
}

int uploadLimit = -75; // 75%
int uploadLimit = 0;
const auto useUpLimit = static_cast<std::underlying_type_t<Account::AccountNetworkTransferLimitSetting>>(account->uploadLimitSetting());
if (useUpLimit >= 1) {
uploadLimit = account->uploadLimit() * 1000;
Expand Down
14 changes: 2 additions & 12 deletions src/gui/networksettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,8 @@ NetworkSettings::NetworkSettings(const AccountPtr &account, QWidget *parent)

connect(_ui->uploadLimitRadioButton, &QAbstractButton::clicked, this, &NetworkSettings::saveBWLimitSettings);
connect(_ui->noUploadLimitRadioButton, &QAbstractButton::clicked, this, &NetworkSettings::saveBWLimitSettings);
connect(_ui->autoUploadLimitRadioButton, &QAbstractButton::clicked, this, &NetworkSettings::saveBWLimitSettings);
connect(_ui->downloadLimitRadioButton, &QAbstractButton::clicked, this, &NetworkSettings::saveBWLimitSettings);
connect(_ui->noDownloadLimitRadioButton, &QAbstractButton::clicked, this, &NetworkSettings::saveBWLimitSettings);
connect(_ui->autoDownloadLimitRadioButton, &QAbstractButton::clicked, this, &NetworkSettings::saveBWLimitSettings);
connect(_ui->downloadSpinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &NetworkSettings::saveBWLimitSettings);
connect(_ui->uploadSpinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &NetworkSettings::saveBWLimitSettings);
}
Expand Down Expand Up @@ -148,19 +146,15 @@ void NetworkSettings::loadBWLimitSettings()

if (useDownloadLimit >= 1) {
_ui->downloadLimitRadioButton->setChecked(true);
} else if (useDownloadLimit == 0) {
_ui->noDownloadLimitRadioButton->setChecked(true);
} else {
_ui->autoDownloadLimitRadioButton->setChecked(true);
_ui->noDownloadLimitRadioButton->setChecked(true);
}
_ui->downloadSpinBox->setValue(downloadLimit);

if (useUploadLimit >= 1) {
_ui->uploadLimitRadioButton->setChecked(true);
} else if (useUploadLimit == 0) {
_ui->noUploadLimitRadioButton->setChecked(true);
} else {
_ui->autoUploadLimitRadioButton->setChecked(true);
_ui->noUploadLimitRadioButton->setChecked(true);
}
_ui->uploadSpinBox->setValue(uploadLimit);
}
Expand Down Expand Up @@ -208,8 +202,6 @@ void NetworkSettings::saveBWLimitSettings()
useDownloadLimit = 1;
} else if (_ui->noDownloadLimitRadioButton->isChecked()) {
useDownloadLimit = 0;
} else if (_ui->autoDownloadLimitRadioButton->isChecked()) {
useDownloadLimit = -1;
} else if (_account) {
useDownloadLimit = -2;
}
Expand All @@ -218,8 +210,6 @@ void NetworkSettings::saveBWLimitSettings()
useUploadLimit = 1;
} else if (_ui->noUploadLimitRadioButton->isChecked()) {
useUploadLimit = 0;
} else if (_ui->autoUploadLimitRadioButton->isChecked()) {
useUploadLimit = -1;
} else if (_account) {
useUploadLimit = -2;
}
Expand Down
33 changes: 6 additions & 27 deletions src/gui/networksettings.ui
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@
<property name="verticalSpacing">
<number>6</number>
</property>
<item row="3" column="0">
<item row="1" column="0">
<widget class="QRadioButton" name="downloadLimitRadioButton">
<property name="text">
<string>Limit to</string>
Expand All @@ -331,17 +331,7 @@
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QRadioButton" name="autoDownloadLimitRadioButton">
<property name="toolTip">
<string>Limit to 3/4 of estimated bandwidth</string>
</property>
<property name="text">
<string>Limit automatically</string>
</property>
</widget>
</item>
<item row="4" column="0">
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QSpinBox" name="downloadSpinBox">
Expand Down Expand Up @@ -371,7 +361,7 @@
</item>
</layout>
</item>
<item row="5" column="0">
<item row="3" column="0">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
Expand Down Expand Up @@ -414,7 +404,7 @@
<property name="verticalSpacing">
<number>6</number>
</property>
<item row="3" column="0">
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_4" stretch="0,0">
<item>
<widget class="QSpinBox" name="uploadSpinBox">
Expand Down Expand Up @@ -447,23 +437,13 @@
</item>
</layout>
</item>
<item row="2" column="0">
<item row="1" column="0">
<widget class="QRadioButton" name="uploadLimitRadioButton">
<property name="text">
<string>Limit to</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QRadioButton" name="autoUploadLimitRadioButton">
<property name="toolTip">
<string>Limit to 3/4 of estimated bandwidth</string>
</property>
<property name="text">
<string>Limit automatically</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<widget class="QRadioButton" name="noUploadLimitRadioButton">
<property name="text">
Expand All @@ -474,7 +454,7 @@
</property>
</widget>
</item>
<item row="4" column="0">
<item row="3" column="0">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
Expand All @@ -488,7 +468,6 @@
</spacer>
</item>
</layout>
<zorder>autoUploadLimitRadioButton</zorder>
<zorder>uploadLimitRadioButton</zorder>
<zorder>noUploadLimitRadioButton</zorder>
<zorder>verticalSpacer_3</zorder>
Expand Down
8 changes: 8 additions & 0 deletions src/libsync/account.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1475,6 +1475,10 @@ void Account::setUploadLimitSetting(const AccountNetworkTransferLimitSetting set
qCInfo(lcAccount) << "Upload limit setting was requested to be set to the legacy global limit, falling back to unlimited";
targetSetting = AccountNetworkTransferLimitSetting::NoLimit;
}
if (setting == AccountNetworkTransferLimitSetting::AutoLimit) {
qCInfo(lcAccount) << "Upload limit setting was requested to be set to the deprecated auto limit, falling back to unlimited";
targetSetting = AccountNetworkTransferLimitSetting::NoLimit;
}

_uploadLimitSetting = targetSetting;
emit uploadLimitSettingChanged();
Expand All @@ -1497,6 +1501,10 @@ void Account::setDownloadLimitSetting(const AccountNetworkTransferLimitSetting s
qCInfo(lcAccount) << "Download limit setting was requested to be set to the legacy global limit, falling back to unlimited";
targetSetting = AccountNetworkTransferLimitSetting::NoLimit;
}
if (setting == AccountNetworkTransferLimitSetting::AutoLimit) {
qCInfo(lcAccount) << "Download limit setting was requested to be set to the deprecated auto limit, falling back to unlimited";
targetSetting = AccountNetworkTransferLimitSetting::NoLimit;
}

_downloadLimitSetting = targetSetting;
emit downloadLimitSettingChanged();
Expand Down
2 changes: 1 addition & 1 deletion src/libsync/account.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject
public:
enum class AccountNetworkTransferLimitSetting {
LegacyGlobalLimit = -2, // Until 3.17.0 a value of -2 was interpreted as "Use global network settings", it's now used to fall back to "No limit". See also GH#8743
AutoLimit = -1, // Value under 0 is interpreted as auto in general
AutoLimit = -1, // Deprecated: auto limit removed, treated as "No limit" for migration
NoLimit,
ManualLimit,
};
Expand Down
Loading
Loading