- switch (mode)
- {
- case SystemDayNight::DAYNIGHTMODE_DAY:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_DAY;
- mp_ui->widget_Background->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_blue_day.png)"));
- // home icon
- mp_ui->widget_Home_Icon->setStyleSheet(QString("border-image: url(:/icons/home_day.png) 0 0 0 0 stretch stretch;"));
-
- break;
- case SystemDayNight::DAYNIGHTMODE_NIGHT:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_NIGHT;
- mp_ui->widget_Background->setStyleSheet(QString("background-image: url(:/images/backgrounds/bg_blue_night.png)"));
- // home icon
- mp_ui->widget_Home_Icon->setStyleSheet(QString("border-image: url(:/icons/home_night.png) 0 0 0 0 stretch stretch;"));
-
- break;
- default:
- m_dayNightMode = SystemDayNight::DAYNIGHTMODE_UNDEFINED;
- }
+ QSettings settings;
+ settings.setValue("systemsettings/daynightmode", mode);
+ // make sure that everything is written to the settings file before continuing
+ settings.sync();
+
+ updateColorScheme();
+}
+
+void MainWindow::setObjectDetected(bool detected)
+{
+ qDebug("setObjectDetected %s", detected ? "true" : "false");
+ QSettings settings;
+ settings.setValue("systemsettings/proximityobjectdetected", detected);
+ // make sure that everything is written to the settings file before continuing
+ settings.sync();
+
+ updateColorScheme();
+}
+
+void MainWindow::updateColorScheme()
+{
+ QSettings settings;
+ QSettings settings_cs(QApplication::applicationDirPath() +
+ "/colorschemes/" +
+ settings.value("systemsettings/colorscheme", "default").toString() +
+ "/" +
+ QString::number(settings.value("systemsettings/proximityobjectdetected", false).toBool()) +
+ "/" +
+ QString::number(settings.value("systemsettings/daynightmode", SystemDayNight::DAYNIGHTMODE_DAY).toInt()) +
+ ".ini",
+ QSettings::IniFormat);
+
+ mp_ui->widget_background->setStyleSheet(settings_cs.value("MainWindow/widget_background_css").toString());
+ mp_ui->widget_homeIcon->setStyleSheet(settings_cs.value("MainWindow/widget_homeIcon_css").toString());
+
+ // update children
+ mp_statusBarWidget->updateColorScheme();
+ mp_controlBarWidget->updateColorScheme();
+ mp_settingsWidget->updateColorScheme();
+ mp_applauncherwidget->updateColorScheme();
+ mp_popupWidget->updateColorScheme();