forked from lubuwest/Friendiqa
v.0.4
This commit is contained in:
parent
aca94a5393
commit
63dfb9b197
70 changed files with 2829 additions and 1056 deletions
|
@ -93,99 +93,106 @@ StackView{
|
|||
}
|
||||
|
||||
Text {
|
||||
text: qsTr("Server")
|
||||
x: 4*mm; y: 10*mm
|
||||
text: qsTr("Server")
|
||||
font.pixelSize:3*mm
|
||||
x: 4*mm; y: 10*mm
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Nickname")
|
||||
x: 4*mm; y: 20*mm
|
||||
text: qsTr("Nickname")
|
||||
font.pixelSize:3*mm
|
||||
x: 4*mm; y: 20*mm
|
||||
}
|
||||
|
||||
Text {
|
||||
text: qsTr("Password")
|
||||
x: 4*mm; y: 30*mm
|
||||
font.pixelSize:3*mm
|
||||
x: 4*mm; y: 30*mm
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Image dir.")
|
||||
x: 4*mm; y: 40*mm
|
||||
text: qsTr("Image dir.")
|
||||
font.pixelSize:3*mm
|
||||
x: 4*mm; y: 40*mm
|
||||
}
|
||||
|
||||
Text {
|
||||
text: qsTr("Max. News")
|
||||
x: 4*mm; y: 50*mm
|
||||
}
|
||||
Text {
|
||||
text: qsTr("News as")
|
||||
x: 4*mm; y: 60*mm
|
||||
Text {
|
||||
text: qsTr("Max. News")
|
||||
font.pixelSize:3*mm
|
||||
x: 4*mm; y: 50*mm
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Interval (0=None)")
|
||||
visible: false
|
||||
x: 4*mm; y: 70*mm; width:20*mm;wrapMode: Text.Wrap
|
||||
}
|
||||
text: qsTr("News as")
|
||||
font.pixelSize:3*mm
|
||||
x: 4*mm; y: 60*mm
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Sync Interval (0=None)")
|
||||
font.pixelSize:3*mm
|
||||
//visible: false
|
||||
x: 4*mm; y: 70*mm; //width:35*mm;wrapMode: Text.Wrap
|
||||
}
|
||||
|
||||
// Text {
|
||||
// Text {
|
||||
// text: qsTr("Show Website")
|
||||
// x: 4*mm; y: 70*mm; width: 20*mm
|
||||
// }
|
||||
// x: 4*mm; y:80*mm; width: 20*mm
|
||||
// }
|
||||
|
||||
Image{
|
||||
id:servericon
|
||||
x:19*mm;y:10*mm
|
||||
width:5*mm; height: 5*mm
|
||||
visible: false
|
||||
source:""
|
||||
MouseArea{
|
||||
anchors.fill:parent
|
||||
onClicked:{
|
||||
Service.showServerConfig(servername.text, configBackground, function(configString){
|
||||
var serverconfigObject=Qt.createQmlObject(configString,configBackground,"serverconfigOutput");})
|
||||
}
|
||||
Image{
|
||||
id:servericon
|
||||
x:4*mm;y:13.5*mm
|
||||
width:5*mm; height: 5*mm
|
||||
visible: false
|
||||
source:""
|
||||
MouseArea{
|
||||
anchors.fill:parent
|
||||
onClicked:{
|
||||
Service.showServerConfig(servername.text, configBackground, function(configString){
|
||||
var serverconfigObject=Qt.createQmlObject(configString,configBackground,"serverconfigOutput");})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BlueButton{
|
||||
id:serverSearchButton
|
||||
text:"\uf002"
|
||||
x:19*mm
|
||||
y:10*mm
|
||||
width: 5*mm; height:5*mm
|
||||
visible: servericon.visible?false:true
|
||||
onClicked:{Qt.openUrlExternally(Qt.resolvedUrl("https://dir.friendica.social/servers"))}
|
||||
}
|
||||
BlueButton{
|
||||
id:serverSearchButton
|
||||
text:"\uf002"
|
||||
x:4*mm
|
||||
y:13.5*mm
|
||||
width: 5*mm; height:5*mm
|
||||
visible: servericon.visible?false:true
|
||||
onClicked:{Qt.openUrlExternally(Qt.resolvedUrl("https://dir.friendica.social/servers"))}
|
||||
}
|
||||
|
||||
|
||||
Rectangle{color: "light grey"; x: 25*mm; y: 10*mm; width: root.width/2; height: 5*mm;}
|
||||
Flickable {
|
||||
id: servernameFlickable
|
||||
x: 25*mm; y: 10*mm; width: root.width/2; height: 5*mm;
|
||||
contentWidth: servername.paintedWidth
|
||||
contentHeight: servername.paintedHeight
|
||||
clip: true
|
||||
TextEdit {
|
||||
id: servername
|
||||
width: servernameFlickable.width
|
||||
height: servernameFlickable.height
|
||||
focus: true
|
||||
text:"https://..."
|
||||
onEditingFinished:{
|
||||
Rectangle{color: "light grey"; x: 10*mm; y: 13.5*mm; width: root.width-12*mm; height: 5*mm;}
|
||||
Flickable {
|
||||
id: servernameFlickable
|
||||
x: 10*mm; y: 13.5*mm; width: root.width-12*mm; height: 5*mm;
|
||||
contentWidth: servername.paintedWidth
|
||||
contentHeight: servername.paintedHeight
|
||||
clip: true
|
||||
TextEdit {
|
||||
id: servername
|
||||
width: servernameFlickable.width
|
||||
height: servernameFlickable.height
|
||||
focus: true
|
||||
font.pixelSize:3*mm
|
||||
text:"https://..."
|
||||
onEditingFinished:{
|
||||
if((servername.text).substring(0,14) =="https://...http"){
|
||||
serverstring.text= (serverstring.text).substring(11)
|
||||
}
|
||||
|
||||
configBackground.setServericon(servername.text)
|
||||
}
|
||||
onCursorRectangleChanged: Layoutjs.ensureVisibility(cursorRectangle,servernameFlickable)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle{
|
||||
color: "light grey"
|
||||
x: 25*mm; y: 20*mm; width: root.width/2-9*mm; height: 5*mm;
|
||||
TextInput {
|
||||
id: username
|
||||
anchors.fill: parent
|
||||
selectByMouse: true
|
||||
Rectangle{
|
||||
color: "light grey"
|
||||
x: 4*mm; y: 23.5*mm; width: root.width-14*mm; height: 5*mm;
|
||||
TextInput {
|
||||
id: username
|
||||
anchors.fill: parent
|
||||
font.pixelSize:3*mm
|
||||
selectByMouse: true
|
||||
onEditingFinished:{
|
||||
if (username.text.indexOf('@')>-1){
|
||||
Helperjs.showMessage(qsTr("Error"),qsTr("Nicknames containing @ symbol currently not supported"),configBackground)
|
||||
|
@ -201,84 +208,40 @@ StackView{
|
|||
}
|
||||
}
|
||||
}
|
||||
BlueButton {
|
||||
x: root.width/2+18*mm; y: 20*mm; width:7*mm
|
||||
text: "\uf234"
|
||||
onClicked: {
|
||||
configStack.push({item:"qrc:/qml/configqml/RegisterPage.qml",properties:{url:servername.text+"/register?nickname="+username.getText(0,username.length)}})
|
||||
}
|
||||
}
|
||||
BlueButton {
|
||||
x: root.width-9*mm; y: 23.5*mm; width:7*mm
|
||||
text: "\uf234"
|
||||
onClicked: {
|
||||
configStack.push({item:"qrc:/qml/configqml/RegisterPage.qml",properties:{url:servername.text+"/register?nickname="+username.getText(0,username.length)}})
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle{
|
||||
color: "light grey"
|
||||
x: 25*mm; y: 30*mm; width: root.width/2; height: 5*mm;
|
||||
x: 4*mm; y: 33.5*mm; width: root.width-6*mm; height: 5*mm;
|
||||
TextInput {
|
||||
id: password
|
||||
anchors.fill: parent
|
||||
font.pixelSize:3*mm
|
||||
selectByMouse: true
|
||||
echoMode: TextInput.PasswordEchoOnEdit
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle{color: "light grey"; x: 25*mm; y: 40*mm; width: root.width/2-9*mm; height: 5*mm;}
|
||||
Rectangle{color: "light grey"; x: 4*mm; y: 43.5*mm; width: root.width-14*mm; height: 5*mm;}
|
||||
Flickable {
|
||||
id: imagestoreFlickable
|
||||
x: 25*mm; y: 40*mm; width: root.width/2-9*mm; height: 5*mm;
|
||||
x: 4*mm; y: 43.5*mm; width: root.width-14*mm; height: 5*mm;
|
||||
clip: true
|
||||
TextInput {
|
||||
id: imagestore
|
||||
width: imagestoreFlickable.width
|
||||
height: imagestoreFlickable.height
|
||||
font.pixelSize:3*mm
|
||||
wrapMode: TextEdit.NoWrap
|
||||
onCursorRectangleChanged: Layoutjs.ensureVisibility(cursorRectangle,imagestoreFlickable)
|
||||
}
|
||||
}
|
||||
Slider{ id: maxNews
|
||||
x:34*mm; y: 50*mm;width: root.width/3;height:5*mm
|
||||
minimumValue: 0;maximumValue:2000; stepSize: 100
|
||||
}
|
||||
|
||||
|
||||
Rectangle{color: "light grey"; x: 25*mm; y: 50*mm; width: 9*mm; height: 5*mm;
|
||||
TextEdit{id:maxNewsText;
|
||||
anchors.fill: parent
|
||||
verticalAlignment:TextEdit.AlignRight
|
||||
text:maxNews.value
|
||||
focus: true
|
||||
selectByMouse: true
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle{
|
||||
x: 25*mm; y: 60*mm; width: root.width/2; height: 5*mm;
|
||||
color:"light grey"
|
||||
Text{
|
||||
id: newsTypeField
|
||||
anchors.fill: parent
|
||||
text:"Conversations"
|
||||
}
|
||||
MouseArea{
|
||||
anchors.fill:parent
|
||||
onClicked:newstypemenu.popup()
|
||||
}
|
||||
}
|
||||
Slider{ id: messageIntervalSlider
|
||||
visible: false
|
||||
x:37*mm; y: 70*mm;width: root.width/3;height:5*mm
|
||||
minimumValue: 0;maximumValue:24; stepSize: 0.5
|
||||
}
|
||||
Rectangle{
|
||||
visible:false
|
||||
x: 25*mm; y: 70*mm; width: 9*mm; height: 5*mm;
|
||||
TextEdit{
|
||||
id: messageIntervalField
|
||||
anchors.fill: parent
|
||||
verticalAlignment:TextEdit.AlignRight
|
||||
text:messageIntervalSlider.value
|
||||
focus: true
|
||||
selectByMouse: true
|
||||
}
|
||||
}
|
||||
|
||||
FileDialog {
|
||||
id: imagestoreDialog
|
||||
|
@ -290,20 +253,71 @@ StackView{
|
|||
imagestoreString=imagestoreString.replace(/^(file:\/{2})/,"")+"/"
|
||||
imagestore.text=imagestoreString
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BlueButton {
|
||||
x: root.width/2+18*mm; y: 40*mm; width: 7*mm; height: 5*mm;
|
||||
x: root.width-9*mm; y: 43.5*mm; width: 7*mm; height: 5*mm;
|
||||
text: "..."
|
||||
onClicked:
|
||||
{imagestoreDialog.open()}
|
||||
}
|
||||
|
||||
|
||||
Slider{ id: maxNews
|
||||
x:19*mm; y: 53.5*mm;width: root.width/2;height:5*mm
|
||||
minimumValue: 0;maximumValue:2000; stepSize: 100
|
||||
}
|
||||
|
||||
|
||||
Rectangle{color: "light grey"; x: 4*mm; y: 53.5*mm; width: 9*mm; height: 5*mm;
|
||||
TextEdit{id:maxNewsText;
|
||||
anchors.fill: parent
|
||||
font.pixelSize:3*mm
|
||||
verticalAlignment:TextEdit.AlignRight
|
||||
text:maxNews.value
|
||||
focus: true
|
||||
selectByMouse: true
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle{
|
||||
x: 4*mm; y: 63.5*mm; width: newsTypeField.contentWidth+2*mm; height: 5*mm;
|
||||
color:"light grey"
|
||||
Text{
|
||||
id: newsTypeField
|
||||
anchors.fill: parent
|
||||
font.pixelSize:3*mm
|
||||
text:"Conversations"
|
||||
}
|
||||
MouseArea{
|
||||
anchors.fill:parent
|
||||
onClicked:newstypemenu.popup()
|
||||
}
|
||||
}
|
||||
Slider{ id: messageIntervalSlider
|
||||
x:22*mm; y: 73.5*mm;width: root.width/2;height:5*mm
|
||||
minimumValue: 0;maximumValue:120; stepSize: 15
|
||||
}
|
||||
Rectangle{
|
||||
x: 4*mm; y: 73.5*mm; width: 9*mm; height: 5*mm;
|
||||
TextEdit{
|
||||
id: messageIntervalField
|
||||
anchors.fill: parent
|
||||
font.pixelSize:3*mm
|
||||
verticalAlignment:TextEdit.AlignRight
|
||||
text:messageIntervalSlider.value
|
||||
focus: true
|
||||
selectByMouse: true
|
||||
}
|
||||
}
|
||||
Text{x: 14*mm; y: 73.5*mm; width: 5*mm; height: 5*mm;
|
||||
font.pixelSize:3*mm
|
||||
text:qsTr("Min.")
|
||||
}
|
||||
|
||||
// CheckBox{
|
||||
// id:showwebsiteCheckbox
|
||||
// x:35*mm;y:70*mm
|
||||
// x:35*mm;y:80*mm
|
||||
// onClicked:{
|
||||
// if (checked==true){
|
||||
// Service.updateglobaloptions(root.db,"showWebsiteForLinks","true")
|
||||
|
@ -314,11 +328,10 @@ StackView{
|
|||
// root.globaloptions.showWebsiteForLinks="false"
|
||||
// }
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
BlueButton {
|
||||
x: 25*mm; y: 78*mm
|
||||
x: 4*mm; y: 83.5*mm
|
||||
text: qsTr("Confirm")
|
||||
onClicked:{
|
||||
var userconfig={server: servername.text, username: username.text, password:Qt.btoa(password.text), imagestore:imagestore.text,maxnews:maxNewsText.text,interval: messageIntervalField.text, newsViewType:newsTypeField.text};
|
||||
|
@ -352,7 +365,10 @@ StackView{
|
|||
root.login=userconfig;
|
||||
root.news=[];
|
||||
},"isActive",0);
|
||||
Service.requestProfile(userconfig,db,root,function(nc){root.newContacts=nc})
|
||||
Service.requestProfile(userconfig,db,root,function(nc){root.newContacts=nc});
|
||||
if(osSettings.osType=="Android" && userconfig.timerInterval !=0){
|
||||
alarm.setAlarm(userconfig.timerInterval);
|
||||
}
|
||||
Helperjs.showMessage(qsTr("Success"),qsTr("Name")+": "+credentials.name+"\nScreen Name: "+credentials.screen_name,root)
|
||||
}
|
||||
});
|
||||
|
@ -382,7 +398,7 @@ StackView{
|
|||
imagestore.text="";
|
||||
maxNews.value=0;
|
||||
newsTypeField.text="Conversations";
|
||||
messageIntervalSlider.value=0;
|
||||
messageIntervalSlider.value=30;
|
||||
userButton.text=qsTr("User");
|
||||
Helperjs.readData(db,"config","",function(storedUsers){
|
||||
storedUsers.sort(function(obj1, obj2) {
|
||||
|
@ -405,7 +421,7 @@ StackView{
|
|||
imagestore.text=""
|
||||
maxNews.value=0
|
||||
newsTypeField.text="Conversations"
|
||||
messageIntervalSlider.value=0
|
||||
messageIntervalSlider.value=30
|
||||
userButton.text=qsTr("User")
|
||||
}
|
||||
}
|
||||
|
@ -449,12 +465,12 @@ StackView{
|
|||
if( obj.isActive==0){userButton.fontColor='black'} else {userButton.fontColor='grey'}},"isActive",0
|
||||
)
|
||||
})
|
||||
//Service.readGlobaloptions(db,function(go){
|
||||
// Service.readGlobaloptions(db,function(go){
|
||||
// if (root.globaloptions.showWebsiteForLinks!="false"){showwebsiteCheckbox.checked=true}
|
||||
//})
|
||||
// })
|
||||
|
||||
}
|
||||
catch (e){
|
||||
catch (e){print(e)
|
||||
Helperjs.friendicaWebRequest("https://dir.friendica.social/servers/surprise",configBackground,function(html){
|
||||
var bpos=html.indexOf("baseurl");
|
||||
var baseurl=html.substring(html.indexOf("http",bpos),html.indexOf('"',html.indexOf("http",bpos)));
|
||||
|
|
|
@ -43,7 +43,7 @@ Rectangle{
|
|||
textFormat: Text.RichText
|
||||
width: parent.width
|
||||
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
||||
text: "<b>Friendiqa v0.3.4 </b><br>Licensed under GPL 3 with the exception of OpenSSL <br> "+
|
||||
text: "<b>Friendiqa v0.4 </b><br>Licensed under GPL 3 with the exception of OpenSSL <br> "+
|
||||
"Profile <a href='https://freunde.ma-nic.de/profile/friendiqa'>https://freunde.ma-nic.de/profile/friendiqa</a><br>"+
|
||||
"Sourcecode: <a href='https://git.friendi.ca/LubuWest/Friendiqa'>https://git.friendi.ca/LubuWest/Friendiqa</a><br>"+
|
||||
"Most of C++ code by <a href='https://kirgroup.com/profile/fabrixxm'>Fabio</a><br>"+
|
||||
|
|
|
@ -36,6 +36,7 @@ QtObject{
|
|||
property int appHeight: Screen.desktopAvailableHeight
|
||||
property int backKey: Qt.Key_Back
|
||||
//property string attachImageDir:filesystem.cameraPath+"/"
|
||||
property string osType: "Android"
|
||||
property string imagePickQml: "ImagePicker"
|
||||
property string imagePicker:'import QtQuick 2.0; import "qrc:/qml/genericqml";'+
|
||||
imagePickQml+'{multiple : true;onReady: {attachImageURLs.push(imageUrl);'+
|
||||
|
|
|
@ -34,6 +34,7 @@ QtObject{
|
|||
property real appWidth: 500
|
||||
property real appHeight: 500
|
||||
property int backKey: Qt.Key_Escape
|
||||
property string osType: "Android"
|
||||
//property string attachImageDir:filesystem.homePath+"/Pictures/"
|
||||
property string imagePickQml: "ImagePickerLinux"
|
||||
}
|
||||
|
|
|
@ -194,8 +194,10 @@ TabView{
|
|||
Component.onCompleted: {
|
||||
Service.readGlobaloptions(db,function(go){globaloptions=go})
|
||||
//print(xhr.networktype);
|
||||
if(osSettings.imagePickQml=="ImagePicker"){var component = Qt.createComponent("qrc:/qml/genericqml/IntentReceiver.qml");
|
||||
var IntentReceiverQml = component.createObject(root)
|
||||
if(osSettings.osType=="Android"){
|
||||
var component = Qt.createComponent("qrc:/qml/genericqml/IntentReceiver.qml");
|
||||
var IntentReceiverQml = component.createObject(root);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,10 @@ Item {
|
|||
|
||||
Component.onCompleted: {
|
||||
SystemDispatcher.setInitialized();
|
||||
print("timer " + login.timerInterval)
|
||||
if (login.timerInterval !=0){
|
||||
alarm.setAlarm(login.timerInterval);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,8 +45,23 @@ Rectangle{
|
|||
// WebView {id:htmlview;
|
||||
// anchors.fill: parent
|
||||
// }
|
||||
Component.onCompleted: //Helperjs.friendicaWebRequest(url,parent,function(html){
|
||||
//print(html);
|
||||
htmlview.text="Text <iframe src='"+url+"' width = '300px' height = '300px'>"
|
||||
//})
|
||||
Component.onCompleted:{
|
||||
|
||||
// Helperjs.friendicaWebRequest(url,parent,function(document){
|
||||
// print(document);
|
||||
|
||||
//// var metas = document.getElementsByTagName('meta'); //get all the meta tag elements
|
||||
//// //iterate through them
|
||||
//// for (i=0; i<metas.length; i++) {
|
||||
//// if (metas[i].getAttribute("name") == "keywords") {
|
||||
//// print(metas[i].getAttribute("content"));
|
||||
//// }
|
||||
//// else if (metas[i].getAttribute("name") == "description") {
|
||||
//// console.log(metas[i].getAttribute("content"));
|
||||
//// }
|
||||
//// }
|
||||
// //print(html);
|
||||
// htmlview.text=""
|
||||
// })
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,6 +40,8 @@ import "qrc:/js/helper.js" as Helperjs
|
|||
import "qrc:/js/service.js" as Service
|
||||
|
||||
|
||||
import AndroidNative 1.0
|
||||
|
||||
Item {
|
||||
Connections{
|
||||
target:newstab
|
||||
|
@ -59,6 +61,25 @@ Item {
|
|||
}
|
||||
}
|
||||
|
||||
// Connections{
|
||||
// target:xhr
|
||||
// onError:{
|
||||
// Helperjs.showMessage(qsTr("Network Error"),"API:\n" +login.server+api+"\n Return: \n"+data,root);
|
||||
// }
|
||||
// onSuccess:{
|
||||
// if (api=="/api/statuses/friends_timeline"){
|
||||
// // downloadNotice.text=downloadNotice.text+ "\n xhr finished "+Date.now();
|
||||
// //Service.processNews(api,data);
|
||||
// if(login.newsViewType=="Timeline"){
|
||||
// Newsjs.newsfromdb(db,login.username,function(dbnews){showNews(dbnews)})}
|
||||
// else{Newsjs.chatsfromdb(db,login.username,function(dbnews){
|
||||
// showNews(dbnews);
|
||||
// })}
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
Timer {id:replytimer; interval: 1000; running: false; repeat: false
|
||||
onTriggered: {
|
||||
if(newstab.newstabstatus=="Conversation"){
|
||||
|
@ -221,6 +242,14 @@ Item {
|
|||
Service.updateView("Favorites")
|
||||
}
|
||||
}
|
||||
QC2.Action {
|
||||
text: qsTr("Replies")
|
||||
onTriggered:{
|
||||
newsStack.updateMethodNews="refresh";
|
||||
newstab.newstabstatus="Replies";
|
||||
Service.updateView("Replies")
|
||||
}
|
||||
}
|
||||
QC2.Action {
|
||||
text: qsTr("Public timeline")
|
||||
onTriggered:{
|
||||
|
|
100
source-android/qml/newsqml/NewsYplayer.qml
Normal file
100
source-android/qml/newsqml/NewsYplayer.qml
Normal file
|
@ -0,0 +1,100 @@
|
|||
|
||||
|
||||
// This file is part of Friendiqa
|
||||
// https://git.friendi.ca/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.8
|
||||
import "qrc:/js/helper.js" as Helperjs
|
||||
//import QtWebView 1.1
|
||||
|
||||
Rectangle{
|
||||
color:"transparent"
|
||||
width:newscolumn.width;
|
||||
height:newscolumn.width/4*3
|
||||
property string url:""//htmlview.text
|
||||
WebView {
|
||||
id: webView
|
||||
anchors.fill: parent
|
||||
opacity: 0
|
||||
|
||||
url: "qrc:///content/player.html?" + currentVideo.vId
|
||||
|
||||
Behavior on opacity { NumberAnimation { duration: 200 } }
|
||||
|
||||
onLoadingChanged: {
|
||||
switch (loadRequest.status)
|
||||
{
|
||||
case WebView.LoadSucceededStatus:
|
||||
opacity = 1
|
||||
return
|
||||
case WebView.LoadStartedStatus:
|
||||
case WebView.LoadStoppedStatus:
|
||||
break
|
||||
case WebView.LoadFailedStatus:
|
||||
topInfo.text = "Failed to load the requested video"
|
||||
break
|
||||
}
|
||||
opacity = 0
|
||||
}
|
||||
onTitleChanged: {
|
||||
currentVideo.status = 1 * title
|
||||
if (title == videoStatus.paused || title == videoStatus.ready)
|
||||
panel.state = "list"
|
||||
else if (title == videoStatus.playing)
|
||||
panel.state = "hidden"
|
||||
}
|
||||
}
|
||||
Text{id:htmlview
|
||||
textFormat:Text.RichText
|
||||
}
|
||||
// WebView {id:htmlview;
|
||||
// anchors.fill: parent
|
||||
// }
|
||||
Component.onCompleted:{
|
||||
|
||||
// Helperjs.friendicaWebRequest(url,parent,function(document){
|
||||
// print(document);
|
||||
|
||||
//// var metas = document.getElementsByTagName('meta'); //get all the meta tag elements
|
||||
//// //iterate through them
|
||||
//// for (i=0; i<metas.length; i++) {
|
||||
//// if (metas[i].getAttribute("name") == "keywords") {
|
||||
//// print(metas[i].getAttribute("content"));
|
||||
//// }
|
||||
//// else if (metas[i].getAttribute("name") == "description") {
|
||||
//// console.log(metas[i].getAttribute("content"));
|
||||
//// }
|
||||
//// }
|
||||
// //print(html);
|
||||
// htmlview.text=""
|
||||
// })
|
||||
}
|
||||
}
|
|
@ -184,10 +184,10 @@ Item {
|
|||
var component = Qt.createComponent("qrc:/qml/newsqml/NewsImage.qml");
|
||||
var imageQml = component.createObject(messageColumn,{"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});
|
||||
// }
|
||||
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});
|
||||
}
|
||||
else {//print(newsitemobject.attachmentList[attachments].url+" Type: "+newsitemobject.attachmentList[attachments].mimetype)
|
||||
var component = Qt.createComponent("qrc:/qml/newsqml/NewsVideo.qml");
|
||||
var videoQml = component.createObject(messageColumn,{"source":newsitemobject.attachmentList[attachments].url,"mimetype":newsitemobject.attachmentList[attachments].mimetype});
|
||||
|
@ -461,14 +461,6 @@ Item {
|
|||
})
|
||||
}
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Post")
|
||||
onTriggered: {
|
||||
Helperjs.friendicaPostRequest(root.login,"/item","preview=1&"+encodeURIComponent(newsitemobject.text),"POST",root,function(reply){
|
||||
print(reply)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
//MenuItem{
|
||||
// text:qsTr("Show on website")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue