settingsHandler: write default setting for missing keys

This commit is contained in:
Anika Raemer 2021-10-09 20:59:57 +02:00
parent 5e2e6e7f4b
commit a567428093
5 changed files with 119 additions and 12 deletions

View file

@ -7,6 +7,7 @@
#include "controllers/NavigationController.h"
#include "MouseEventSpy.h"
#include "EnergySaver.h"
#include "controllers/SettingsHandler.h"
int main(int argc, char *argv[])
{
@ -41,24 +42,21 @@ int main(int argc, char *argv[])
}
/* Read Settings */
const auto rootPath = settings->value("rootPath", "/home/ar/source/lenaMusic/").toString(); // path to music files
const auto profile = settings->value("profile", "RasPiTouch").toString(); // known profiles are "RasPiTouch" and "Desktop"
const auto isEnergySavingEnabled = settings->value("enableEnergySaver", true).toBool(); // enable/disable energy saver
const auto energySaverTimeout = settings->value("timeout", 60).toInt(); //timeout in seconds
const auto shutdownScript = settings->value("shutdownScript", "/usr/local/sbin/do_shutdown.sh").toString();
const auto settingsHandler = SettingsHandler::createSettingsHandlerAndFillWithDefaultsIfMissing(settings);
// init main app
NavigationController navController;
navController.setContext(engine.rootContext());
navController.init(rootPath);
navController.setUiProfile(profile);
navController.init(settingsHandler->getRootPath());
navController.setUiProfile(settingsHandler->getProfile());
if(isEnergySavingEnabled){
if(settingsHandler->isEnergySaverEnabled()){
/* install MouseEventSpy and energy saver used for auto shut down of device
* if not used for a predefined time.
*/
MouseEventSpy::init();
EnergySaver::init(energySaverTimeout, shutdownScript);
EnergySaver::init(settingsHandler->getEnergySaverTimeout(), settingsHandler->getShutdownScript());
QObject::connect(MouseEventSpy::instance(), &MouseEventSpy::mouseEventDetected,
EnergySaver::instance(), &EnergySaver::restartTimer);
}