mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-22 08:27:24 -06:00
Store enum type in settings directly
Affected settings will be migrated to new keys so nothing should break. PR #15800.
This commit is contained in:
@@ -61,7 +61,7 @@ bool BandwidthScheduler::isTimeForAlternative() const
|
||||
QTime start = pref->getSchedulerStartTime();
|
||||
QTime end = pref->getSchedulerEndTime();
|
||||
const QTime now = QTime::currentTime();
|
||||
const int schedulerDays = pref->getSchedulerDays();
|
||||
const Scheduler::Days schedulerDays = pref->getSchedulerDays();
|
||||
const int day = QDate::currentDate().dayOfWeek();
|
||||
bool alternative = false;
|
||||
|
||||
@@ -75,20 +75,34 @@ bool BandwidthScheduler::isTimeForAlternative() const
|
||||
{
|
||||
switch (schedulerDays)
|
||||
{
|
||||
case EVERY_DAY:
|
||||
case Scheduler::Days::EveryDay:
|
||||
alternative = !alternative;
|
||||
break;
|
||||
case WEEK_ENDS:
|
||||
case Scheduler::Days::Monday:
|
||||
case Scheduler::Days::Tuesday:
|
||||
case Scheduler::Days::Wednesday:
|
||||
case Scheduler::Days::Thursday:
|
||||
case Scheduler::Days::Friday:
|
||||
case Scheduler::Days::Saturday:
|
||||
case Scheduler::Days::Sunday:
|
||||
{
|
||||
const int offset = static_cast<int>(Scheduler::Days::Monday) - 1;
|
||||
const int dayOfWeek = static_cast<int>(schedulerDays) - offset;
|
||||
if (day == dayOfWeek)
|
||||
alternative = !alternative;
|
||||
}
|
||||
break;
|
||||
case Scheduler::Days::Weekday:
|
||||
if ((day >= 1) && (day <= 5))
|
||||
alternative = !alternative;
|
||||
break;
|
||||
case Scheduler::Days::Weekend:
|
||||
if ((day == 6) || (day == 7))
|
||||
alternative = !alternative;
|
||||
break;
|
||||
case WEEK_DAYS:
|
||||
if ((day != 6) && (day != 7))
|
||||
alternative = !alternative;
|
||||
break;
|
||||
default:
|
||||
if (day == (schedulerDays - 2))
|
||||
alternative = !alternative;
|
||||
Q_ASSERT(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ using namespace Net;
|
||||
DNSUpdater::DNSUpdater(QObject *parent)
|
||||
: QObject(parent)
|
||||
, m_state(OK)
|
||||
, m_service(DNS::NONE)
|
||||
, m_service(DNS::Service::None)
|
||||
{
|
||||
updateCredentials();
|
||||
|
||||
@@ -143,15 +143,16 @@ QString DNSUpdater::getUpdateUrl() const
|
||||
// Service specific
|
||||
switch (m_service)
|
||||
{
|
||||
case DNS::DYNDNS:
|
||||
case DNS::Service::DynDNS:
|
||||
url.setHost("members.dyndns.org");
|
||||
break;
|
||||
case DNS::NOIP:
|
||||
case DNS::Service::NoIP:
|
||||
url.setHost("dynupdate.no-ip.com");
|
||||
break;
|
||||
default:
|
||||
qWarning() << "Unrecognized Dynamic DNS service!";
|
||||
Q_ASSERT(0);
|
||||
Q_ASSERT(false);
|
||||
break;
|
||||
}
|
||||
url.setPath("/nic/update");
|
||||
|
||||
@@ -295,16 +296,17 @@ void DNSUpdater::updateCredentials()
|
||||
}
|
||||
}
|
||||
|
||||
QUrl DNSUpdater::getRegistrationUrl(const int service)
|
||||
QUrl DNSUpdater::getRegistrationUrl(const DNS::Service service)
|
||||
{
|
||||
switch (service)
|
||||
{
|
||||
case DNS::DYNDNS:
|
||||
case DNS::Service::DynDNS:
|
||||
return {"https://account.dyn.com/entrance/"};
|
||||
case DNS::NOIP:
|
||||
case DNS::Service::NoIP:
|
||||
return {"https://www.noip.com/remote-access"};
|
||||
default:
|
||||
Q_ASSERT(0);
|
||||
Q_ASSERT(false);
|
||||
break;
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace Net
|
||||
explicit DNSUpdater(QObject *parent = nullptr);
|
||||
~DNSUpdater();
|
||||
|
||||
static QUrl getRegistrationUrl(int service);
|
||||
static QUrl getRegistrationUrl(DNS::Service service);
|
||||
|
||||
public slots:
|
||||
void updateCredentials();
|
||||
|
||||
@@ -493,14 +493,14 @@ void Preferences::setSchedulerEndTime(const QTime &time)
|
||||
setValue("Preferences/Scheduler/end_time", time);
|
||||
}
|
||||
|
||||
SchedulerDays Preferences::getSchedulerDays() const
|
||||
Scheduler::Days Preferences::getSchedulerDays() const
|
||||
{
|
||||
return static_cast<SchedulerDays>(value("Preferences/Scheduler/days", EVERY_DAY).toInt());
|
||||
return SettingsStorage::instance()->loadValue("Preferences/Scheduler/days", Scheduler::Days::EveryDay);
|
||||
}
|
||||
|
||||
void Preferences::setSchedulerDays(const SchedulerDays days)
|
||||
void Preferences::setSchedulerDays(const Scheduler::Days days)
|
||||
{
|
||||
setValue("Preferences/Scheduler/days", static_cast<int>(days));
|
||||
SettingsStorage::instance()->storeValue("Preferences/Scheduler/days", days);
|
||||
}
|
||||
|
||||
// Search
|
||||
@@ -816,12 +816,12 @@ void Preferences::setDynDNSEnabled(const bool enabled)
|
||||
|
||||
DNS::Service Preferences::getDynDNSService() const
|
||||
{
|
||||
return DNS::Service(value("Preferences/DynDNS/Service", DNS::DYNDNS).toInt());
|
||||
return SettingsStorage::instance()->loadValue("Preferences/DynDNS/Service", DNS::Service::DynDNS);
|
||||
}
|
||||
|
||||
void Preferences::setDynDNSService(const int service)
|
||||
void Preferences::setDynDNSService(const DNS::Service service)
|
||||
{
|
||||
setValue("Preferences/DynDNS/Service", service);
|
||||
SettingsStorage::instance()->storeValue("Preferences/DynDNS/Service", service);
|
||||
}
|
||||
|
||||
QString Preferences::getDynDomainName() const
|
||||
@@ -1211,12 +1211,12 @@ void Preferences::setConfirmRemoveAllTags(const bool enabled)
|
||||
#ifndef Q_OS_MACOS
|
||||
TrayIcon::Style Preferences::trayIconStyle() const
|
||||
{
|
||||
return TrayIcon::Style(value("Preferences/Advanced/TrayIconStyle", TrayIcon::NORMAL).toInt());
|
||||
return SettingsStorage::instance()->loadValue("Preferences/Advanced/TrayIconStyle", TrayIcon::Style::Normal);
|
||||
}
|
||||
|
||||
void Preferences::setTrayIconStyle(const TrayIcon::Style style)
|
||||
{
|
||||
setValue("Preferences/Advanced/TrayIconStyle", style);
|
||||
SettingsStorage::instance()->storeValue("Preferences/Advanced/TrayIconStyle", style);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QtContainerFwd>
|
||||
#include <QtGlobal>
|
||||
#include <QVariant>
|
||||
@@ -40,38 +41,50 @@ class QNetworkCookie;
|
||||
class QSize;
|
||||
class QTime;
|
||||
|
||||
enum SchedulerDays
|
||||
namespace Scheduler
|
||||
{
|
||||
EVERY_DAY,
|
||||
WEEK_DAYS,
|
||||
WEEK_ENDS,
|
||||
MON,
|
||||
TUE,
|
||||
WED,
|
||||
THU,
|
||||
FRI,
|
||||
SAT,
|
||||
SUN
|
||||
};
|
||||
Q_NAMESPACE
|
||||
|
||||
namespace TrayIcon
|
||||
{
|
||||
enum Style
|
||||
enum class Days : int
|
||||
{
|
||||
NORMAL = 0,
|
||||
MONO_DARK,
|
||||
MONO_LIGHT
|
||||
EveryDay = 0,
|
||||
Weekday = 1,
|
||||
Weekend = 2,
|
||||
Monday = 3,
|
||||
Tuesday = 4,
|
||||
Wednesday = 5,
|
||||
Thursday = 6,
|
||||
Friday = 7,
|
||||
Saturday = 8,
|
||||
Sunday = 9
|
||||
};
|
||||
Q_ENUM_NS(Days)
|
||||
}
|
||||
|
||||
namespace DNS
|
||||
{
|
||||
enum Service
|
||||
Q_NAMESPACE
|
||||
|
||||
enum class Service : int
|
||||
{
|
||||
DYNDNS,
|
||||
NOIP,
|
||||
NONE = -1
|
||||
DynDNS = 0,
|
||||
NoIP = 1,
|
||||
None = -1
|
||||
};
|
||||
Q_ENUM_NS(Service)
|
||||
}
|
||||
|
||||
namespace TrayIcon
|
||||
{
|
||||
Q_NAMESPACE
|
||||
|
||||
enum class Style : int
|
||||
{
|
||||
Normal = 0,
|
||||
MonoDark = 1,
|
||||
MonoLight = 2
|
||||
};
|
||||
Q_ENUM_NS(Style)
|
||||
}
|
||||
|
||||
class Preferences : public QObject
|
||||
@@ -161,8 +174,8 @@ public:
|
||||
void setSchedulerStartTime(const QTime &time);
|
||||
QTime getSchedulerEndTime() const;
|
||||
void setSchedulerEndTime(const QTime &time);
|
||||
SchedulerDays getSchedulerDays() const;
|
||||
void setSchedulerDays(SchedulerDays days);
|
||||
Scheduler::Days getSchedulerDays() const;
|
||||
void setSchedulerDays(Scheduler::Days days);
|
||||
|
||||
// Search
|
||||
bool isSearchEnabled() const;
|
||||
@@ -236,7 +249,7 @@ public:
|
||||
bool isDynDNSEnabled() const;
|
||||
void setDynDNSEnabled(bool enabled);
|
||||
DNS::Service getDynDNSService() const;
|
||||
void setDynDNSService(int service);
|
||||
void setDynDNSService(DNS::Service service);
|
||||
QString getDynDomainName() const;
|
||||
void setDynDomainName(const QString &name);
|
||||
QString getDynDNSUsername() const;
|
||||
|
||||
Reference in New Issue
Block a user