This commit is contained in:
LubuWest 2020-01-27 21:53:51 +01:00
commit c1bdcbf963
48 changed files with 1333 additions and 1229 deletions

View file

@ -40,7 +40,7 @@ Rectangle {
id:conversationList
// width:root.width-5*mm
// height:root.height-12*mm
//property var news
property var news:[]
// y:1
// z:2
color: "white"
@ -83,7 +83,7 @@ Rectangle {
} else { conversationBusy.running=false;
conversationModel.clear();
var currentTime= new Date();
var msg = {'currentTime': currentTime, 'model': conversationModel,'news':newstab.conversation, 'options':globaloptions};
var msg = {'currentTime': currentTime, 'model': conversationModel,'news':newstab.conversation, 'method':'refresh', 'options':globaloptions};
conversationWorker.sendMessage(msg)
//conversationsymbol.color="grey"
}
@ -176,15 +176,17 @@ Rectangle {
text: "\uf057"
onClicked: {
//newsView.positionViewAtIndex(newsStack.conversationIndex,ListView.Beginning);
newsStack.pop()
newstab.conversation=[];
//newsStack.pop()
//conversationList.destroy();
//conversationsymbol.color="grey"
}
}
// Component.onCompleted: {
// if (news){var currentTime= new Date();
// var msg = {'currentTime': currentTime, 'model': conversationModel,'news':news};
// conversationWorker.sendMessage(msg)}
// }
Component.onCompleted: {
if (news.length>0){var currentTime= new Date();
var msg = {'currentTime': currentTime, 'model': conversationModel,'news':news,'appendnews':true, 'options':globaloptions};
conversationWorker.sendMessage(msg)}
}
}

View file

@ -148,7 +148,7 @@ Rectangle{
reply_to_user=newsitemobject.user.screen_name;
parentId=newsitemobject.id
} else {
messageSend.state=""
messageSend.state="";
reply_to_user="";
parentId="";
bodyField.text="";
@ -482,7 +482,6 @@ Rectangle{
SmileyDialog{id:smileyDialog;x:mm;visible: false}
}
Component.onCompleted:{
//
//parentId=conversationModel.get(conversationModel.count-1).newsitemobject.id
//if(attachImageURLs.length>0){attachImage(attachImageURLs[0])}
newsStack.replySignal.connect(setParent);

View file

@ -0,0 +1,63 @@
// This file is part of Friendiqa
// https://github.com/lubuwest/Friendiqa
// Copyright (C) 2017 Marco R. <thomasschmidt45@gmx.net>
//
// 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 <http://www.gnu.org/licenses/>.
import QtQuick 2.0
Rectangle{
id: moreComments
width: parent.width
height: 5*mm
color:"white"
property int comments:0
// border.color:"grey"
// border.width:1
signal clicked
state:""
Text{
id:mainText
color: "grey"
anchors.right: parent.right
anchors.margins: mm
width: contentWidth
height: contentHeight
font.family:fontAwesome.name
//font.pixelSize: 3*mm
text: qsTr("Show all comments")+" (" +comments + ")" //"\uf0dc"
}
MouseArea{
id:buttonArea
anchors.fill:parent
onClicked: {
pushConversation();
}
}
}

View file

@ -31,7 +31,7 @@
import QtQuick 2.9
AnimatedImage {id:gif;
width:newscolumn.width;
width:toprow.width;
property string mimetype:""
fillMode: Image.PreserveAspectFit;
onStatusChanged: playing = (status == AnimatedImage.Ready);

View file

@ -121,9 +121,7 @@ StackView{
function showNews(newsToShow){
try{
if (newsStack.depth>1){newsStack.pop()}
}catch(e){}
try{if (newsStack.depth>1){newsStack.pop()}}catch(e){}
newsBusy.running=false;
var currentTime= new Date();
// downloadNotice.text=downloadNotice.text + "\n shownews start "+ Date.now();
@ -192,7 +190,8 @@ StackView{
}
onSuccess:{
// downloadNotice.text=downloadNotice.text+ "\n xhr finished "+Date.now();
Service.processNews(api,data);
Service.processNews(api,data)
replySignal("")
}
}
@ -224,179 +223,8 @@ StackView{
id:newslistRectangle
y:1
color: "white"
//anchors.fill:parent
// Button{
// id:newstabstatusButton
// anchors.top: parent.top
// anchors.topMargin: 0.5*mm
// height: 8*mm
// text: qsTr(newstab.newstabstatus)
// visible: newsStack.parent.stacktype=="standard"
// onClicked: {print(newsStack.parent.stacktype);
// newstabmenu.popup(2*mm,6*mm)
// }
// Menu{id:newstabmenu
// width: 40*mm
// delegate:MenuItem{
// contentItem: Text{
// font.pixelSize: 3.5*mm
// text:parent.text
// }
// background: Rectangle {
// implicitWidth: 40*mm; implicitHeight: 5*mm
// color: "#ffffff"
// border.color: "grey"
// }
// }
// Action {
// text: qsTr("Timeline")
// onTriggered: {
// }
// Action {
// text: qsTr("Conversations")
// onTriggered:{
// //newsModel.clear();
// newstab.newstabstatus="Conversations";
// Newsjs.chatsfromdb(db,root.login,function(news){showNews(news)})
// }
// }
// Action {
// text: qsTr("Favorites")
// onTriggered:{
// newsStack.updateMethodNews="refresh";
// newstab.newstabstatus="Favorites";
// Service.updateView("Favorites")
// }
// }
// Action {
// text: qsTr("Replies")
// onTriggered:{
// newsStack.updateMethodNews="refresh";
// newstab.newstabstatus="Replies";
// Service.updateView("Replies")
// }
// }
// Action {
// text: qsTr("Public timeline")
// onTriggered:{
// newsStack.updateMethodNews="refresh";
// newstab.newstabstatus="Public Timeline";
// Service.updateView("Public Timeline")
// }
// }
//// Action {
//// text: qsTr("Direct Messages")
//// onTriggered:{
//// newsStack.updateMethodNews="refresh";
//// newstab.newstabstatus="Direct Messages";
//// Service.updateView("Direct Messages")
//// }
//// }
//// Action {
//// text: qsTr("Notifications")
//// onTriggered:{
//// newsStack.updateMethodNews="refresh";
//// newstab.newstabstatus="Notifications";
//// Service.updateView("Notifications")
//// }
//// }
// Action {
// text: qsTr("Group news")
// onTriggered:
// {
// newsStack.updateMethodNews="refresh";
// Service.showGroups();
// }
// }
// Action {
// text: qsTr("Settings")
// onTriggered:
// {
// leftDrawer.open()
// }
// }
// Action {
// text: qsTr("Quit")
// onTriggered:{
// Service.cleanNews(root.db,function(){
// Service.cleanContacts(root.login,root.db,function(){
// Qt.quit()})
// })
// }
// }
// }
// }
// Row{
// spacing: mm
// anchors.top: parent.top
// anchors.topMargin: 0.5*mm
// anchors.right: parent.right
// Button {
// id: searchButton
// height: 8*mm
// text: "\uf002"
// visible: newsStack.parent.stacktype=="standard"
// onClicked: {
// newsView.anchors.topMargin=18*mm;
// var component = Qt.createComponent("qrc:/qml/genericqml/Search.qml");
// var searchItem = component.createObject(newsStack,{y:8*mm,width:root.width,height: 8*mm});
// }
// }
// Button {
// id: newMessageButton
// text: "\uf040"
// height: 8*mm
// onClicked: {
// var groups=[];
// Helperjs.readData(root.db,"groups",root.login.username,function(groupobject){
// groups=groupobject
// });
// newstab.newstabstatus="SendMessage";
// Helperjs.readData(root.db,"contacts",root.login.username,function(friends){
// newsStack.push("qrc:/qml/newsqml/MessageSend.qml",{"contacts": friends,"login":root.login})
// },"isFriend",1);
// }
// }
// BlueButton {
// id: quitButton
// text: "\uf08b"
// onClicked: {Service.cleanNews(root.db,function(){
// Service.cleanContacts(root.login,root.db,function(){
// Qt.quit() })
// })}
// }
// Button {
// id: update
// height: 8*mm
// text: "\uf021"
// onClicked: {
// if (newstab.newstabstatus=="Timeline"){
// newsStack.updateMethodNews="append"
// } else {newsStack.updateMethodNews="refresh"}
// //root.contactLoadType="news";
// if (newsStack.parent.stacktype=="standard"){
// Service.updateView(newstab.newstabstatus)
// }
// else if (newsStack.parent.stacktype=="directmessage"){
// Service.updateView("Direct Messages")
// }
// else if (newsStack.parent.stacktype=="notifications"){
// Service.updateView("Notifications")
// }
// }
// }
// }
Component { id:footerComponent
Rectangle{
border.color: "#EEEEEE"
@ -411,21 +239,26 @@ StackView{
MouseArea{
anchors.fill:parent
onClicked:{
getOldNews();
if (newsModel.count==0){
if (newsSwipeview.stacktype=="Home"){
Service.updateView(newstab.newstabstatus)
}
else if (newsSwipeview.stacktype=="DirectMessages"){
Service.updateView("Direct Messages")
}
else if (newsSwipeview.stacktype=="Notifications"){
Service.updateView("Notifications")
}
else if (newsSwipeview.stacktype=="Replies"){
Service.updateView("Replies")
}
}
else {getOldNews();}
}
}
}
}
// Label{
// text:qsTr(stacktype)
// font.pixelSize: 3* mm
// anchors.horizontalCenter: parent.horizontalCenter
// anchors.margins: mm
// }
ListView {
id: newsView
property real oldContentY:0
@ -434,9 +267,6 @@ StackView{
property string viewtype: "news"
anchors.fill: parent
anchors.margins: mm
//anchors.topMargin: 6*mm
// anchors.leftMargin: mm; anchors.rightMargin: mm
// anchors.bottomMargin: mm
clip: true
spacing: 0
header: MessageSend{id:messagesend;onHeightChanged: newsView.positionViewAtBeginning()}
@ -565,13 +395,6 @@ StackView{
newsSwipeview.height=rootStackItem.height-12*mm;
newsSwipeview.y=5*mm;
rootStackItem.state=""
// xhr.setLogin(login.username+":"+Qt.atob(login.password));
// xhr.setUrl(login.server);
// if((newsStack.parent.stacktype=="standard") && (root.news.length>0)){
// showNews(root.news)
// }
//else{
login.hasOwnProperty("newsViewType")?newstab.newstabstatus=login.newsViewType:"Conversations"
var messagetype=0;
switch(newsSwipeview.stacktype){

View file

@ -37,8 +37,8 @@ import QtQuick 2.9
Rectangle{
color:"black"
//border.color: "light grey"
width:newscolumn.width/2;
height:newscolumn.width/3//video.hasVideo?newscolumn.width/4*3:10*mm
width:toprow.width/2;
height:toprow.width/3//video.hasVideo?newscolumn.width/4*3:10*mm
property var attachment:({})
Text{
id:noticeText
@ -54,11 +54,13 @@ Rectangle{
MouseArea {anchors.fill:parent;
onClicked:{
if(attachment.mimetype=="video/youtube"){
var component = Qt.createComponent("qrc:/qml/newsqml/NewsYplayer.qml");
var videoQml = component.createObject(root,{"ytcode":attachment.url,"mimetype":attachment.mimetype});
root.push("qrc:/qml/newsqml/NewsYplayer.qml",{"ytcode":attachment.url,"mimetype":attachment.mimetype});
// var component = Qt.createComponent("qrc:/qml/newsqml/NewsYplayer.qml");
// var videoQml = component.createObject(root,{"ytcode":attachment.url,"mimetype":attachment.mimetype});
} else {
var component = Qt.createComponent("qrc:/qml/newsqml/NewsVideoLarge.qml");
var videoQml = component.createObject(root,{"source": attachment.url,"mimetype": attachment.mimetype});
root.push("qrc:/qml/newsqml/NewsVideoLarge.qml",{"source": attachment.url,"mimetype": attachment.mimetype});
// var component = Qt.createComponent("qrc:/qml/newsqml/NewsVideoLarge.qml");
// var videoQml = component.createObject(root,{"source": attachment.url,"mimetype": attachment.mimetype});
}
}
}

View file

@ -64,7 +64,8 @@ Rectangle{
MouseArea {
anchors.fill:parent;
onClicked:{
newsvideofullscreen.destroy();
root.pop()
//newsvideofullscreen.destroy();
}
}
}

View file

@ -69,7 +69,10 @@ Rectangle{
opacity = 0
}
onTitleChanged: {
if (title==2){newsYplayer.destroy()}
if (title==2){
root.pop();
//newsYplayer.destroy(
}
}
}
}

View file

@ -31,7 +31,6 @@
import QtQuick 2.0
import QtQuick.Controls 2.4
//import QtQuick.Controls.Styles 1.4
import "qrc:/js/news.js" as Newsjs
import "qrc:/js/helper.js" as Helperjs
import "qrc:/qml/genericqml"
@ -39,9 +38,9 @@ import "qrc:/qml/genericqml"
Item {
id: newsitem
width: parent.width
height:toprow.height+friendicaActivities.height+controlrow.height+1//Math.max((itemMessage.height+topFlow.height+friendicaActivities.height+4*mm),profileImage.height+user_name.height+mm)
height:toprow.height+friendicaActivities.height+controlrow.height+conversationColumn.height+1//Math.max((itemMessage.height+topFlow.height+friendicaActivities.height+4*mm),profileImage.height+user_name.height+mm)
property int itemindex: index
property var newsitemobject:model.newsitemobject
property string attending: ""
onAttendingChanged: {attendLabel.visible=true;
attendLabel.text= qsTr("attending: ")+ qsTr(attending)}
@ -57,6 +56,14 @@ Item {
return fulltext.match(/\s+[#]+[A-Za-z0-9-_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]+/g)
}
function pushConversation(){
if (model.newsitemobject.hasOwnProperty("currentconversation")){
newsStack.push("qrc:/qml/newsqml/Conversation.qml",{"news": model.newsitemobject.currentconversation})}
else{newsStack.push("qrc:/qml/newsqml/Conversation.qml")};
showConversation(index,newsitemobject)
}
Rectangle{width:newsitem.width; height: 1; anchors.bottom: newsitem.bottom; color:"light grey"}
Rectangle{
@ -64,97 +71,106 @@ Item {
height:newsitem.height-1
color: "white"//(newsitemobject.messagetype==1)?"#ffe6e6" : "white"
Row{id:toprow
Column {
id: authorcolumn
width: 8*mm
// Row{id:toprow
// Column {
// id: authorcolumn
// width: 8*mm
Image {
id:profileImage
source: ((newsitemobject.user.profile_image!="") && (typeof(newsitemobject.user.profile_image)=="string"))? "file://"+newsitemobject.user.profile_image : newsitemobject.user.profile_image_url
x:1
width: 7*mm
height: 7*mm
// }
Column {
id:toprow //newscolumn
width: newsitem.width//-8*mm
Item{
height: Math.max(profileImage.height+mm,topFlow.implicitHeight+mm)
width: parent.width
MouseArea{
anchors.fill: parent
onClicked:{
showContact(newsitemobject.user)}
}
onStatusChanged: if (profileImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"}
}
Label {
id:user_name
color: "grey"
width:parent.width
font.pixelSize: 1.5*mm
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
text: newsitemobject.user.name+forumname
}
}
Column {
id:newscolumn
width: newsitem.width-8*mm
Image {
id:profileImage
source: ((newsitemobject.user.profile_image!="") && (typeof(newsitemobject.user.profile_image)=="string"))? "file://"+newsitemobject.user.profile_image : newsitemobject.user.profile_image_url
x:1
y:1
width: 7*mm
height: 7*mm
//radius:mm
Flow{
id:topFlow
spacing: mm
width:parent.width
Label {
id:messageTypeLabel
color: "grey"
text: if (newsitemobject.messagetype==1){ qsTr("Direct Message")} else if(newsitemobject.messagetype==2) {" Notification"} else {qsTr("Source: ")+newsitemobject.source}
font.pixelSize: 1.5*mm
onStatusChanged: if (profileImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"}
}
Label {
id:createdAtLabel
color: "grey"
font.pixelSize: 1.5*mm
horizontalAlignment: Label.AlignRight
text: dateDiff
}
Label {
id:replytoLabel
color: "grey"
font.pixelSize: 1.5*mm
font.family: "Noto Sans"
horizontalAlignment: Label.AlignRight
text: try {qsTr("In reply to ")+newsitemobject.reply_user.screen_name
}catch(e){" "}
Flow{
id:topFlow
spacing: mm
width:parent.width-8*mm
anchors.left: profileImage.right
anchors.margins: mm
Label {
id:user_name
//color: "grey"
width:parent.width
font.bold: true
font.pixelSize: 2.5*mm
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
text: newsitemobject.user.name+" (@"+newsitemobject.user.screen_name+")"+newsitemobject.forumname
}
Label {
id:newscountLabel
visible:((newstabstatus=="Conversations")&&(newsitemobject.newscount>1))?true:false
color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
font.bold: true
horizontalAlignment: Label.AlignRight
text: try {(newsitemobject.newscount-1)+qsTr(" comments") }catch(e){" "}
MouseArea{
anchors.fill:parent
onClicked: {
newsStack.push("qrc:/qml/newsqml/Conversation.qml");
showConversation(index,newsitemobject)
Label {
id:messageTypeLabel
color: "grey"
text: if (newsitemobject.messagetype==1){ qsTr("Direct Message")} else if(newsitemobject.messagetype==2) {" Notification"} else {qsTr("Source: ")+newsitemobject.source}
font.pixelSize: 1.5*mm
}
Label {
id:createdAtLabel
color: "grey"
font.pixelSize: 1.5*mm
horizontalAlignment: Label.AlignRight
text: newsitemobject.dateDiff
}
Label {
id:replytoLabel
color: "grey"
font.pixelSize: 1.5*mm
font.family: "Noto Sans"
horizontalAlignment: Label.AlignRight
text: try {qsTr("In reply to ")+newsitemobject.reply_user.screen_name
}catch(e){" "}
}
}
// Label {
// id:newscountLabel
// visible:((newstabstatus=="Conversations")&&(newsitemobject.newscount>1))?true:false
// color: "grey"
// height:3.5*mm
// font.pixelSize: 1.5*mm
// font.bold: true
// horizontalAlignment: Label.AlignRight
// text: try {(newsitemobject.newscount-1)+qsTr(" comments") }catch(e){" "}
// MouseArea{
// anchors.fill:parent
// onClicked: {
// pushConversation();
// }
// }
// }
}
}
Column{ id: messageColumn
//anchors.top:topFlow.bottom
width:parent.width
spacing:mm
clip:true
height: newsitemobject.nsfw?5*mm:Math.min(implicitHeight,3/4*root.height)
MouseArea{
width: newsitem.width-8*mm-2
height: itemMessage.height
onPressAndHold: {
newsStack.push("qrc:/qml/newsqml/Conversation.qml");
showConversation(index,newsitemobject)
}
// Column{ id: messageColumn
// //anchors.top:topFlow.bottom
// width:parent.width
// spacing:mm
// clip:true
// height: newsitemobject.nsfw?5*mm:Math.min(implicitHeight,3/4*root.height)
MouseArea{
width: newsitem.width-8*mm-2
height: itemMessage.height
onPressAndHold: {
pushConversation();
}
Text {
color: "#404040"
linkColor: "light green"
@ -162,12 +178,12 @@ Item {
textFormat: Text.RichText
font.family: "Noto Sans"
text: newsitemobject.statusnet_html//newsitemobject.attachmentList.length>0?newsitemobject.text : newsitemobject.statusnet_html
width: newsitem.width-8*mm-2
height: implicitHeight
width: newsitem.width-2
height:newsitemobject.nsfw?5*mm:Math.min(implicitHeight,3/4*root.height)
//height: implicitHeight
wrapMode: Text.Wrap
clip:true
//MouseArea{anchors.fill:parent;onClicked: print("Test")}
onLinkActivated:{
onLinkActivated:{
Qt.openUrlExternally(link)}
Component.onCompleted:{
if (newsitemobject.messagetype==0){
@ -182,27 +198,35 @@ Item {
for(var attachments in newsitemobject.attachmentList){// (newsitemobject.attachmentList[attachments].url);
if(newsitemobject.attachmentList[attachments].mimetype.substring(0,5)=="image"){
var component = Qt.createComponent("qrc:/qml/newsqml/NewsImage.qml");
var imageQml = component.createObject(messageColumn,{"source":newsitemobject.attachmentList[attachments].url,"mimetype":newsitemobject.attachmentList[attachments].mimetype});
var imageQml = component.createObject(toprow,{"source":newsitemobject.attachmentList[attachments].url,"mimetype":newsitemobject.attachmentList[attachments].mimetype});
}
else if(newsitemobject.attachmentList[attachments].mimetype=="text/html"){
var component = Qt.createComponent("qrc:/qml/newsqml/NewsLink.qml");
var linkQml = component.createObject(messageColumn,{"url":newsitemobject.attachmentList[attachments].url});
var linkQml = component.createObject(toprow,{"url":newsitemobject.attachmentList[attachments].url});
}
else {
var component = Qt.createComponent("qrc:/qml/newsqml/NewsVideo.qml");
//var videoQml = component.createObject(messageColumn,{"source":newsitemobject.attachmentList[attachments].url,"mimetype":newsitemobject.attachmentList[attachments].mimetype});
var videoQml = component.createObject(messageColumn,{"attachment":newsitemobject.attachmentList[attachments]});
var videoQml = component.createObject(toprow,{"attachment":newsitemobject.attachmentList[attachments]});
}
}
}
if (newsitemobject.hasOwnProperty("lastcomment")){
var moreComponent = Qt.createComponent("qrc:/qml/newsqml/MoreComments.qml");
var conversationQml = moreComponent.createObject(conversationColumn,{"comments":newsitemobject.newscount-1});
var commentComponent = Qt.createComponent("qrc:/qml/newsqml/Newsitem.qml");
var conversationQml = commentComponent.createObject(conversationColumn,{"newsitemobject":newsitemobject.lastcomment});
}
}
}}
}
//}
BlueButton{
width: newsitem.width-8*mm-2
height:5*mm
//anchors.bottom: messageColumn.bottom//itemMessage.bottom
visible: messageColumn.implicitHeight>3/4*root.height || newsitemobject.nsfw//itemMessage.implicitHeight>3/4*root.height
visible: itemMessage.implicitHeight>3/4*root.height || newsitemobject.nsfw//messageColumn.implicitHeight>3/4*root.height || newsitemobject.nsfw//itemMessage.implicitHeight>3/4*root.height
text:"\uf078"
fontColor:"grey"
border.color: "transparent"
@ -214,15 +238,15 @@ Item {
radius:0
onClicked: {
if (text=="\uf078"){
messageColumn.height=messageColumn.implicitHeight+10*mm;text="\uf077"
itemMessage.height=itemMessage.implicitHeight+10*mm;text="\uf077"
} else {
messageColumn.height=Math.min(messageColumn.implicitHeight,3/4*root.height);
itemMessage.height=Math.min(itemMessage.implicitHeight,3/4*root.height);
text="\uf078";
newsView.positionViewAtIndex(index,ListView.Beginning);
}
}
}
}
//}
}
Flow{
id:friendicaActivities
@ -233,7 +257,7 @@ Item {
Label{color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
text: friendica_activities.likeText
text: newsitemobject.friendica_activities_view.likeText
MouseArea{
anchors.fill: parent
onClicked: { showActivityContacts(newsitemobject.friendica_activities.like)}
@ -242,160 +266,156 @@ Item {
Label{color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
text: friendica_activities.dislikeText
text: newsitemobject.friendica_activities_view.dislikeText
MouseArea{
anchors.fill: parent
onClicked: { showActivityContacts(newsitemobject.friendica_activities.dislike)}
}
}
Label{color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
text: friendica_activities.attendyesText
MouseArea{
anchors.fill: parent
onClicked: { showActivityContacts(newsitemobject.friendica_activities.attendyes)}
}}
Label{color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
text: friendica_activities.attendnoText
MouseArea{
anchors.fill: parent
onClicked: { showActivityContacts(newsitemobject.friendica_activities.attendno)}
}
}
Label{color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
text: friendica_activities.attendmaybeText
MouseArea{
anchors.fill: parent
onClicked: { showActivityContacts(newsitemobject.friendica_activities.attendmaybe)}
}
}
Label{
id:attendLabel
color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
horizontalAlignment: Label.AlignRight
text: (friendica_activities.self.attending)?(qsTr("Attending: ")+ qsTr(friendica_activities.self.attending)):""
}
}
Row{id:controlrow
anchors.top:friendicaActivities.bottom
CheckBox{
id:likeCheckbox
width:10*mm
visible: ((newsitemobject.messagetype==0)||(newsitemobject.messagetype==3))? true:false
checked:(friendica_activities.self.liked==1)?true:false
//style: CheckBoxStyle {
indicator: Rectangle{
implicitWidth: 10*mm
implicitHeight:3*mm
Text{
anchors.centerIn: parent
font.pixelSize: 2.5*mm
font.family:fontAwesome.name
color:likeCheckbox.checked?"black": "grey"
text:likeCheckbox.checked?"\uf118"+"!":"\uf118"
}
}
//}
onClicked: {
if(likeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"like",newsitemobject.id,root);dislikeCheckbox.checked=false; model.friendica_activities.self.liked=0 }
else{Newsjs.like(root.login,root.db,0,"like",newsitemobject.id,root); model.friendica_activities.self.liked=1}}
}
CheckBox{
id: dislikeCheckbox
width:10*mm
visible: ((newsitemobject.messagetype==0)||(newsitemobject.messagetype==3))? true:false
checked: (friendica_activities.self.disliked==1)?true:false
//style: CheckBoxStyle {
Label{color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
text: newsitemobject.friendica_activities_view.attendyesText
MouseArea{
anchors.fill: parent
onClicked: { showActivityContacts(newsitemobject.friendica_activities.attendyes)}
}}
Label{color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
text: newsitemobject.friendica_activities_view.attendnoText
MouseArea{
anchors.fill: parent
onClicked: { showActivityContacts(newsitemobject.friendica_activities.attendno)}
}
}
Label{color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
text: newsitemobject.friendica_activities_view.attendmaybeText
MouseArea{
anchors.fill: parent
onClicked: { showActivityContacts(newsitemobject.friendica_activities.attendmaybe)}
}
}
Label{
id:attendLabel
color: "grey"
height:3.5*mm
font.pixelSize: 1.5*mm
horizontalAlignment: Label.AlignRight
text: (newsitemobject.friendica_activities_view.self.attending)?(qsTr("Attending: ")+ qsTr(newsitemobject.friendica_activities_view.self.attending)):""
}
}
Row{id:controlrow
anchors.top:friendicaActivities.bottom
height: 4*mm
CheckBox{
id:likeCheckbox
width:newsitem.width/5 //10*mm
height: parent.height
visible: ((newsitemobject.messagetype==0)||(newsitemobject.messagetype==3))? true:false
checked:(newsitemobject.friendica_activities_view.self.liked==1)?true:false
indicator: Rectangle{
implicitWidth: 10*mm
implicitHeight:3*mm
implicitWidth: newsitem.width/5 //10*mm
implicitHeight:4*mm
Text{
anchors.centerIn: parent
font.pixelSize: 2.5*mm
font.pixelSize: 3*mm
font.family:fontAwesome.name
color:likeCheckbox.checked?"black": "grey"
text:likeCheckbox.checked?"\uf118"+"!":"\uf118"
}
}
onClicked: {
if(likeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"like",newsitemobject.id,root);dislikeCheckbox.checked=false; model.newsitemobject.friendica_activities_view.self.liked=0 }
else{Newsjs.like(root.login,root.db,0,"like",newsitemobject.id,root); model.newsitemobject.friendica_activities_view.self.liked=1}}
}
CheckBox{
id: dislikeCheckbox
width:newsitem.width/5 //10*mm
height: parent.height
visible: ((newsitemobject.messagetype==0)||(newsitemobject.messagetype==3))? true:false
checked: (newsitemobject.friendica_activities_view.self.disliked==1)?true:false
indicator: Rectangle{
implicitWidth: newsitem.width/5 //10*mm
implicitHeight:4*mm
Text{
anchors.centerIn: parent
font.pixelSize: 3*mm
font.family:fontAwesome.name
color:dislikeCheckbox.checked?"black": "grey"
text: dislikeCheckbox.checked?"\uf119"+"!":"\uf119"
}
}
//}
onClicked: {
if (dislikeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"dislike",newsitemobject.id,root);likeCheckbox.checked=false; model.friendica_activities.self.disliked=0}
else {Newsjs.like(root.login,root.db,0,"dislike",newsitemobject.id,root); model.friendica_activities.self.disliked=1}}
}
onClicked: {
if (dislikeCheckbox.checked==true){Newsjs.like(root.login,root.db,1,"dislike",newsitemobject.id,root);likeCheckbox.checked=false; model.newsitemobject.friendica_activities_view.self.disliked=0}
else {Newsjs.like(root.login,root.db,0,"dislike",newsitemobject.id,root); model.newsitemobject.friendica_activities_view.self.disliked=1}}
}
CheckBox {
id:favoritedCheckbox
visible:((newsitemobject.messagetype==0)||(newsitemobject.messagetype==3))
width: 10*mm
//style: CheckBoxStyle {
indicator:Rectangle{
x:4*mm
width: 3*mm
implicitHeight:4*mm
Text{
color: favoritedCheckbox.checked?"black":"grey"
font.pixelSize: 2.5*mm
text:"\uf005"
}
}
//}
checked:(newsitemobject.favorited>0)
onClicked:{
if(favoritedCheckbox.checkedState==Qt.Checked){
Newsjs.favorite(login,true,newsitemobject.id,root); model.newsitemobject.favorited=1}
else if(favoritedCheckbox.checkedState==Qt.Unchecked){
Newsjs.favorite(login,false,newsitemobject.id,root);model.newsitemobject.favorited=0}
}
}
Rectangle{
width: 10*mm
height: 4*mm
CheckBox {
id:favoritedCheckbox
visible:((newsitemobject.messagetype==0)||(newsitemobject.messagetype==3))
width: newsitem.width/5 // 10*mm
height: parent.height
indicator:Rectangle{
implicitWidth: newsitem.width/5 //10*mm
implicitHeight:4*mm
Text{
anchors.centerIn: parent
font.pixelSize: 3*mm
font.family:fontAwesome.name
color: favoritedCheckbox.checked?"black":"grey"
text:"\uf005"
}
}
checked:(newsitemobject.favorited>0)
onClicked:{
if(favoritedCheckbox.checkedState==Qt.Checked){
Newsjs.favorite(login,true,newsitemobject.id,root); model.newsitemobject.favorited=1}
else if(favoritedCheckbox.checkedState==Qt.Unchecked){
Newsjs.favorite(login,false,newsitemobject.id,root);model.newsitemobject.favorited=0}
}
}
Rectangle{
width: newsitem.width/5 //10*mm
height: parent.height
visible:(newsitemobject.messagetype!==2)
color:"transparent"
Text{
id:newsmenusymbol
color: "grey"
anchors.centerIn: parent
font.pixelSize: 2.5*mm
font.pixelSize: 3*mm
font.family:fontAwesome.name
text: "\uf142"
}
MouseArea{
anchors.fill:parent
onClicked: {newsmenu.popup()}}
}
Rectangle{
width: 10*mm
height: 4*mm
visible:(newsitemobject.messagetype!==2)&&(newstab.newstabstatus!="Conversation")
color:"transparent"
Text{
id:conversationsymbol
color: "grey"
anchors.centerIn: parent
font.pixelSize: 2.5*mm
font.family: fontAwesome.name
text: "\uf086"
}
MouseArea{
anchors.fill:parent
onClicked:{
//conversationsymbol.color="black";
// var component = Qt.createComponent("qrc:/qml/newsqml/Conversation.qml");
// var conversationItem = component.createObject(friendicaActivities);
newsStack.push("qrc:/qml/newsqml/Conversation.qml")
showConversation(index,newsitemobject)
}
}
}
// Rectangle{
// width: 10*mm
// height: 4*mm
// visible:(newsitemobject.messagetype!==2)&&(newstab.newstabstatus!="Conversation")
// color:"transparent"
// Text{
// id:conversationsymbol
// color: "grey"
// anchors.centerIn: parent
// font.pixelSize: 2.5*mm
// font.family: fontAwesome.name
// text: "\uf086"
// }
// MouseArea{
// anchors.fill:parent
// onClicked:{
// if (newsitemobject.hasOwnProperty("currentconversation")){newsStack.push("qrc:/qml/newsqml/Conversation.qml",{"news": newsitemobject.currentconversation})}
// else{newsStack.push("qrc:/qml/newsqml/Conversation.qml")};
// showConversation(index,newsitemobject)
// }
// }
// }
}
@ -437,10 +457,7 @@ Item {
Action {
text: qsTr("Conversation")
onTriggered: {
conversationsymbol.color="black";
var component = Qt.createComponent("qrc:/qml/newsqml/Conversation.qml");
var conversationItem = component.createObject(friendicaActivities,{"news":newsitemobject.chatArray});
showConversation(index,newsitemobject)
pushConversation();
}
}
@ -456,17 +473,17 @@ Item {
Action{
text:qsTr("yes")
onTriggered: {Newsjs.attend(root.login,db,"yes",newsitemobject.id,root,function(){
model.friendica_activities.self.attending="yes";attending="yes"})
model.newsitemobject.friendica_activities_view.self.attending="yes";attending="yes"})
}
}
Action{text:qsTr("maybe")
onTriggered: {Newsjs.attend(root.login,db,"maybe",newsitemobject.id,root,function(){
model.friendica_activities.self.attending="maybe";attending="maybe"})
model.newsitemobject.friendica_activities_view.self.attending="maybe";attending="maybe"})
}
}
Action{text:qsTr("no")
onTriggered: {Newsjs.attend(root.login,db,"no",newsitemobject.id,root,function(){
model.friendica_activities.self.attending="no";attending="no"})}
model.newsitemobject.friendica_activities_view.self.attending="no";attending="no"})}
}
}
@ -485,4 +502,11 @@ Item {
// onTriggered:Qt.openUrlExternally(login.server+"/display/"+newsitemobject
//}
}
}}
Column{
id:conversationColumn
anchors.top:controlrow.bottom
anchors.right: parent.right
width: newsitem.width-5*mm
}
}
}