File indexing completed on 2024-05-19 04:42:19

0001 /*
0002     SPDX-FileCopyrightText: 2017 Kevin Funk <kfunk@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 .import QtQuick.LocalStorage 2.0 as Storage
0008 
0009 function getDatabase() {
0010     return Storage.LocalStorage.openDatabaseSync("WelcomePageSettings", "0.1", "WelcomePageSettings", 100);
0011 }
0012 
0013 function createTable(tx) {
0014     tx.executeSql('CREATE TABLE IF NOT EXISTS settings(setting TEXT UNIQUE, value TEXT)');
0015 }
0016 
0017 function set(setting, value) {
0018     var db = getDatabase();
0019     var res = false;
0020     db.transaction(function(tx) {
0021         createTable(tx);
0022         var rs = tx.executeSql('INSERT OR REPLACE INTO settings VALUES (?,?);', [setting,value]);
0023         if (rs.rowsAffected > 0) {
0024             res = true;
0025         } else {
0026             res = false;
0027         }
0028     });
0029     return res;
0030 }
0031 
0032 function get(setting, defaultValue) {
0033     var db = getDatabase();
0034     var res = "";
0035     try {
0036         db.transaction(function(tx) {
0037             createTable(tx);
0038             var rs = tx.executeSql('SELECT value FROM settings WHERE setting=?;', [setting]);
0039             if (rs.rows.length > 0) {
0040                 res = rs.rows.item(0).value;
0041             } else {
0042                 res = defaultValue;
0043             }
0044         });
0045     } catch (err) {
0046         console.log("Database error:" + err);
0047         res = defaultValue;
0048     };
0049     return res
0050 }