From 9e8d35ea2bd932c87dcf7bde427d483fa1a97076 Mon Sep 17 00:00:00 2001 From: Mikko Ahlroth Date: Fri, 13 Dec 2013 23:03:45 +0200 Subject: [PATCH] Use default value for localstorage read when no stored value, fixes #1 --- qml/js/storage.js | 6 +++++- qml/pages/SecondPage.qml | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/qml/js/storage.js b/qml/js/storage.js index 9d6db30..0b49987 100644 --- a/qml/js/storage.js +++ b/qml/js/storage.js @@ -12,7 +12,7 @@ function connect() { return db; } -function readSetting(db, key) { +function readSetting(db, key, defVal) { var setting = null; db.readTransaction(function(tx) { @@ -32,6 +32,10 @@ function readSetting(db, key) { else if (setting === 'false') { setting = false; } + // If setting has never been read (doesn't exist), use default value + else if (setting === null) { + setting = defVal; + } return setting; } diff --git a/qml/pages/SecondPage.qml b/qml/pages/SecondPage.qml index 012c610..4b3b792 100644 --- a/qml/pages/SecondPage.qml +++ b/qml/pages/SecondPage.qml @@ -16,7 +16,7 @@ Dialog { onOpened: { Storage.db = Storage.connect(); - var setVal = Storage.readSetting(Storage.db, "interval"); + var setVal = Storage.readSetting(Storage.db, "interval", 15.0); if (setVal !== undefined) { intervalSlider.value = setVal; } @@ -25,7 +25,7 @@ Dialog { } timerEnable.checked = Storage.readSetting(Storage.db, - "timerEnable") + "timerEnable", false) } onAccepted: {