From 8a287b90a8017e99fb0e2ce9bb0d52d05677d9f7 Mon Sep 17 00:00:00 2001 From: Owen Williams Date: Wed, 12 May 2021 23:26:35 -0400 Subject: [PATCH] Fix separation of MixxxMainWindow and CoreServices There were some members of MixxxMainWindow that got pulled into CoreServices halfway, or that shouldn't have because they aren't a core manager. This fixes tooltip and screensaver preference being incorrectly set. Also cleanup some dead (unreferenced) members. --- src/coreservices.cpp | 20 -------------------- src/coreservices.h | 6 ------ src/mixxx.cpp | 26 ++++++++++++++++++++++---- src/mixxx.h | 11 ----------- 4 files changed, 22 insertions(+), 41 deletions(-) diff --git a/src/coreservices.cpp b/src/coreservices.cpp index f808c75c929..de92ad8282f 100644 --- a/src/coreservices.cpp +++ b/src/coreservices.cpp @@ -168,11 +168,6 @@ void CoreServices::initialize(QApplication* pApp) { FontUtils::initializeFonts(resourcePath); // takes a long time - // Set the visibility of tooltips, default "1" = ON - m_toolTipsCfg = static_cast( - pConfig->getValue(ConfigKey("[Controls]", "Tooltips"), - static_cast(mixxx::TooltipsPreference::TOOLTIPS_ON))); - emit initializationProgressUpdate(10, tr("database")); m_pDbConnectionPool = MixxxDb(pConfig).connectionPool(); if (!m_pDbConnectionPool) { @@ -311,17 +306,6 @@ void CoreServices::initialize(QApplication* pApp) { qDebug() << "Creating ControllerManager"; m_pControllerManager = std::make_shared(pConfig); - // Inhibit the screensaver if the option is set. (Do it before creating the preferences dialog) - int inhibit = pConfig->getValue(ConfigKey("[Config]", "InhibitScreensaver"), -1); - if (inhibit == -1) { - inhibit = static_cast(mixxx::ScreenSaverPreference::PREVENT_ON); - pConfig->setValue(ConfigKey("[Config]", "InhibitScreensaver"), inhibit); - } - m_inhibitScreensaver = static_cast(inhibit); - if (m_inhibitScreensaver == mixxx::ScreenSaverPreference::PREVENT_ON) { - mixxx::ScreenSaverHelper::inhibit(); - } - // Wait until all other ControlObjects are set up before initializing // controllers m_pControllerManager->setUpDevices(); @@ -470,10 +454,6 @@ void CoreServices::shutdown() { Timer t("CoreServices::shutdown"); t.start(); - if (m_inhibitScreensaver != mixxx::ScreenSaverPreference::PREVENT_OFF) { - mixxx::ScreenSaverHelper::uninhibit(); - } - // Stop all pending library operations qDebug() << t.elapsed(false).debugMillisWithUnit() << "stopping pending Library tasks"; m_pTrackCollectionManager->stopLibraryScan(); diff --git a/src/coreservices.h b/src/coreservices.h index 56f28e91109..d9f94288123 100644 --- a/src/coreservices.h +++ b/src/coreservices.h @@ -134,14 +134,8 @@ class CoreServices : public QObject { std::unique_ptr m_pTouchShift; - TooltipsPreference m_toolTipsCfg; - Timer m_runtime_timer; const CmdlineArgs& m_cmdlineArgs; - - ScreenSaverPreference m_inhibitScreensaver; - - QSet m_skinCreatedControls; }; } // namespace mixxx diff --git a/src/mixxx.cpp b/src/mixxx.cpp index 069763256e3..f858dd732e9 100644 --- a/src/mixxx.cpp +++ b/src/mixxx.cpp @@ -101,8 +101,7 @@ MixxxMainWindow::MixxxMainWindow( #ifdef __ENGINEPRIME__ m_pLibraryExporter(nullptr), #endif - m_toolTipsCfg(mixxx::TooltipsPreference::TOOLTIPS_ON), - m_pTouchShift(nullptr) { + m_toolTipsCfg(mixxx::TooltipsPreference::TOOLTIPS_ON) { DEBUG_ASSERT(pApp); DEBUG_ASSERT(pCoreServices); m_pCoreServices->initializeSettings(); @@ -131,8 +130,25 @@ MixxxMainWindow::MixxxMainWindow( this, &MixxxMainWindow::initializationProgressUpdate); + // Inhibit the screensaver if the option is set. (Do it before creating the preferences dialog) + UserSettingsPointer pConfig = m_pCoreServices->getSettings(); + int inhibit = pConfig->getValue(ConfigKey("[Config]", "InhibitScreensaver"), -1); + if (inhibit == -1) { + inhibit = static_cast(mixxx::ScreenSaverPreference::PREVENT_ON); + pConfig->setValue(ConfigKey("[Config]", "InhibitScreensaver"), inhibit); + } + m_inhibitScreensaver = static_cast(inhibit); + if (m_inhibitScreensaver == mixxx::ScreenSaverPreference::PREVENT_ON) { + mixxx::ScreenSaverHelper::inhibit(); + } + m_pCoreServices->initialize(pApp); + // Set the visibility of tooltips, default "1" = ON + m_toolTipsCfg = static_cast( + pConfig->getValue(ConfigKey("[Controls]", "Tooltips"), + static_cast(mixxx::TooltipsPreference::TOOLTIPS_ON))); + #ifdef __ENGINEPRIME__ // Initialise library exporter // This has to be done before switching to fullscreen @@ -414,13 +430,15 @@ MixxxMainWindow::~MixxxMainWindow() { qDebug() << t.elapsed(false).debugMillisWithUnit() << "deleting DlgPreferences"; delete m_pPrefDlg; - delete m_pTouchShift; - WaveformWidgetFactory::destroy(); delete m_pGuiTick; delete m_pVisualsManager; + if (m_inhibitScreensaver != mixxx::ScreenSaverPreference::PREVENT_OFF) { + mixxx::ScreenSaverHelper::uninhibit(); + } + m_pCoreServices->shutdown(); } diff --git a/src/mixxx.h b/src/mixxx.h index f2462c06992..6016430bf30 100644 --- a/src/mixxx.h +++ b/src/mixxx.h @@ -16,26 +16,16 @@ #include "util/parented_ptr.h" #include "util/timer.h" -class BroadcastManager; class ChannelHandleFactory; -class ControllerManager; class ControlPushButton; class DlgDeveloperTools; class DlgPreferences; class DlgKeywheel; -class EffectsManager; class EngineMaster; class GuiTick; -class KeyboardEventFilter; class LaunchImage; class Library; -class PlayerManager; -class RecordingManager; -class SettingsManager; class SkinLoader; -class SoundManager; -class TrackCollectionManager; -class VinylControlManager; class VisualsManager; class WMainMenuBar; @@ -144,7 +134,6 @@ class MixxxMainWindow : public QMainWindow { mixxx::TooltipsPreference m_toolTipsCfg; - ControlPushButton* m_pTouchShift; mixxx::ScreenSaverPreference m_inhibitScreensaver; QSet m_skinCreatedControls;