.pragma library .import QtQuick.LocalStorage 2.0 as LS var db = LS.LocalStorage.openDatabaseSync("tooter", "", "harbour-tooter", 100000); var conf = {}; var mediator = (function(){ var subscribe = function(channel, fn){ if(!mediator.channels[channel]) mediator.channels[channel] = []; mediator.channels[channel].push({ context : this, callback : fn }); return this; }; var publish = function(channel){ if(!mediator.channels[channel]) return false; var args = Array.prototype.slice.call(arguments, 1); for(var i = 0, l = mediator.channels[channel].length; i < l; i++){ var subscription = mediator.channels[channel][i]; subscription.callback.apply(subscription.context.args); }; return this; }; return { channels : {}, publish : publish, subscribe : subscribe, installTo : function(obj){ obj.subscribe = subscribe; obj.publish = publish; } }; }()); var init = function(){ console.log("db.version: "+db.version); if(db.version === '') { db.transaction(function(tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS settings (' + ' key TEXT UNIQUE, ' + ' value TEXT ' +');'); //tx.executeSql('INSERT INTO settings (key, value) VALUES (?, ?)', ["conf", "{}"]); }); db.changeVersion('', '0.1', function(tx) { }); } db.transaction(function(tx) { var rs = tx.executeSql('SELECT * FROM settings;'); console.log("READING CONF FROM DB") for (var i = 0; i < rs.rows.length; i++) { //var json = JSON.parse(rs.rows.item(i).value); console.log(rs.rows.item(i).key+" \t > \t "+rs.rows.item(i).value) conf[rs.rows.item(i).key] = JSON.parse(rs.rows.item(i).value) } console.log("END OF READING") console.log(JSON.stringify(conf)); mediator.publish('confLoaded', { loaded: true}); }); }; function saveData() { console.log("SAVING CONF TO DB") db.transaction(function(tx) { for (var key in conf) { if (conf.hasOwnProperty(key)){ console.log(key + "\t>\t"+conf[key]); if (typeof conf[key] === "object" && conf[key] === null) { tx.executeSql('DELETE FROM settings WHERE key=? ', [key]) } else { tx.executeSql('INSERT OR REPLACE INTO settings (key, value) VALUES (?, ?) ', [key, JSON.stringify(conf[key])]) } } } console.log("ENF OF SAVING") }); } var tootParser = function(data){ console.log(data) var ret = {}; ret.id = data.id ret.content = data.content ret.created_at = data.created_at ret.in_reply_to_account_id = data.in_reply_to_account_id ret.in_reply_to_id = data.in_reply_to_id ret.user_id = data.account.id ret.user_locked = data.account.locked ret.username = data.account.username ret.display_name = data.account.display_name ret.avatar_static = data.account.avatar_static ret.favourited = data.favourited ? true : false ret.favourites_count = data.favourites_count ? data.favourites_count : 0 ret.reblog = data.reblog ? true : false ret.reblogged = data.reblogged ? true : false ret.reblogs_count = data.reblogs_count ? data.reblogs_count : false ret.muted = data.muted ? true : false ret.sensitive = data.sensitive ? true : false ret.visibility = data.visibility ? data.visibility : false console.log(ret) } var test = 1; Qt.include("Mastodon.js") var modelTLhome = Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject'); var modelTLpublic = Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject'); var modelTLnotifications = Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject'); var api; function func() { console.log(api) }