From de3d3f5c2832901ecce00ab6989e990b3e7cd9aa Mon Sep 17 00:00:00 2001 From: Elias Steurer Date: Tue, 8 Oct 2019 19:09:55 +0200 Subject: [PATCH] Remove wallpaper when monitor setup changed. For now we do not try to recreate the setup. --- ScreenPlay/app.cpp | 1 + ScreenPlay/src/monitorlistmodel.h | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ScreenPlay/app.cpp b/ScreenPlay/app.cpp index b380e172..ef3e8f1e 100644 --- a/ScreenPlay/app.cpp +++ b/ScreenPlay/app.cpp @@ -42,6 +42,7 @@ App::App() // When the installed storage path changed QObject::connect(m_settings.get(), &Settings::resetInstalledListmodel, m_installedListModel.get(), &InstalledListModel::reset); + QObject::connect(m_monitorListModel.get(), &MonitorListModel::monitorConfigurationChanged, m_sdkConnector.get(), &SDKConnector::closeAllWallpapers); // Init after we have the paths from settings m_installedListModel->init(); diff --git a/ScreenPlay/src/monitorlistmodel.h b/ScreenPlay/src/monitorlistmodel.h index 4432ea31..0c11d5d3 100644 --- a/ScreenPlay/src/monitorlistmodel.h +++ b/ScreenPlay/src/monitorlistmodel.h @@ -6,7 +6,6 @@ #include #include #include -#include #include #include #include @@ -80,10 +79,11 @@ public: std::optional getAppIDByMonitorIndex(const int index) const; + signals: void monitorReloadCompleted(); void setNewActiveMonitor(int index, QString path); - void monitorListChanged(); + void monitorConfigurationChanged(); public slots: void reset(); @@ -92,14 +92,14 @@ public slots: void screenAdded(QScreen* screen) { - Q_UNUSED(screen) - qDebug() << "screenAdded"; + qDebug() << "screenAdded" << screen->geometry()<< m_monitorList.size(); + emit monitorConfigurationChanged(); reset(); } void screenRemoved(QScreen* screen) { - Q_UNUSED(screen) - qDebug() << "screenRemoved"; + qDebug() << "screenRemoved"<< screen->geometry() << m_monitorList.size(); + emit monitorConfigurationChanged(); reset(); } @@ -109,6 +109,7 @@ public slots: return app->screens().at(0)->availableVirtualGeometry(); } + private: void loadMonitors();