From 3752453522f53e7a7ad0a0a71124a9248037ebf1 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Sat, 4 Apr 2020 11:55:10 +0800 Subject: [PATCH 1/2] Clean up coding style --- src/gui/mainwindow.cpp | 15 +++++++++------ src/gui/powermanagement/powermanagement.cpp | 11 +++++------ src/gui/powermanagement/powermanagement.h | 4 ++-- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 02c7a0e28..659d374f5 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -28,6 +28,8 @@ #include "mainwindow.h" +#include + #include #include #include @@ -99,9 +101,6 @@ #include "programupdater.h" #endif -#define TIME_TRAY_BALLOON 5000 -#define PREVENT_SUSPEND_INTERVAL 60000 - namespace { #define SETTINGS_KEY(name) "GUI/" name @@ -119,6 +118,9 @@ namespace // Misc const QString KEY_DOWNLOAD_TRACKER_FAVICON = QStringLiteral(SETTINGS_KEY("DownloadTrackerFavicon")); + const int TIME_TRAY_BALLOON = 5000; + const std::chrono::seconds PREVENT_SUSPEND_INTERVAL {60}; + // just a shortcut inline SettingsStorage *settings() { @@ -776,8 +778,9 @@ void MainWindow::cleanup() if (m_systrayCreator) m_systrayCreator->stop(); #endif - if (m_preventTimer) - m_preventTimer->stop(); + + m_preventTimer->stop(); + #if (defined(Q_OS_WIN) || defined(Q_OS_MACOS)) m_programUpdateTimer->stop(); #endif @@ -1401,7 +1404,7 @@ void MainWindow::showStatusBar(bool show) } } -void MainWindow::loadPreferences(bool configureSession) +void MainWindow::loadPreferences(const bool configureSession) { Logger::instance()->addMessage(tr("Options were saved successfully.")); const Preferences *const pref = Preferences::instance(); diff --git a/src/gui/powermanagement/powermanagement.cpp b/src/gui/powermanagement/powermanagement.cpp index 8e72ba73e..4c43584b9 100644 --- a/src/gui/powermanagement/powermanagement.cpp +++ b/src/gui/powermanagement/powermanagement.cpp @@ -30,10 +30,6 @@ #include -#if (defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)) && defined(QT_DBUS_LIB) -#include "powermanagement_x11.h" -#endif - #ifdef Q_OS_MACOS #include #endif @@ -42,9 +38,12 @@ #include #endif +#if (defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)) && defined(QT_DBUS_LIB) +#include "powermanagement_x11.h" +#endif + PowerManagement::PowerManagement(QObject *parent) : QObject(parent) - , m_busy(false) { #if (defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)) && defined(QT_DBUS_LIB) m_inhibitor = new PowerManagementInhibitor(this); @@ -55,7 +54,7 @@ PowerManagement::~PowerManagement() { } -void PowerManagement::setActivityState(bool busy) +void PowerManagement::setActivityState(const bool busy) { if (busy) setBusy(); diff --git a/src/gui/powermanagement/powermanagement.h b/src/gui/powermanagement/powermanagement.h index 01ee7add6..632750115 100644 --- a/src/gui/powermanagement/powermanagement.h +++ b/src/gui/powermanagement/powermanagement.h @@ -52,11 +52,11 @@ public: void setActivityState(bool busy); private: - bool m_busy; - void setBusy(); void setIdle(); + bool m_busy = false; + #if (defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)) && defined(QT_DBUS_LIB) PowerManagementInhibitor *m_inhibitor; #endif From 09545d4036c226c7d52a802c250741bc8184307b Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Sat, 4 Apr 2020 11:59:25 +0800 Subject: [PATCH 2/2] Fix wrong logic that disables "prevent sleeping" timer Also update power management state early so we don't need to wait for the timer timeout to have the effect. --- src/gui/mainwindow.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 659d374f5..a12ede08a 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -1454,8 +1454,11 @@ void MainWindow::loadPreferences(const bool configureSession) showStatusBar(pref->isStatusbarDisplayed()); - if ((pref->preventFromSuspendWhenDownloading() || pref->preventFromSuspendWhenSeeding()) && !m_preventTimer->isActive()) { - m_preventTimer->start(PREVENT_SUSPEND_INTERVAL); + if (pref->preventFromSuspendWhenDownloading() || pref->preventFromSuspendWhenSeeding()) { + if (!m_preventTimer->isActive()) { + updatePowerManagementState(); + m_preventTimer->start(PREVENT_SUSPEND_INTERVAL); + } } else { m_preventTimer->stop();