From d8186978e70e8fd17b3632f862679d86ca79107f Mon Sep 17 00:00:00 2001 From: LubuWest Date: Sun, 29 Jan 2017 17:26:09 +0100 Subject: [PATCH] Version 0.002 code cleanup and event attending --- README.md | 13 +- v0.002/Release/Friendiqa_v0.002.apk | Bin 11631258 -> 11630809 bytes .../source-android/common/filesystem.h | 1 - v0.002/Release/source-android/common/xhr.cpp | 6 - v0.002/Release/source-android/js/news.js | 32 +- .../Release/source-android/js/newsworker.js | 14 +- v0.002/Release/source-android/js/service.js | 4 +- .../qml/configqml/ConfigTab.qml | 11 +- .../qml/contactqml/ContactComponent.qml | 5 +- .../contactqml/ContactDetailsComponent.qml | 17 +- .../qml/contactqml/FriendsTab.qml | 3 - .../qml/contactqml/GroupComponent.qml | 3 +- .../Release/source-android/qml/friendiqa.qml | 18 +- .../qml/genericqml/BlueButton.qml | 3 +- .../qml/newsqml/Conversation.qml | 2 - .../qml/newsqml/MessageSend.qml | 18 +- .../source-android/qml/newsqml/NewsTab.qml | 48 ++- .../source-android/qml/newsqml/Newsitem.qml | 333 +++++++++-------- .../qml/newsqml/PermissionDialog.qml | 23 +- .../qml/photoqml/PhotoComponent.qml | 111 +++--- .../source-android/qml/photoqml/PhotoTab.qml | 254 +++++++------ .../qml/photoqml/PhotogroupComponent.qml | 32 +- .../Release/source-linux/common/filesystem.h | 1 - v0.002/Release/source-linux/common/xhr.cpp | 6 - v0.002/Release/source-linux/js/news.js | 32 +- v0.002/Release/source-linux/js/newsworker.js | 14 +- v0.002/Release/source-linux/js/service.js | 4 +- .../source-linux/qml/configqml/ConfigTab.qml | 11 +- .../qml/contactqml/ContactComponent.qml | 5 +- .../contactqml/ContactDetailsComponent.qml | 17 +- .../qml/contactqml/FriendsTab.qml | 3 - .../qml/contactqml/GroupComponent.qml | 3 +- v0.002/Release/source-linux/qml/friendiqa.qml | 18 +- .../qml/genericqml/BlueButton.qml | 3 +- .../source-linux/qml/newsqml/Conversation.qml | 2 - .../source-linux/qml/newsqml/MessageSend.qml | 18 +- .../source-linux/qml/newsqml/NewsTab.qml | 48 ++- .../source-linux/qml/newsqml/Newsitem.qml | 337 +++++++++--------- .../qml/newsqml/PermissionDialog.qml | 23 +- .../qml/photoqml/PhotoComponent.qml | 111 +++--- .../source-linux/qml/photoqml/PhotoTab.qml | 254 +++++++------ .../qml/photoqml/PhotogroupComponent.qml | 32 +- 42 files changed, 925 insertions(+), 968 deletions(-) diff --git a/README.md b/README.md index 7275707..e93a131 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,8 @@ QML based client for the Friendica Social Network. Tabs for news (incl. Direct Messages), friends and photos. -OS: currently Linux and Android(4.4.4). +OS: currently Linux and Android(4.3). +Source code is a QtCreator project. ## Screenshots ## @@ -16,20 +17,22 @@ OS: currently Linux and Android(4.4.4). # News # Currently supported: -* Shows Posts from friends, Direct Messages and Notifications +* Shows Posts from friends, favorited messages, Direct Messages and Notifications +* Show news as timeline or tree (conversation opens in separate window) * Open links in external browser * Deletion, Reposting, Answering of Posts -* Liking, disliking, favoriting +* Liking, disliking, favoriting +* Attending events * Update fetches new posts since last in local DB * More shows older posts from local DB -* New Message with images, also possible as DM, Contact/Group access rights +* Create new Message with images or direct messages, Contact/Group access rights ToDo: * Nice symbols for liking, disliking * Videos and other binary data as attachment (sending and receiving) * Rich text editing in Send Dialog -* Attachments for Direct messages (currently not supported in API +* Attachments for Direct messages (currently not supported in API) * Better image selection (currently ugly file dialog) diff --git a/v0.002/Release/Friendiqa_v0.002.apk b/v0.002/Release/Friendiqa_v0.002.apk index 26d53214a29dd09e0dfc4d079c74a0b6a8ca2295..e7edb29cfeca8470a3f1eecca7134b5afa096717 100644 GIT binary patch delta 96757 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 z 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 z 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 VumkyQ%GLTve5RnyYc?#&{{gsYH*5d^ delta 97132 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%0D@2rijZF}@7l*%ykv7VG5&-Tl?+sPoh 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≤ubbv0JT}l6*c*LBAm36)vvdI~S^PTwNlt$B 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 uyoQ+9K{MRI zk~5vBr0BL8m^@KHTwxEg`=GUy!Zngr6n#O8(q3|k5DpQ`u_<=Ixf0~>z;(rs#k4qT zG7}3Yg0GkfUimkX`h5|w{!;dJe<-=DQANB92JBWGXuBq6iMFUwi_65h?NTJyLYj;0 zR7CDqOL2ZUB={(b%5ZbsT$%KK-#EK!H4ChbT_a2`fJj8)shEdbaV4QvKG@q+ol#!{AYDHas^X`bF0nXOI25&o(%QoHM?W>u z1n5#U35^R-9usMBp406g4Am(N)ycYK579PFYy**oQ@35QWJvp3__m6*BUB{gMxD`j zg0RP`w5UDyObh0_zmJ?xeLol3zX>m$v;mUHAfa6uTz|y&9EVCzps2~DG%C*gJA=Gvs19|YH0gl8a3yKlcs{kW$I7qYjDTHz2%ZjEZ{b_-lA>Lz ze>U~kX$6`;;npy$^mjr+Uy|~+3#jtl0t5D*cO-XU7WB}me%^;e2R@R}&e>EyCz5&6 z^HWAPOkkseAnRE+$>v^C{%J3l6mc;iGB%+LrVb5}P^udA*wBSkp6Lq#+CN4)Fa~+X z4*_NT3*RogOHRdbPC7!}v7SwNT5E$ocpc{_+}v=)$SN`lOr4 zLny2vP6)y!zD1A$13`jqjV@7#vpZUW@+lR^cqF+|WmRq~G)R(LlxX~fQ)2&}KDh*% zk{p~YtcUk=eiYT*>VNNd9ebECDd11V<|)#G+R@r*J>LqjNm-7!Gei_ zfh~1p6x(7U1V`46k~w6D?IbwU?6FW{5N%IE1NM}#j{~-qfZjMzGS-gRc7k)u5!*rx zG@U4|LMLn+!I5&NE;mWekUIQ51^-G&9X?23iA56w5f?0m7^JyC4sl3y6*V}rii%5d zHI_s~TC|#qU1trI%*r*?!db5Um6o;CTDZ7UOVHp-t?4>9YAM@(4Sd&8mOrnfpfGoe z^V6N0V)uG%KQX(Q2l#^*TdoJS7IQr*tqY!@g*&h31(V`~YhF~ww7jWynB`5SMcC)p zozDl0AcTMTP|M`Mfy!#@1}dwz8!71KM$Cc`=JLf%h=G+aW=0GS0EY&XS_`j9NJ3xx zV!8yIe-lQ$1Vk-1VfKXMnVT>VV(?=V=0yzL{9qnDru%*{4?bAzk696eM1O2OG3fB8 zWE?kxzqrif%@m}*1@k62hqh2M<69sCTxMGUwviY#22k1B6o{=LI2Qvk4_=V5Cf_}y zGC>&e{uA{If<7X7!WIon77|0#gD`PIz659cmHLwGcR`pE!Jfp~&d2>owoWi5y&@Rc zdgpeK?5JQ&nrJa$f?8_JG!R717eN-VwD|$kG_=4U(?H(`W1@tt+_qO{s17N+ghlp9 zNE$jAlxBdI?tuP^$LSRU(;Y5I!>5x&`Sa71&}$(S_7KO;Ob{v>s01e*^mF{-LWsvM zGkEdy{)I5d4g}F>nIqj4bqd8S3G3ORaH8zqi8I81zhZqGip?gBaDJFok(0rJY+S{S zfUQ41E(y4fJZcn%%_2l&-*79KL+4aeMUcgR2qMTz3DjvTX`UB-DwZjW-VCDxcoGKF zk1J95Tq7E)G@b_cKQ1_7_J>lD2=2AijA#Utci9j*7R!Y`xaM3UlGv?~i;eJ#v3*Cn zEZSs%&PH3dQq%O|nE7@TPpt;}WGgB}q;~7EO4aPCsLIyeKnFvgsTcCph G8TlU*pWG7w diff --git a/v0.002/Release/source-android/common/filesystem.h b/v0.002/Release/source-android/common/filesystem.h index 53d2caf..1e3f931 100644 --- a/v0.002/Release/source-android/common/filesystem.h +++ b/v0.002/Release/source-android/common/filesystem.h @@ -21,7 +21,6 @@ signals: void error(QString data, int code); public slots: - //void setDirectory(QString Directory); void makeDir(QString name); void rmDir(); void rmFile(QString name); diff --git a/v0.002/Release/source-android/common/xhr.cpp b/v0.002/Release/source-android/common/xhr.cpp index 9661273..1fb79eb 100644 --- a/v0.002/Release/source-android/common/xhr.cpp +++ b/v0.002/Release/source-android/common/xhr.cpp @@ -88,17 +88,12 @@ void XHR::clearParams() void XHR::download() { QUrl requrl(m_url); - //qDebug()<< "replyerror"<error(); -// qDebug() << "start download of " << requrl; request.setUrl(requrl); reply = manager.get(request); -// qDebug() << "reply " << reply->header(QNetworkRequest::LocationHeader)<header(QNetworkRequest::LastModifiedHeader); - // qDebug() << "request " << request.url(); // reply->ignoreSslErrors(); connect(reply, &QNetworkReply::readyRead,this, &XHR::onReadyRead); //connect(reply,SIGNAL(downloadProgress(qint64,qint64)), this,SLOT(updateDownloadProgress(qint64,qint64))); connect(reply, &QNetworkReply::finished,this, &XHR::onRequestFinished); - //connect(reply, SIGNAL(finished()),this, SLOT(onRequestFinished())); connect(reply, &QNetworkReply::sslErrors, this, &XHR::onSSLError); connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onReplyError(QNetworkReply::NetworkError))); } @@ -200,7 +195,6 @@ void XHR::onRequestFinished() file.write(buffer); buffer.clear(); file.close(); - //qDebug() << m_url << "File downloaded "<downloaded(m_downloadtype); //reply->deleteLater(); } diff --git a/v0.002/Release/source-android/js/news.js b/v0.002/Release/source-android/js/news.js index a23fb58..fe75068 100644 --- a/v0.002/Release/source-android/js/news.js +++ b/v0.002/Release/source-android/js/news.js @@ -292,32 +292,32 @@ function like(login,database,toggle,verb,newsid,rootwindow){ function attend(login,database,attend,newsid,rootwindow,callback){ Helperjs.friendicaPostRequest(login,"/api/friendica/activity/attend"+attend+"?id="+newsid, rootwindow,function (obj){ - var attendReturn=JSON.parse(obj); - // print("attend: "+obj); - if (attendReturn=="OK") - {var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]); + //print("attend: "+attend+obj); + if (obj=='"ok"') + var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]); db.transaction( function(tx) { var currentActivities_rs=tx.executeSql('select friendica_activities_self from news WHERE username="'+login.username+'" AND status_id='+newsid) ; - var currentActivities=JSON.parse(currentActivities_rs.rows.item(0)); - print("currentActivities "+JSON.stringify(currentActivities)); - if ((attend=="attendyes")&&(currentActivities.indexOf(3)==-1)){ + var currentActivities=JSON.parse(currentActivities_rs.rows.item(0).friendica_activities_self); + if ((attend=="yes")&&(currentActivities.indexOf(3)==-1)){ currentActivities.push(3); - currentActivities.splice(currentActivities.indexOf(4),1) - currentActivities.splice(currentActivities.indexOf(5),1) + if (currentActivities.indexOf(4)!=-1){currentActivities.splice(currentActivities.indexOf(4),1)} + if (currentActivities.indexOf(5)!=-1){currentActivities.splice(currentActivities.indexOf(5),1)} + print(JSON.stringify(currentActivities)); } - if ((attend=="attendno")&&(currentActivities.indexOf(4)==-1)){ + if ((attend=="no")&&(currentActivities.indexOf(4)==-1)){ currentActivities.push(4); - currentActivities.splice(currentActivities.indexOf(3),1) - currentActivities.splice(currentActivities.indexOf(5),1) + if (currentActivities.indexOf(3)!=-1){currentActivities.splice(currentActivities.indexOf(3),1)} + if (currentActivities.indexOf(5)!=-1){currentActivities.splice(currentActivities.indexOf(5),1)} } - if ((attend=="attendmaybe")&&(currentActivities.indexOf(5)==-1)){ + if ((attend=="maybe")&&(currentActivities.indexOf(5)==-1)){ currentActivities.push(5); - currentActivities.splice(currentActivities.indexOf(3),1) - currentActivities.splice(currentActivities.indexOf(4),1) + if (currentActivities.indexOf(3)!=-1){currentActivities.splice(currentActivities.indexOf(3),1)} + if (currentActivities.indexOf(4)!=-1){currentActivities.splice(currentActivities.indexOf(4),1)} } + var result = tx.executeSql('UPDATE news SET friendica_activities_self ="'+JSON.stringify(currentActivities)+'" where username="'+login.username+'" AND status_id ='+newsid); callback(); - })}})} + })})} function requestConversation(login,database,newsid,contacts,rootwindow,callback){ Helperjs.friendicaRequest(login,"/api/conversation/show?id="+newsid,rootwindow, function (obj){ diff --git a/v0.002/Release/source-android/js/newsworker.js b/v0.002/Release/source-android/js/newsworker.js index 9ae91b6..960bb09 100644 --- a/v0.002/Release/source-android/js/newsworker.js +++ b/v0.002/Release/source-android/js/newsworker.js @@ -4,7 +4,7 @@ WorkerScript.onMessage = function(msg) { for (var j=0;j0){// download first contact image and update db @@ -127,7 +127,7 @@ TabView{ Tab{ title: qsTr("News") id: newstab - property string newstabstatus:login.newsViewType + property string newstabstatus//: login.newsViewType property var conversation source:(root.currentIndex==0)? "qrc:/qml/newsqml/NewsTab.qml":"" } diff --git a/v0.002/Release/source-android/qml/genericqml/BlueButton.qml b/v0.002/Release/source-android/qml/genericqml/BlueButton.qml index 74c250f..ac9c188 100644 --- a/v0.002/Release/source-android/qml/genericqml/BlueButton.qml +++ b/v0.002/Release/source-android/qml/genericqml/BlueButton.qml @@ -31,8 +31,7 @@ Rectangle{ states: [ State { name: "Pressed" - PropertyChanges { target: blueButton; color: "lightsteelblue"} } - //State { name: "RELEASED" PropertyChanges { target: button; color: "lightsteelblue"} + PropertyChanges { target: blueButton; color: "sky blue"} } ] transitions: [ Transition { to:"*" diff --git a/v0.002/Release/source-android/qml/newsqml/Conversation.qml b/v0.002/Release/source-android/qml/newsqml/Conversation.qml index 1f49041..ca9c1a2 100644 --- a/v0.002/Release/source-android/qml/newsqml/Conversation.qml +++ b/v0.002/Release/source-android/qml/newsqml/Conversation.qml @@ -1,9 +1,7 @@ // ConversationStack with buttons import QtQuick 2.0 -import QtQuick.Controls 1.2 import "qrc:/js/helper.js" as Helperjs import "qrc:/qml/genericqml" -import "qrc:/qml" Rectangle { id:conversationStack diff --git a/v0.002/Release/source-android/qml/newsqml/MessageSend.qml b/v0.002/Release/source-android/qml/newsqml/MessageSend.qml index 15a8e88..eb0c209 100644 --- a/v0.002/Release/source-android/qml/newsqml/MessageSend.qml +++ b/v0.002/Release/source-android/qml/newsqml/MessageSend.qml @@ -1,7 +1,7 @@ // message.qml // message with buttons import QtQuick 2.0 -import QtQml 2.2 +//import QtQml 2.2 import QtQuick.Controls 1.3 import QtQuick.Dialogs 1.2 import "qrc:/js/helper.js" as Helperjs @@ -13,7 +13,6 @@ Flickable{ contentHeight: messageColumn.height boundsBehavior: Flickable.StopAtBounds id:messageSend - //property var login property string parentId: "" property string reply_to_user:"" property string attachImageURL: ""; @@ -135,7 +134,6 @@ Flickable{ if (attachImageURL!=""){ Helperjs.showMessage( qsTr("Error"),qsTr("Only one attachment. Remove other attachment first!"), messageColumn)} else{ - try{imageAttachmentObject.destroy()}catch(e){print(e)} imageAttachmentDialog.open()} } } @@ -156,28 +154,25 @@ Flickable{ id: cancelButton text: qsTr("Cancel") onClicked: {newstab.newstabstatus=login.newsViewType; - -newsStack.pop()} + newsStack.pop()} } BlueButton { id: sendButton text: qsTr("Send") onClicked: { - //print("login: "+login.server+login.username); var title=titleField.text.replace("\"","\'"); var body=bodyField.getText(0,bodyField.length); if (directmessage==0){ statusUpdate(title,body,messageSend.parentId,attachImageURL.toString())} else {dmUpdate(title,body,"",messageSend.reply_to_user) } - newsStack.pop() + newstab.newstabstatus=login.newsViewType; newsStack.pop() } } } - -} + } - FileDialog { + FileDialog { id: imageAttachmentDialog title: "Please choose a picture" folder: shortcuts.pictures @@ -192,8 +187,5 @@ newsStack.pop()} else{attachImageURL=imageAttachmentDialog.fileUrl;} } - onRejected: { - //console.log("Canceled") - } } } diff --git a/v0.002/Release/source-android/qml/newsqml/NewsTab.qml b/v0.002/Release/source-android/qml/newsqml/NewsTab.qml index 6b121cd..1048ed4 100644 --- a/v0.002/Release/source-android/qml/newsqml/NewsTab.qml +++ b/v0.002/Release/source-android/qml/newsqml/NewsTab.qml @@ -1,8 +1,8 @@ import QtQuick 2.0 -import QtQuick.Dialogs 1.2 +//import QtQuick.Dialogs 1.2 import QtQuick.Controls 1.2 //import QtQuick.LocalStorage 2.0 as Sql -import "qrc:/qml" +//import "qrc:/qml" import "qrc:/qml/genericqml" import "qrc:/js/news.js" as Newsjs import "qrc:/js/helper.js" as Helperjs @@ -15,6 +15,7 @@ Item { newstabstatusButton.text= qsTr(newstab.newstabstatus) } } + Connections{ target:newstab onConversationChanged:{ @@ -23,14 +24,24 @@ Item { newsStack.push({item:"qrc:/qml/newsqml/Conversation.qml",properties:{"news": conversation}}) } } + Connections{ target:root onCurrentContactChanged:{ if (root.newContacts.length>0){ - print(Qt.atob(root.newContacts[root.currentContact].name)) - } + if(root.currentContact1){newsStack.pop()} newsBusy.running=false; @@ -40,7 +51,7 @@ Item { } function onFriendsMessages(friend){ - newstab.newstabstatus="Contact"; + newstab.newstabstatus="Contact" Newsjs.newsfromdb(db,root.login.username, function(dbnews){showNews(dbnews)},friend) } @@ -83,7 +94,7 @@ Item { var groups=[]; Helperjs.readData(root.db,"groups",root.login.username,function(groupobject){ groups=groupobject}); - newstab.newstabstatus="SendMessage" + newstab.newstabstatus="SendMessage"; Helperjs.readData(root.db,"contacts",root.login.username,function(friends){ newsStack.push({item:"qrc:/qml/newsqml/MessageSend.qml",properties:{"contacts": friends,"login":root.login}}) },"isFriend",1); @@ -177,7 +188,29 @@ Item { width:10*mm height: 10*mm } - + Rectangle{ + id:downloadNotice + property alias text: noticeText.text + color:"white" + border.color:"grey" + z:1 + anchors.horizontalCenter: newsView.horizontalCenter + anchors.bottom:newsView.bottom + anchors.bottomMargin: 2*mm + width: noticeText.width+2*mm + height: noticeText.height+2*mm + visible: (downloadNotice.text!="") + + Text{ + id:noticeText + color: "grey" + anchors.centerIn: parent + width: contentWidth + height: contentHeight + font.pixelSize: 2*mm + text:"" + } + } Menu { id:newstabmenu MenuItem { @@ -224,6 +257,7 @@ Item { root.directmessageSignal.connect(onDirectMessage); root.newsSignal.connect(showNews); try{newsModel.clear()} catch(e){} + newstab.newstabstatus=login.newsViewType; if(login.newsViewType=="Timeline"){Newsjs.newsfromdb(db,login.username,function(dbnews){showNews(dbnews)})} else{Newsjs.chatsfromdb(db,login.username,function(dbnews){showNews(dbnews)})} } diff --git a/v0.002/Release/source-android/qml/newsqml/Newsitem.qml b/v0.002/Release/source-android/qml/newsqml/Newsitem.qml index e6a85fa..b63dca9 100644 --- a/v0.002/Release/source-android/qml/newsqml/Newsitem.qml +++ b/v0.002/Release/source-android/qml/newsqml/Newsitem.qml @@ -1,5 +1,5 @@ import QtQuick 2.0 -import QtQuick.LocalStorage 2.0 +//import QtQuick.LocalStorage 2.0 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 import "qrc:/js/news.js" as Newsjs @@ -10,16 +10,16 @@ Item { width: newsView.width height:Math.max((itemMessage.height+topFlow.height+friendicaActivities.height+4*mm),profileImage.height+user_name.height+mm) - property string conversation_id: "" property string attending: "" onAttendingChanged: {attendLabel.visible=true; attendLabel.text= qsTr("attending: ")+ qsTr(attending)} + signal replyto(string parent_id) + function showConversation(){ conversationsymbol.color="black"; newsBusy.running=true; root.contactLoadType="conversation"; - //newstabstatus="Conversation"; if(newsitemobject.messagetype==0){ Newsjs.requestConversation(root.login,db,newsitemobject.status_id,root.contactlist,root,function(ns,nc){ @@ -27,14 +27,11 @@ Item { })} else{Newsjs.conversationfromdb(root.db,root.login.username,newsitemobject.statusnet_conversation_id, function(newsarray){ root.news=newsarray;root.newContacts=[];root.currentContact=1; - })}} + })} + } Rectangle{width:newsitem.width; height: 1; anchors.bottom: newsitem.bottom; color:"light grey"} - //MouseArea{ - // anchors.fill: parent; - // enabled: (newstabstatus=="Chats") - // onClicked: {showConversation()} - //} + Rectangle{ width:newsitem.width height:newsitem.height-1 @@ -54,12 +51,11 @@ Item { anchors.fill: parent onPressAndHold: { newsmenu.popup()} } - onStatusChanged: if (profileImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"} + onStatusChanged: if (profileImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"} } Label { id:user_name color: "grey" - //height:3.5*mm width:parent.width font.pixelSize: 1.5*mm wrapMode: Text.WrapAtWordBoundaryOrAnywhere @@ -85,7 +81,6 @@ Item { Label { id:createdAtLabel color: "grey" - //height:3.5*mm font.pixelSize: 1.5*mm horizontalAlignment: Label.AlignRight text: dateDiff @@ -93,7 +88,6 @@ Item { Label { id:replytoLabel color: "grey" - //height:3.5*mm font.pixelSize: 1.5*mm horizontalAlignment: Label.AlignRight text: try {qsTr("In reply to ")+newsitemobject.reply_user.screen_name @@ -129,7 +123,8 @@ Item { Qt.openUrlExternally(link)} } - Row{id:friendicaActivities + Row{ + id:friendicaActivities spacing:mm Label{color: "grey" font.pixelSize: 1.5*mm @@ -152,192 +147,186 @@ Item { text: friendica_activities.attendmaybeText } } - Row { - CheckBox{id:likeCheckbox - height:3*mm - width:8*mm - visible: (newsitemobject.messagetype==0)? true:false - checked:(friendica_activities.self.liked==1)?true:false - style: CheckBoxStyle { - background: Rectangle { - implicitWidth: 7*mm - implicitHeight: 3*mm - color:"white" - } - indicator: - Rectangle{ - implicitWidth: 3*mm - implicitHeight:3*mm - color:control.checked?"yellow":"white" - x: 5*mm - Text{ - font.pixelSize: 2*mm - color:"grey" - text:":-)" - }} - } - onClicked: { - if(likeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"like",newsitemobject.status_id,root);dislikeCheckbox.checked=false; model.friendica_activities.self.liked=0 } - else{Newsjs.like(root.login,root.db,0,"like",newsitemobject.status_id,root); model.friendica_activities.self.liked=1}} - } - CheckBox{id: dislikeCheckbox - height:3*mm - width:8*mm - visible: (newsitemobject.messagetype==0)? true:false - checked: (friendica_activities.self.disliked==1)?true:false - style: CheckBoxStyle { - background: Rectangle { - implicitWidth: 7*mm - implicitHeight:3*mm - color:"white" - } - indicator: - Rectangle{ - implicitWidth: 3*mm - implicitHeight:3*mm - color:control.checked?"yellow":"white" - x:5*mm - Text{ - font.pixelSize: 2*mm - color:"grey" - text:":-(" - }} - } - onClicked: { - if (dislikeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"dislike",newsitemobject.status_id,root);likeCheckbox.checked=false; model.friendica_activities.self.disliked=0} - else {Newsjs.like(root.login,root.db,0,"dislike",newsitemobject.status_id,root); model.friendica_activities.self.disliked=1}} - } - CheckBox { - id:favoritedCheckbox - visible:(newsitemobject.messagetype==0) - style: CheckBoxStyle { - background: Rectangle { - implicitWidth: 6*mm - implicitHeight:3*mm - color:"transparent" - } - indicator: - Rectangle{x:3*mm - width: 3*mm - implicitHeight:3*mm - Text{ - anchors.centerIn: parent - color:control.checked?"black":"grey" - text:"\u2605" - }} - } - checked:(newsitemobject.favorited>0) - onClicked:{ - if(favoritedCheckbox.checkedState==Qt.Checked) - {Newsjs.favorite(login,true,newsitemobject.status_id,root); model.newsitemobject.favorited=1} - else if(favoritedCheckbox.checkedState==Qt.Unchecked) - {Newsjs.favorite(login,false,newsitemobject.status_id,root);model.newsitemobject.favorited=0} - } - } - Rectangle{ - width: 4*mm - height: 3*mm - color:"transparent" + Row{ + CheckBox{ + id:likeCheckbox + height:3*mm + width:8*mm + visible: (newsitemobject.messagetype==0)? true:false + checked:(friendica_activities.self.liked==1)?true:false + style: CheckBoxStyle { + background: Rectangle { + implicitWidth: 7*mm + implicitHeight: 3*mm + color:"white" + } + indicator: Rectangle{ + implicitWidth: 3*mm + implicitHeight:3*mm + color:control.checked?"yellow":"white" + x: 5*mm Text{ - id:newsmenusymbol - color: "grey" - anchors.centerIn: parent - font.pixelSize: 2*mm - font.bold: true - text: "\u22EE" + font.pixelSize: 3*mm + color:"grey" + text:":-)" + }} + } + onClicked: { + if(likeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"like",newsitemobject.status_id,root);dislikeCheckbox.checked=false; model.friendica_activities.self.liked=0 } + else{Newsjs.like(root.login,root.db,0,"like",newsitemobject.status_id,root); model.friendica_activities.self.liked=1}} + } + CheckBox{ + id: dislikeCheckbox + height:3*mm + width:8*mm + visible: (newsitemobject.messagetype==0)? true:false + checked: (friendica_activities.self.disliked==1)?true:false + style: CheckBoxStyle { + background: Rectangle { + implicitWidth: 7*mm + implicitHeight:3*mm + color:"white" } - MouseArea{ + indicator: Rectangle{ + implicitWidth: 3*mm + implicitHeight:3*mm + color:control.checked?"yellow":"white" + x:5*mm + Text{ + font.pixelSize: 3*mm + color:"grey" + text:":-(" + }} + } + onClicked: { + if (dislikeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"dislike",newsitemobject.status_id,root);likeCheckbox.checked=false; model.friendica_activities.self.disliked=0} + else {Newsjs.like(root.login,root.db,0,"dislike",newsitemobject.status_id,root); model.friendica_activities.self.disliked=1}} + } + CheckBox { + id:favoritedCheckbox + visible:(newsitemobject.messagetype==0) + style: CheckBoxStyle { + background: Rectangle { + implicitWidth: 6*mm + implicitHeight:3*mm + color:"transparent" + } + indicator:Rectangle{ + x:3*mm + width: 3*mm + implicitHeight:3*mm + Text{ + anchors.centerIn: parent + color:control.checked?"black":"grey" + text:"\u2605" + }} + } + checked:(newsitemobject.favorited>0) + onClicked:{ + if(favoritedCheckbox.checkedState==Qt.Checked){ + Newsjs.favorite(login,true,newsitemobject.status_id,root); model.newsitemobject.favorited=1} + else if(favoritedCheckbox.checkedState==Qt.Unchecked){ + Newsjs.favorite(login,false,newsitemobject.status_id,root);model.newsitemobject.favorited=0} + } + } + Rectangle{ + width: 4*mm + height: 3*mm + color:"transparent" + Text{ + id:newsmenusymbol + color: "grey" + anchors.centerIn: parent + font.pixelSize: 2*mm + font.bold: true + text: "\u22EE" + } + MouseArea{ anchors.fill:parent onClicked: {newsmenu.popup()}} - } - - Rectangle{ - width: 4*mm - height: 3*mm - color:"transparent" - //visible:(newsitemobject.in_reply_to_status_id!="")?true:false - Text{ - id:conversationsymbol - color: "grey" - anchors.centerIn: parent - font.pixelSize: 2*mm - text: "\u21C4" - } - MouseArea{ + Rectangle{ + width: 4*mm + height: 3*mm + color:"transparent" + Text{ + id:conversationsymbol + color: "grey" + anchors.centerIn: parent + font.pixelSize: 2*mm + text: "\u21C4" + } + MouseArea{ anchors.fill:parent onClicked: showConversation() - } } - Label { + } + Label{ id:attendLabel - visible: false + //visible: false color: "grey" height:3.5*mm font.pixelSize: 1.5*mm horizontalAlignment: Label.AlignRight - text: (friendica_activities.self.attending)?qsTr("attending: ")+ qsTr(attending):"" - } + text: (friendica_activities.self.attending)?(qsTr("Attending: ")+ qsTr(friendica_activities.self.attending)):"" } } - +} Menu { - id:newsmenu - MenuItem { - text: qsTr("Reply") - onTriggered: { - var directmessage=0; - if (newsitemobject.messagetype==1){ directmessage=1} - newsStack.push({item:"qrc:/qml/newsqml/MessageSend.qml",properties:{"reply_to_user": newsitemobject.user.screen_name,"parentId":newsitemobject.status_id,"login":root.login,"directmessage":directmessage}}); + id:newsmenu + MenuItem { + text: qsTr("Reply") + onTriggered: { + var directmessage=0; + if (newsitemobject.messagetype==1){ directmessage=1} + newsStack.push({item:"qrc:/qml/newsqml/MessageSend.qml",properties:{"reply_to_user": newsitemobject.user.screen_name,"parentId":newsitemobject.status_id,"login":root.login,"directmessage":directmessage}}); + } } - } - MenuItem { - text: qsTr("DM") - onTriggered: { - root.directmessageSignal(newsitemobject.user.screen_name); + MenuItem { + text: qsTr("DM") + onTriggered: { + root.directmessageSignal(newsitemobject.user.screen_name); + } } - } - MenuItem { - text: qsTr("Repost") - onTriggered: { - Newsjs.retweetNews(root.login,db,newsitemobject.status_id,root,function(reply){ - print(reply); - }) + MenuItem { + text: qsTr("Repost") + onTriggered: { + Newsjs.retweetNews(root.login,db,newsitemobject.status_id,root,function(reply){ + print(reply)}) + } + } + MenuItem { + text: qsTr("Conversation") + onTriggered: showConversation() } - } - MenuItem { - text: qsTr("Conversation") - onTriggered: showConversation() - } - Menu{ - title: qsTr("Attending") - MenuItem{text:qsTr("yes") + Menu{ + title: qsTr("Attending") + MenuItem{ + text:qsTr("yes") onTriggered: {Newsjs.attend(root.login,db,"yes",newsitemobject.status_id,root,function(){ - newsitem.attending="yes"; - attendLabel.visible=true})} + model.friendica_activities.self.attending="yes";attending="yes"}) } - - MenuItem{text:qsTr("maybe") - onTriggered: {Newsjs.attend(root.login,db,"maybe",newsitemobject.status_id,root,function(){ - newsitem.attending="maybe"})} } - - MenuItem{text:qsTr("no") - onTriggered: {Newsjs.attend(root.login,db,"no",newsitemobject.status_id,root,function(){ - newsitem.attending="no"})} + MenuItem{text:qsTr("maybe") + onTriggered: {Newsjs.attend(root.login,db,"maybe",newsitemobject.status_id,root,function(){ + model.friendica_activities.self.attending="maybe";attending="maybe"}) + } + } + MenuItem{text:qsTr("no") + onTriggered: {Newsjs.attend(root.login,db,"no",newsitemobject.status_id,root,function(){ + model.friendica_activities.self.attending="no";attending="no"})} } } - MenuItem { - text: qsTr("Delete") - onTriggered: { - Newsjs.deleteNews(root.login,root.db,newsitemobject.status_id,newsitemobject.messagetype,root,function(reply){ - newsModel.remove(index); - }) + MenuItem { + text: qsTr("Delete") + onTriggered: { + Newsjs.deleteNews(root.login,root.db,newsitemobject.status_id,newsitemobject.messagetype,root,function(reply){ + newsModel.remove(index)}) + } } } } } -} diff --git a/v0.002/Release/source-android/qml/newsqml/PermissionDialog.qml b/v0.002/Release/source-android/qml/newsqml/PermissionDialog.qml index d7e659a..47125c2 100644 --- a/v0.002/Release/source-android/qml/newsqml/PermissionDialog.qml +++ b/v0.002/Release/source-android/qml/newsqml/PermissionDialog.qml @@ -1,7 +1,4 @@ import QtQuick 2.0 -import QtQuick.Dialogs 1.2 -import QtQuick.Controls 1.4 -import QtQml.Models 2.1 import "qrc:/js/service.js" as Service import "qrc:/js/helper.js" as Helperjs import "qrc:/qml/genericqml" @@ -20,10 +17,8 @@ Rectangle{ group_deny.push(groupModel.get(i).group.gid) } } - for (var j=0;j-1){contactstatus="positive";print(contacts[name].cid+" pos")} diff --git a/v0.002/Release/source-android/qml/photoqml/PhotoComponent.qml b/v0.002/Release/source-android/qml/photoqml/PhotoComponent.qml index 9884d71..9a68b6f 100644 --- a/v0.002/Release/source-android/qml/photoqml/PhotoComponent.qml +++ b/v0.002/Release/source-android/qml/photoqml/PhotoComponent.qml @@ -1,5 +1,4 @@ import QtQuick 2.0 -//import QtQuick.LocalStorage 2.0 import QtQuick.Controls 1.2 Package { @@ -17,62 +16,58 @@ Package { id: placeHolder color: 'lightblue'; antialiasing: true anchors.fill:parent - } - - BusyIndicator { anchors.centerIn: parent; running: realImage.status != Image.Ready } - Image { - id: realImage; - // property string hqphotolink: photoLink - width: photoWrapper.width; height: photoWrapper.height - antialiasing: true; - asynchronous: true - cache: false - fillMode: Image.PreserveAspectFit; - source: imageLocation - // onStatusChanged: if (realImage.status == Image.Ready) print(realImage.paintedHeight+"x"+realImage.paintedWidth) - } - Rectangle{ - id:phototextRectangle - color:"black" - z:3 - opacity: 0.5 - width:phototext.contentWidth - height: phototext.contentHeight - anchors.bottom: photoWrapper.bottom - } - Text { - id:phototext - z:4 - text: photoDescription.trim() - width:15*mm - anchors.bottom: photoWrapper.bottom - color: "white" - font.pixelSize: 2*mm - wrapMode:Text.Wrap + } + BusyIndicator { anchors.centerIn: parent; running: realImage.status != Image.Ready } + Image { + id: realImage; + width: photoWrapper.width; height: photoWrapper.height + antialiasing: true; + asynchronous: true + cache: false + fillMode: Image.PreserveAspectFit; + source: imageLocation + } + Rectangle{ + id:phototextRectangle + color:"black" + z:3 + opacity: 0.5 + width:phototext.contentWidth + height: phototext.contentHeight + anchors.bottom: photoWrapper.bottom + } + Text { + id:phototext + z:4 + text: photoDescription.trim() + width:15*mm + anchors.bottom: photoWrapper.bottom + color: "white" + font.pixelSize: 2*mm + wrapMode:Text.Wrap + } + MouseArea { + width: realImage.paintedWidth; height: realImage.paintedHeight; anchors.centerIn: realImage + onClicked: { + if (albumWrapper.state == 'inGrid') { + gridItem.GridView.view.currentIndex = index; + albumWrapper.state = 'fullscreen' + } else { + gridItem.GridView.view.currentIndex = index; + albumWrapper.state = 'inGrid' } - MouseArea { - width: realImage.paintedWidth; height: realImage.paintedHeight; anchors.centerIn: realImage - onClicked: { - if (albumWrapper.state == 'inGrid') { - gridItem.GridView.view.currentIndex = index; - //print("photoLink"+realImage.photoLink) - albumWrapper.state = 'fullscreen' - } else { - gridItem.GridView.view.currentIndex = index; - albumWrapper.state = 'inGrid' - } - } - } + } + } - states: [ - State { - name: 'stacked'; when: albumWrapper.state == '' + states: [ + State { + name: 'stacked'; when: albumWrapper.state == '' ParentChange { target: photoWrapper; parent: stackItem; }//x: 1*mm; y: 1*mm } - PropertyChanges { target: photoWrapper; opacity: stackItem.PathView.onPath ? 1.0 : 0.0 } - PropertyChanges { target: phototext; opacity: 0.0 } - PropertyChanges { target: phototextRectangle; opacity: 0.0 } - }, - State { + PropertyChanges { target: photoWrapper; opacity: stackItem.PathView.onPath ? 1.0 : 0.0 } + PropertyChanges { target: phototext; opacity: 0.0 } + PropertyChanges { target: phototextRectangle; opacity: 0.0 } + }, + State { name: 'inGrid'; when: albumWrapper.state == 'inGrid' ParentChange { target: photoWrapper; parent: gridItem; x: 1*mm; y: 1*mm;} PropertyChanges { target: phototext; opacity: 1.0 } @@ -86,14 +81,12 @@ Package { width: root.width-mm; height: root.height-8*mm } PropertyChanges { target: placeHolder; opacity: 0.0 } - PropertyChanges { target: realImage; source: photoWrapper.hqphotolink} + PropertyChanges { target: realImage; source: photoWrapper.hqphotolink} PropertyChanges { target: phototext; anchors.bottom: realImage.bottom} PropertyChanges { target: phototext; width:realImage.width } PropertyChanges { target: phototextRectangle; anchors.bottom: realImage.bottom } PropertyChanges { target: realImage; width: Math.min(listItem.width,sourceSize.width);height: Math.min(listItem.height,sourceSize.height) } } - ] - - } + ] + } } - diff --git a/v0.002/Release/source-android/qml/photoqml/PhotoTab.qml b/v0.002/Release/source-android/qml/photoqml/PhotoTab.qml index edada91..9eed0bf 100644 --- a/v0.002/Release/source-android/qml/photoqml/PhotoTab.qml +++ b/v0.002/Release/source-android/qml/photoqml/PhotoTab.qml @@ -1,5 +1,5 @@ import QtQuick 2.0 -import QtQuick.Dialogs 1.2 +//import QtQuick.Dialogs 1.2 import QtQuick.Controls 1.4 import QtQml.Models 2.1 import "qrc:/js/service.js" as Service @@ -18,21 +18,17 @@ Rectangle { color: '#fff' property var newimages:[] property int currentimageno: 0 -//onLoginChanged:{var msg = {'model': photogroupModel,'albums':[],'firstalbum':0,'foreignPicture':false}; -// photoWorker.sendMessage(msg); -//} + onNewimagesChanged:{ - if(newimages.length>0){ - Helperjs.readField("album",root.db,"imageData",root.login.username,function(albums){ - //print("albums"+JSON.stringify(albums)+JSON.stringify(newimages[currentimageno])); - for (var i=0;i0){ + Helperjs.readField("album",root.db,"imageData",root.login.username,function(albums){ + for (var i=0;ierror(); -// qDebug() << "start download of " << requrl; request.setUrl(requrl); reply = manager.get(request); -// qDebug() << "reply " << reply->header(QNetworkRequest::LocationHeader)<header(QNetworkRequest::LastModifiedHeader); - // qDebug() << "request " << request.url(); // reply->ignoreSslErrors(); connect(reply, &QNetworkReply::readyRead,this, &XHR::onReadyRead); //connect(reply,SIGNAL(downloadProgress(qint64,qint64)), this,SLOT(updateDownloadProgress(qint64,qint64))); connect(reply, &QNetworkReply::finished,this, &XHR::onRequestFinished); - //connect(reply, SIGNAL(finished()),this, SLOT(onRequestFinished())); connect(reply, &QNetworkReply::sslErrors, this, &XHR::onSSLError); connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onReplyError(QNetworkReply::NetworkError))); } @@ -200,7 +195,6 @@ void XHR::onRequestFinished() file.write(buffer); buffer.clear(); file.close(); - //qDebug() << m_url << "File downloaded "<downloaded(m_downloadtype); //reply->deleteLater(); } diff --git a/v0.002/Release/source-linux/js/news.js b/v0.002/Release/source-linux/js/news.js index a23fb58..fe75068 100644 --- a/v0.002/Release/source-linux/js/news.js +++ b/v0.002/Release/source-linux/js/news.js @@ -292,32 +292,32 @@ function like(login,database,toggle,verb,newsid,rootwindow){ function attend(login,database,attend,newsid,rootwindow,callback){ Helperjs.friendicaPostRequest(login,"/api/friendica/activity/attend"+attend+"?id="+newsid, rootwindow,function (obj){ - var attendReturn=JSON.parse(obj); - // print("attend: "+obj); - if (attendReturn=="OK") - {var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]); + //print("attend: "+attend+obj); + if (obj=='"ok"') + var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]); db.transaction( function(tx) { var currentActivities_rs=tx.executeSql('select friendica_activities_self from news WHERE username="'+login.username+'" AND status_id='+newsid) ; - var currentActivities=JSON.parse(currentActivities_rs.rows.item(0)); - print("currentActivities "+JSON.stringify(currentActivities)); - if ((attend=="attendyes")&&(currentActivities.indexOf(3)==-1)){ + var currentActivities=JSON.parse(currentActivities_rs.rows.item(0).friendica_activities_self); + if ((attend=="yes")&&(currentActivities.indexOf(3)==-1)){ currentActivities.push(3); - currentActivities.splice(currentActivities.indexOf(4),1) - currentActivities.splice(currentActivities.indexOf(5),1) + if (currentActivities.indexOf(4)!=-1){currentActivities.splice(currentActivities.indexOf(4),1)} + if (currentActivities.indexOf(5)!=-1){currentActivities.splice(currentActivities.indexOf(5),1)} + print(JSON.stringify(currentActivities)); } - if ((attend=="attendno")&&(currentActivities.indexOf(4)==-1)){ + if ((attend=="no")&&(currentActivities.indexOf(4)==-1)){ currentActivities.push(4); - currentActivities.splice(currentActivities.indexOf(3),1) - currentActivities.splice(currentActivities.indexOf(5),1) + if (currentActivities.indexOf(3)!=-1){currentActivities.splice(currentActivities.indexOf(3),1)} + if (currentActivities.indexOf(5)!=-1){currentActivities.splice(currentActivities.indexOf(5),1)} } - if ((attend=="attendmaybe")&&(currentActivities.indexOf(5)==-1)){ + if ((attend=="maybe")&&(currentActivities.indexOf(5)==-1)){ currentActivities.push(5); - currentActivities.splice(currentActivities.indexOf(3),1) - currentActivities.splice(currentActivities.indexOf(4),1) + if (currentActivities.indexOf(3)!=-1){currentActivities.splice(currentActivities.indexOf(3),1)} + if (currentActivities.indexOf(4)!=-1){currentActivities.splice(currentActivities.indexOf(4),1)} } + var result = tx.executeSql('UPDATE news SET friendica_activities_self ="'+JSON.stringify(currentActivities)+'" where username="'+login.username+'" AND status_id ='+newsid); callback(); - })}})} + })})} function requestConversation(login,database,newsid,contacts,rootwindow,callback){ Helperjs.friendicaRequest(login,"/api/conversation/show?id="+newsid,rootwindow, function (obj){ diff --git a/v0.002/Release/source-linux/js/newsworker.js b/v0.002/Release/source-linux/js/newsworker.js index 9ae91b6..960bb09 100644 --- a/v0.002/Release/source-linux/js/newsworker.js +++ b/v0.002/Release/source-linux/js/newsworker.js @@ -4,7 +4,7 @@ WorkerScript.onMessage = function(msg) { for (var j=0;j0){// download first contact image and update db @@ -127,7 +127,7 @@ TabView{ Tab{ title: qsTr("News") id: newstab - property string newstabstatus:login.newsViewType + property string newstabstatus//: login.newsViewType property var conversation source:(root.currentIndex==0)? "qrc:/qml/newsqml/NewsTab.qml":"" } diff --git a/v0.002/Release/source-linux/qml/genericqml/BlueButton.qml b/v0.002/Release/source-linux/qml/genericqml/BlueButton.qml index 74c250f..ac9c188 100644 --- a/v0.002/Release/source-linux/qml/genericqml/BlueButton.qml +++ b/v0.002/Release/source-linux/qml/genericqml/BlueButton.qml @@ -31,8 +31,7 @@ Rectangle{ states: [ State { name: "Pressed" - PropertyChanges { target: blueButton; color: "lightsteelblue"} } - //State { name: "RELEASED" PropertyChanges { target: button; color: "lightsteelblue"} + PropertyChanges { target: blueButton; color: "sky blue"} } ] transitions: [ Transition { to:"*" diff --git a/v0.002/Release/source-linux/qml/newsqml/Conversation.qml b/v0.002/Release/source-linux/qml/newsqml/Conversation.qml index 1f49041..ca9c1a2 100644 --- a/v0.002/Release/source-linux/qml/newsqml/Conversation.qml +++ b/v0.002/Release/source-linux/qml/newsqml/Conversation.qml @@ -1,9 +1,7 @@ // ConversationStack with buttons import QtQuick 2.0 -import QtQuick.Controls 1.2 import "qrc:/js/helper.js" as Helperjs import "qrc:/qml/genericqml" -import "qrc:/qml" Rectangle { id:conversationStack diff --git a/v0.002/Release/source-linux/qml/newsqml/MessageSend.qml b/v0.002/Release/source-linux/qml/newsqml/MessageSend.qml index 15a8e88..eb0c209 100644 --- a/v0.002/Release/source-linux/qml/newsqml/MessageSend.qml +++ b/v0.002/Release/source-linux/qml/newsqml/MessageSend.qml @@ -1,7 +1,7 @@ // message.qml // message with buttons import QtQuick 2.0 -import QtQml 2.2 +//import QtQml 2.2 import QtQuick.Controls 1.3 import QtQuick.Dialogs 1.2 import "qrc:/js/helper.js" as Helperjs @@ -13,7 +13,6 @@ Flickable{ contentHeight: messageColumn.height boundsBehavior: Flickable.StopAtBounds id:messageSend - //property var login property string parentId: "" property string reply_to_user:"" property string attachImageURL: ""; @@ -135,7 +134,6 @@ Flickable{ if (attachImageURL!=""){ Helperjs.showMessage( qsTr("Error"),qsTr("Only one attachment. Remove other attachment first!"), messageColumn)} else{ - try{imageAttachmentObject.destroy()}catch(e){print(e)} imageAttachmentDialog.open()} } } @@ -156,28 +154,25 @@ Flickable{ id: cancelButton text: qsTr("Cancel") onClicked: {newstab.newstabstatus=login.newsViewType; - -newsStack.pop()} + newsStack.pop()} } BlueButton { id: sendButton text: qsTr("Send") onClicked: { - //print("login: "+login.server+login.username); var title=titleField.text.replace("\"","\'"); var body=bodyField.getText(0,bodyField.length); if (directmessage==0){ statusUpdate(title,body,messageSend.parentId,attachImageURL.toString())} else {dmUpdate(title,body,"",messageSend.reply_to_user) } - newsStack.pop() + newstab.newstabstatus=login.newsViewType; newsStack.pop() } } } - -} + } - FileDialog { + FileDialog { id: imageAttachmentDialog title: "Please choose a picture" folder: shortcuts.pictures @@ -192,8 +187,5 @@ newsStack.pop()} else{attachImageURL=imageAttachmentDialog.fileUrl;} } - onRejected: { - //console.log("Canceled") - } } } diff --git a/v0.002/Release/source-linux/qml/newsqml/NewsTab.qml b/v0.002/Release/source-linux/qml/newsqml/NewsTab.qml index 6b121cd..1048ed4 100644 --- a/v0.002/Release/source-linux/qml/newsqml/NewsTab.qml +++ b/v0.002/Release/source-linux/qml/newsqml/NewsTab.qml @@ -1,8 +1,8 @@ import QtQuick 2.0 -import QtQuick.Dialogs 1.2 +//import QtQuick.Dialogs 1.2 import QtQuick.Controls 1.2 //import QtQuick.LocalStorage 2.0 as Sql -import "qrc:/qml" +//import "qrc:/qml" import "qrc:/qml/genericqml" import "qrc:/js/news.js" as Newsjs import "qrc:/js/helper.js" as Helperjs @@ -15,6 +15,7 @@ Item { newstabstatusButton.text= qsTr(newstab.newstabstatus) } } + Connections{ target:newstab onConversationChanged:{ @@ -23,14 +24,24 @@ Item { newsStack.push({item:"qrc:/qml/newsqml/Conversation.qml",properties:{"news": conversation}}) } } + Connections{ target:root onCurrentContactChanged:{ if (root.newContacts.length>0){ - print(Qt.atob(root.newContacts[root.currentContact].name)) - } + if(root.currentContact1){newsStack.pop()} newsBusy.running=false; @@ -40,7 +51,7 @@ Item { } function onFriendsMessages(friend){ - newstab.newstabstatus="Contact"; + newstab.newstabstatus="Contact" Newsjs.newsfromdb(db,root.login.username, function(dbnews){showNews(dbnews)},friend) } @@ -83,7 +94,7 @@ Item { var groups=[]; Helperjs.readData(root.db,"groups",root.login.username,function(groupobject){ groups=groupobject}); - newstab.newstabstatus="SendMessage" + newstab.newstabstatus="SendMessage"; Helperjs.readData(root.db,"contacts",root.login.username,function(friends){ newsStack.push({item:"qrc:/qml/newsqml/MessageSend.qml",properties:{"contacts": friends,"login":root.login}}) },"isFriend",1); @@ -177,7 +188,29 @@ Item { width:10*mm height: 10*mm } - + Rectangle{ + id:downloadNotice + property alias text: noticeText.text + color:"white" + border.color:"grey" + z:1 + anchors.horizontalCenter: newsView.horizontalCenter + anchors.bottom:newsView.bottom + anchors.bottomMargin: 2*mm + width: noticeText.width+2*mm + height: noticeText.height+2*mm + visible: (downloadNotice.text!="") + + Text{ + id:noticeText + color: "grey" + anchors.centerIn: parent + width: contentWidth + height: contentHeight + font.pixelSize: 2*mm + text:"" + } + } Menu { id:newstabmenu MenuItem { @@ -224,6 +257,7 @@ Item { root.directmessageSignal.connect(onDirectMessage); root.newsSignal.connect(showNews); try{newsModel.clear()} catch(e){} + newstab.newstabstatus=login.newsViewType; if(login.newsViewType=="Timeline"){Newsjs.newsfromdb(db,login.username,function(dbnews){showNews(dbnews)})} else{Newsjs.chatsfromdb(db,login.username,function(dbnews){showNews(dbnews)})} } diff --git a/v0.002/Release/source-linux/qml/newsqml/Newsitem.qml b/v0.002/Release/source-linux/qml/newsqml/Newsitem.qml index e6a85fa..ae036e7 100644 --- a/v0.002/Release/source-linux/qml/newsqml/Newsitem.qml +++ b/v0.002/Release/source-linux/qml/newsqml/Newsitem.qml @@ -1,5 +1,5 @@ import QtQuick 2.0 -import QtQuick.LocalStorage 2.0 +//import QtQuick.LocalStorage 2.0 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 import "qrc:/js/news.js" as Newsjs @@ -10,16 +10,18 @@ Item { width: newsView.width height:Math.max((itemMessage.height+topFlow.height+friendicaActivities.height+4*mm),profileImage.height+user_name.height+mm) - property string conversation_id: "" + //property string conversation_id: "" property string attending: "" + onAttendingChanged: {attendLabel.visible=true; attendLabel.text= qsTr("attending: ")+ qsTr(attending)} + signal replyto(string parent_id) + function showConversation(){ conversationsymbol.color="black"; newsBusy.running=true; root.contactLoadType="conversation"; - //newstabstatus="Conversation"; if(newsitemobject.messagetype==0){ Newsjs.requestConversation(root.login,db,newsitemobject.status_id,root.contactlist,root,function(ns,nc){ @@ -27,14 +29,11 @@ Item { })} else{Newsjs.conversationfromdb(root.db,root.login.username,newsitemobject.statusnet_conversation_id, function(newsarray){ root.news=newsarray;root.newContacts=[];root.currentContact=1; - })}} + })} + } Rectangle{width:newsitem.width; height: 1; anchors.bottom: newsitem.bottom; color:"light grey"} - //MouseArea{ - // anchors.fill: parent; - // enabled: (newstabstatus=="Chats") - // onClicked: {showConversation()} - //} + Rectangle{ width:newsitem.width height:newsitem.height-1 @@ -54,12 +53,11 @@ Item { anchors.fill: parent onPressAndHold: { newsmenu.popup()} } - onStatusChanged: if (profileImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"} + onStatusChanged: if (profileImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"} } Label { id:user_name color: "grey" - //height:3.5*mm width:parent.width font.pixelSize: 1.5*mm wrapMode: Text.WrapAtWordBoundaryOrAnywhere @@ -85,7 +83,6 @@ Item { Label { id:createdAtLabel color: "grey" - //height:3.5*mm font.pixelSize: 1.5*mm horizontalAlignment: Label.AlignRight text: dateDiff @@ -93,7 +90,6 @@ Item { Label { id:replytoLabel color: "grey" - //height:3.5*mm font.pixelSize: 1.5*mm horizontalAlignment: Label.AlignRight text: try {qsTr("In reply to ")+newsitemobject.reply_user.screen_name @@ -129,7 +125,8 @@ Item { Qt.openUrlExternally(link)} } - Row{id:friendicaActivities + Row{ + id:friendicaActivities spacing:mm Label{color: "grey" font.pixelSize: 1.5*mm @@ -152,192 +149,186 @@ Item { text: friendica_activities.attendmaybeText } } - Row { - CheckBox{id:likeCheckbox - height:3*mm - width:8*mm - visible: (newsitemobject.messagetype==0)? true:false - checked:(friendica_activities.self.liked==1)?true:false - style: CheckBoxStyle { - background: Rectangle { - implicitWidth: 7*mm - implicitHeight: 3*mm - color:"white" - } - indicator: - Rectangle{ - implicitWidth: 3*mm - implicitHeight:3*mm - color:control.checked?"yellow":"white" - x: 5*mm - Text{ - font.pixelSize: 2*mm - color:"grey" - text:":-)" - }} - } - onClicked: { - if(likeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"like",newsitemobject.status_id,root);dislikeCheckbox.checked=false; model.friendica_activities.self.liked=0 } - else{Newsjs.like(root.login,root.db,0,"like",newsitemobject.status_id,root); model.friendica_activities.self.liked=1}} - } - CheckBox{id: dislikeCheckbox - height:3*mm - width:8*mm - visible: (newsitemobject.messagetype==0)? true:false - checked: (friendica_activities.self.disliked==1)?true:false - style: CheckBoxStyle { - background: Rectangle { - implicitWidth: 7*mm - implicitHeight:3*mm - color:"white" - } - indicator: - Rectangle{ - implicitWidth: 3*mm - implicitHeight:3*mm - color:control.checked?"yellow":"white" - x:5*mm - Text{ - font.pixelSize: 2*mm - color:"grey" - text:":-(" - }} - } - onClicked: { - if (dislikeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"dislike",newsitemobject.status_id,root);likeCheckbox.checked=false; model.friendica_activities.self.disliked=0} - else {Newsjs.like(root.login,root.db,0,"dislike",newsitemobject.status_id,root); model.friendica_activities.self.disliked=1}} - } - CheckBox { - id:favoritedCheckbox - visible:(newsitemobject.messagetype==0) - style: CheckBoxStyle { - background: Rectangle { - implicitWidth: 6*mm - implicitHeight:3*mm - color:"transparent" - } - indicator: - Rectangle{x:3*mm - width: 3*mm - implicitHeight:3*mm - Text{ - anchors.centerIn: parent - color:control.checked?"black":"grey" - text:"\u2605" - }} - } - checked:(newsitemobject.favorited>0) - onClicked:{ - if(favoritedCheckbox.checkedState==Qt.Checked) - {Newsjs.favorite(login,true,newsitemobject.status_id,root); model.newsitemobject.favorited=1} - else if(favoritedCheckbox.checkedState==Qt.Unchecked) - {Newsjs.favorite(login,false,newsitemobject.status_id,root);model.newsitemobject.favorited=0} - } - } - Rectangle{ - width: 4*mm - height: 3*mm - color:"transparent" + Row{ + CheckBox{ + id:likeCheckbox + height:3*mm + width:8*mm + visible: (newsitemobject.messagetype==0)? true:false + checked:(friendica_activities.self.liked==1)?true:false + style: CheckBoxStyle { + background: Rectangle { + implicitWidth: 7*mm + implicitHeight: 3*mm + color:"white" + } + indicator: Rectangle{ + implicitWidth: 3*mm + implicitHeight:3*mm + color:control.checked?"yellow":"white" + x: 5*mm Text{ - id:newsmenusymbol - color: "grey" - anchors.centerIn: parent - font.pixelSize: 2*mm - font.bold: true - text: "\u22EE" + font.pixelSize: 3*mm + color:"grey" + text:":-)" + }} + } + onClicked: { + if(likeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"like",newsitemobject.status_id,root);dislikeCheckbox.checked=false; model.friendica_activities.self.liked=0 } + else{Newsjs.like(root.login,root.db,0,"like",newsitemobject.status_id,root); model.friendica_activities.self.liked=1}} + } + CheckBox{ + id: dislikeCheckbox + height:3*mm + width:8*mm + visible: (newsitemobject.messagetype==0)? true:false + checked: (friendica_activities.self.disliked==1)?true:false + style: CheckBoxStyle { + background: Rectangle { + implicitWidth: 7*mm + implicitHeight:3*mm + color:"white" } - MouseArea{ + indicator: Rectangle{ + implicitWidth: 3*mm + implicitHeight:3*mm + color:control.checked?"yellow":"white" + x:5*mm + Text{ + font.pixelSize: 3*mm + color:"grey" + text:":-(" + }} + } + onClicked: { + if (dislikeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"dislike",newsitemobject.status_id,root);likeCheckbox.checked=false; model.friendica_activities.self.disliked=0} + else {Newsjs.like(root.login,root.db,0,"dislike",newsitemobject.status_id,root); model.friendica_activities.self.disliked=1}} + } + CheckBox { + id:favoritedCheckbox + visible:(newsitemobject.messagetype==0) + style: CheckBoxStyle { + background: Rectangle { + implicitWidth: 6*mm + implicitHeight:3*mm + color:"transparent" + } + indicator:Rectangle{ + x:3*mm + width: 3*mm + implicitHeight:3*mm + Text{ + anchors.centerIn: parent + color:control.checked?"black":"grey" + text:"\u2605" + }} + } + checked:(newsitemobject.favorited>0) + onClicked:{ + if(favoritedCheckbox.checkedState==Qt.Checked){ + Newsjs.favorite(login,true,newsitemobject.status_id,root); model.newsitemobject.favorited=1} + else if(favoritedCheckbox.checkedState==Qt.Unchecked){ + Newsjs.favorite(login,false,newsitemobject.status_id,root);model.newsitemobject.favorited=0} + } + } + Rectangle{ + width: 4*mm + height: 3*mm + color:"transparent" + Text{ + id:newsmenusymbol + color: "grey" + anchors.centerIn: parent + font.pixelSize: 2*mm + font.bold: true + text: "\u22EE" + } + MouseArea{ anchors.fill:parent onClicked: {newsmenu.popup()}} - } - - Rectangle{ - width: 4*mm - height: 3*mm - color:"transparent" - //visible:(newsitemobject.in_reply_to_status_id!="")?true:false - Text{ - id:conversationsymbol - color: "grey" - anchors.centerIn: parent - font.pixelSize: 2*mm - text: "\u21C4" - } - MouseArea{ + Rectangle{ + width: 4*mm + height: 3*mm + color:"transparent" + Text{ + id:conversationsymbol + color: "grey" + anchors.centerIn: parent + font.pixelSize: 2*mm + text: "\u21C4" + } + MouseArea{ anchors.fill:parent onClicked: showConversation() - } } - Label { + } + Label{ id:attendLabel - visible: false + //visible: false color: "grey" height:3.5*mm - font.pixelSize: 1.5*mm + font.pixelSize: 2*mm horizontalAlignment: Label.AlignRight - text: (friendica_activities.self.attending)?qsTr("attending: ")+ qsTr(attending):"" - } + text: (friendica_activities.self.attending)?(qsTr("Attending: ")+ qsTr(friendica_activities.self.attending)):"" } } - +} Menu { - id:newsmenu - MenuItem { - text: qsTr("Reply") - onTriggered: { - var directmessage=0; - if (newsitemobject.messagetype==1){ directmessage=1} - newsStack.push({item:"qrc:/qml/newsqml/MessageSend.qml",properties:{"reply_to_user": newsitemobject.user.screen_name,"parentId":newsitemobject.status_id,"login":root.login,"directmessage":directmessage}}); + id:newsmenu + MenuItem { + text: qsTr("Reply") + onTriggered: { + var directmessage=0; + if (newsitemobject.messagetype==1){ directmessage=1} + newsStack.push({item:"qrc:/qml/newsqml/MessageSend.qml",properties:{"reply_to_user": newsitemobject.user.screen_name,"parentId":newsitemobject.status_id,"login":root.login,"directmessage":directmessage}}); + } } - } - MenuItem { - text: qsTr("DM") - onTriggered: { - root.directmessageSignal(newsitemobject.user.screen_name); + MenuItem { + text: qsTr("DM") + onTriggered: { + root.directmessageSignal(newsitemobject.user.screen_name); + } } - } - MenuItem { - text: qsTr("Repost") - onTriggered: { - Newsjs.retweetNews(root.login,db,newsitemobject.status_id,root,function(reply){ - print(reply); - }) + MenuItem { + text: qsTr("Repost") + onTriggered: { + Newsjs.retweetNews(root.login,db,newsitemobject.status_id,root,function(reply){ + print(reply)}) + } + } + MenuItem { + text: qsTr("Conversation") + onTriggered: showConversation() } - } - MenuItem { - text: qsTr("Conversation") - onTriggered: showConversation() - } - Menu{ - title: qsTr("Attending") - MenuItem{text:qsTr("yes") + Menu{ + title: qsTr("Attending") + MenuItem{ + text:qsTr("yes") onTriggered: {Newsjs.attend(root.login,db,"yes",newsitemobject.status_id,root,function(){ - newsitem.attending="yes"; - attendLabel.visible=true})} + model.friendica_activities.self.attending="yes";attending="yes"}) } - - MenuItem{text:qsTr("maybe") - onTriggered: {Newsjs.attend(root.login,db,"maybe",newsitemobject.status_id,root,function(){ - newsitem.attending="maybe"})} } - - MenuItem{text:qsTr("no") - onTriggered: {Newsjs.attend(root.login,db,"no",newsitemobject.status_id,root,function(){ - newsitem.attending="no"})} + MenuItem{text:qsTr("maybe") + onTriggered: {Newsjs.attend(root.login,db,"maybe",newsitemobject.status_id,root,function(){ + model.friendica_activities.self.attending="maybe";attending="maybe"}) + } + } + MenuItem{text:qsTr("no") + onTriggered: {Newsjs.attend(root.login,db,"no",newsitemobject.status_id,root,function(){ + model.friendica_activities.self.attending="no";attending="no"})} } } - MenuItem { - text: qsTr("Delete") - onTriggered: { - Newsjs.deleteNews(root.login,root.db,newsitemobject.status_id,newsitemobject.messagetype,root,function(reply){ - newsModel.remove(index); - }) + MenuItem { + text: qsTr("Delete") + onTriggered: { + Newsjs.deleteNews(root.login,root.db,newsitemobject.status_id,newsitemobject.messagetype,root,function(reply){ + newsModel.remove(index)}) + } } } } } -} diff --git a/v0.002/Release/source-linux/qml/newsqml/PermissionDialog.qml b/v0.002/Release/source-linux/qml/newsqml/PermissionDialog.qml index d7e659a..47125c2 100644 --- a/v0.002/Release/source-linux/qml/newsqml/PermissionDialog.qml +++ b/v0.002/Release/source-linux/qml/newsqml/PermissionDialog.qml @@ -1,7 +1,4 @@ import QtQuick 2.0 -import QtQuick.Dialogs 1.2 -import QtQuick.Controls 1.4 -import QtQml.Models 2.1 import "qrc:/js/service.js" as Service import "qrc:/js/helper.js" as Helperjs import "qrc:/qml/genericqml" @@ -20,10 +17,8 @@ Rectangle{ group_deny.push(groupModel.get(i).group.gid) } } - for (var j=0;j-1){contactstatus="positive";print(contacts[name].cid+" pos")} diff --git a/v0.002/Release/source-linux/qml/photoqml/PhotoComponent.qml b/v0.002/Release/source-linux/qml/photoqml/PhotoComponent.qml index 9884d71..9a68b6f 100644 --- a/v0.002/Release/source-linux/qml/photoqml/PhotoComponent.qml +++ b/v0.002/Release/source-linux/qml/photoqml/PhotoComponent.qml @@ -1,5 +1,4 @@ import QtQuick 2.0 -//import QtQuick.LocalStorage 2.0 import QtQuick.Controls 1.2 Package { @@ -17,62 +16,58 @@ Package { id: placeHolder color: 'lightblue'; antialiasing: true anchors.fill:parent - } - - BusyIndicator { anchors.centerIn: parent; running: realImage.status != Image.Ready } - Image { - id: realImage; - // property string hqphotolink: photoLink - width: photoWrapper.width; height: photoWrapper.height - antialiasing: true; - asynchronous: true - cache: false - fillMode: Image.PreserveAspectFit; - source: imageLocation - // onStatusChanged: if (realImage.status == Image.Ready) print(realImage.paintedHeight+"x"+realImage.paintedWidth) - } - Rectangle{ - id:phototextRectangle - color:"black" - z:3 - opacity: 0.5 - width:phototext.contentWidth - height: phototext.contentHeight - anchors.bottom: photoWrapper.bottom - } - Text { - id:phototext - z:4 - text: photoDescription.trim() - width:15*mm - anchors.bottom: photoWrapper.bottom - color: "white" - font.pixelSize: 2*mm - wrapMode:Text.Wrap + } + BusyIndicator { anchors.centerIn: parent; running: realImage.status != Image.Ready } + Image { + id: realImage; + width: photoWrapper.width; height: photoWrapper.height + antialiasing: true; + asynchronous: true + cache: false + fillMode: Image.PreserveAspectFit; + source: imageLocation + } + Rectangle{ + id:phototextRectangle + color:"black" + z:3 + opacity: 0.5 + width:phototext.contentWidth + height: phototext.contentHeight + anchors.bottom: photoWrapper.bottom + } + Text { + id:phototext + z:4 + text: photoDescription.trim() + width:15*mm + anchors.bottom: photoWrapper.bottom + color: "white" + font.pixelSize: 2*mm + wrapMode:Text.Wrap + } + MouseArea { + width: realImage.paintedWidth; height: realImage.paintedHeight; anchors.centerIn: realImage + onClicked: { + if (albumWrapper.state == 'inGrid') { + gridItem.GridView.view.currentIndex = index; + albumWrapper.state = 'fullscreen' + } else { + gridItem.GridView.view.currentIndex = index; + albumWrapper.state = 'inGrid' } - MouseArea { - width: realImage.paintedWidth; height: realImage.paintedHeight; anchors.centerIn: realImage - onClicked: { - if (albumWrapper.state == 'inGrid') { - gridItem.GridView.view.currentIndex = index; - //print("photoLink"+realImage.photoLink) - albumWrapper.state = 'fullscreen' - } else { - gridItem.GridView.view.currentIndex = index; - albumWrapper.state = 'inGrid' - } - } - } + } + } - states: [ - State { - name: 'stacked'; when: albumWrapper.state == '' + states: [ + State { + name: 'stacked'; when: albumWrapper.state == '' ParentChange { target: photoWrapper; parent: stackItem; }//x: 1*mm; y: 1*mm } - PropertyChanges { target: photoWrapper; opacity: stackItem.PathView.onPath ? 1.0 : 0.0 } - PropertyChanges { target: phototext; opacity: 0.0 } - PropertyChanges { target: phototextRectangle; opacity: 0.0 } - }, - State { + PropertyChanges { target: photoWrapper; opacity: stackItem.PathView.onPath ? 1.0 : 0.0 } + PropertyChanges { target: phototext; opacity: 0.0 } + PropertyChanges { target: phototextRectangle; opacity: 0.0 } + }, + State { name: 'inGrid'; when: albumWrapper.state == 'inGrid' ParentChange { target: photoWrapper; parent: gridItem; x: 1*mm; y: 1*mm;} PropertyChanges { target: phototext; opacity: 1.0 } @@ -86,14 +81,12 @@ Package { width: root.width-mm; height: root.height-8*mm } PropertyChanges { target: placeHolder; opacity: 0.0 } - PropertyChanges { target: realImage; source: photoWrapper.hqphotolink} + PropertyChanges { target: realImage; source: photoWrapper.hqphotolink} PropertyChanges { target: phototext; anchors.bottom: realImage.bottom} PropertyChanges { target: phototext; width:realImage.width } PropertyChanges { target: phototextRectangle; anchors.bottom: realImage.bottom } PropertyChanges { target: realImage; width: Math.min(listItem.width,sourceSize.width);height: Math.min(listItem.height,sourceSize.height) } } - ] - - } + ] + } } - diff --git a/v0.002/Release/source-linux/qml/photoqml/PhotoTab.qml b/v0.002/Release/source-linux/qml/photoqml/PhotoTab.qml index edada91..9eed0bf 100644 --- a/v0.002/Release/source-linux/qml/photoqml/PhotoTab.qml +++ b/v0.002/Release/source-linux/qml/photoqml/PhotoTab.qml @@ -1,5 +1,5 @@ import QtQuick 2.0 -import QtQuick.Dialogs 1.2 +//import QtQuick.Dialogs 1.2 import QtQuick.Controls 1.4 import QtQml.Models 2.1 import "qrc:/js/service.js" as Service @@ -18,21 +18,17 @@ Rectangle { color: '#fff' property var newimages:[] property int currentimageno: 0 -//onLoginChanged:{var msg = {'model': photogroupModel,'albums':[],'firstalbum':0,'foreignPicture':false}; -// photoWorker.sendMessage(msg); -//} + onNewimagesChanged:{ - if(newimages.length>0){ - Helperjs.readField("album",root.db,"imageData",root.login.username,function(albums){ - //print("albums"+JSON.stringify(albums)+JSON.stringify(newimages[currentimageno])); - for (var i=0;i0){ + Helperjs.readField("album",root.db,"imageData",root.login.username,function(albums){ + for (var i=0;i