2017-06-01 17:13:51 +03:00
|
|
|
.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() {
|
2017-06-02 16:51:17 +03:00
|
|
|
console.log("SAVING CONF TO DB")
|
2017-06-01 17:13:51 +03:00
|
|
|
db.transaction(function(tx) {
|
|
|
|
for (var key in conf) {
|
|
|
|
if (conf.hasOwnProperty(key)){
|
|
|
|
console.log(key + "\t>\t"+conf[key]);
|
2017-06-02 16:51:17 +03:00
|
|
|
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])])
|
|
|
|
}
|
2017-06-01 17:13:51 +03:00
|
|
|
}
|
|
|
|
}
|
2017-06-02 16:51:17 +03:00
|
|
|
console.log("ENF OF SAVING")
|
2017-06-01 17:13:51 +03:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
2017-06-07 08:56:42 +03:00
|
|
|
Qt.include("Mastodon.js")
|
2017-06-01 17:13:51 +03:00
|
|
|
|
2017-06-07 08:56:42 +03:00
|
|
|
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');
|
2017-06-01 17:13:51 +03:00
|
|
|
|
|
|
|
|
|
|
|
var api;
|
|
|
|
|
|
|
|
function func() {
|
|
|
|
console.log(api)
|
|
|
|
}
|