// This file is part of Friendiqa // https://github.com/lubuwest/Friendiqa // Copyright (C) 2017 Marco R. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // In addition, as a special exception, the copyright holders give // permission to link the code of portions of this program with the // OpenSSL library under certain conditions as described in each // individual source file, and distribute linked combinations including // the two. // // You must obey the GNU General Public License in all respects for all // of the code used other than OpenSSL. If you modify file(s) with this // exception, you may extend this exception to your version of the // file(s), but you are not obligated to do so. If you do not wish to do // so, delete this exception statement from your version. If you delete // this exception statement from all source files in the program, then // also delete it here. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . WorkerScript.onMessage = function(msg) { if(msg.deleteId!==undefined) {msg.model.remove(msg.deleteId); msg.model.sync() } else{ if(msg.appendnews!==true){msg.model.clear()}; msg.model.sync() for (var j=0;j0){ if (newsitemobject.like.length==1){likeText= Qt.atob(newsitemobject.like[0].name)+" "+ qsTr("likes this.")} else {likeText= newsitemobject.like.length+" "+ qsTr("like this.")} } if (newsitemobject.dislike.length>0){ if (newsitemobject.dislike.length==1){dislikeText= Qt.atob(newsitemobject.dislike[0].name)+" "+ qsTr("doesn't like this.")} else {dislikeText= newsitemobject.dislike.length+" "+ qsTr("don't like this.")} } if (newsitemobject.attendyes.length>0){ if (newsitemobject.attendyes.length==1){attendyesText= Qt.atob(newsitemobject.attendyes[0].name)+" "+ qsTr("will attend.")} else {attendyesText= newsitemobject.attendyes.length+" "+ qsTr("persons will attend.")} } if (newsitemobject.attendno.length>0){ if (newsitemobject.attendno.length==1){attendnoText= Qt.atob(newsitemobject.attendno[0].name)+" "+ qsTr("will not attend.")} else {attendnoText= newsitemobject.attendno.length+" "+ qsTr("persons will not attend.")} } if (newsitemobject.attendmaybe.length>0){ if (newsitemobject.attendmaybe.length==1){attendmaybeText= Qt.atob(newsitemobject.attendmaybe[0].name)+" "+ qsTr("may attend.")} else {attendmaybeText= newsitemobject.attendmaybe.length+" "+ qsTr("persons may attend.")} } //var friendica_activities_self=JSON.parse(newsitemobject.friendica_activities_self); if (newsitemobject.friendica_activities_self.indexOf(3)!=-1){self.attending=qsTr("yes")} if (newsitemobject.friendica_activities_self.indexOf(4)!=-1){self.attending=qsTr("no")} if (newsitemobject.friendica_activities_self.indexOf(5)!=-1){self.attending=qsTr("maybe")} if (newsitemobject.friendica_activities_self.indexOf(1)!=-1){self.liked=1} if (newsitemobject.friendica_activities_self.indexOf(2)!=-1){self.disliked=1} }} catch(e){print("Activities "+e)} var friendica_activities={likeText:likeText,dislikeText:dislikeText,attendyesText:attendyesText,attendnoText:attendnoText,attendmaybeText:attendmaybeText,self:self} var attachmentList=[];try{if(newsitemobject.attachments){ var attachArray=JSON.parse(Qt.atob(newsitemobject.attachments)); for (var image in attachArray){if(attachArray[image].mimetype=="image/gif"){ attachmentList.push(attachArray[image]) } } }}catch(e){print("attachment "+e)} newsitemobject.attachmentList=attachmentList; var seconds=(msg.currentTime-newsitemobject.created_at)/1000; var timestring=""; if (seconds<60) {timestring=seconds+" "+qsTr("seconds") +" "+qsTr("ago");} else if (seconds<90){timestring=Math.round(seconds/60)+" "+qsTr("minute") +" "+qsTr("ago");} else if (seconds<3600){timestring=Math.round(seconds/60)+" "+qsTr("minutes") +" "+qsTr("ago");} else if (seconds<5400){timestring=Math.round(seconds/3600)+" "+qsTr("hour") +" "+qsTr("ago");} else if (seconds<86400){timestring=Math.round(seconds/3600)+" "+qsTr("hours") +" "+qsTr("ago");} else if (seconds<129600){timestring=Math.round(seconds/86400)+" "+qsTr("day") +" "+qsTr("ago");} else if (seconds<3888000){timestring=Math.round(seconds/86400)+" "+qsTr("days") +" "+qsTr("ago");} else if (seconds<5832000){timestring=Math.round(seconds/3888000)+" "+qsTr("month") +" "+qsTr("ago");} else if (seconds<69984000){timestring=Math.round(seconds/3888000)+" "+qsTr("months") +" "+qsTr("ago");} else {timestring=Math.round(seconds/46656000)+" "+qsTr("years") +" "+qsTr("ago");} var data=({"newsitemobject": newsitemobject,"dateDiff":timestring,"friendica_activities":friendica_activities,"forumname":forumname})} //print("News:"+j+msg.news.length+JSON.stringify(data)); msg.model.append(data) } if (j==msg.news.length){ //print("j: "+j+" msg.model.count: "+msg.model.count); msg.model.sync() } } }