forked from lubuwest/Friendiqa
v0.6.3 Dark Mode
This commit is contained in:
parent
06499466be
commit
66e5c33b00
56 changed files with 1869 additions and 1283 deletions
|
@ -33,6 +33,7 @@ import QtQuick 2.7
|
|||
import QtQuick.Dialogs 1.2
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQml.Models 2.15
|
||||
import "qrc:/js/service.js" as Service
|
||||
import "qrc:/js/layout.js" as Layoutjs
|
||||
import "qrc:/js/helper.js" as Helperjs
|
||||
|
@ -40,53 +41,53 @@ import "qrc:/qml/configqml"
|
|||
import "qrc:/qml/genericqml"
|
||||
|
||||
Page{
|
||||
id:accountPage
|
||||
width: root.width
|
||||
height: root.height
|
||||
property var users:[]
|
||||
property var userdata: ({})
|
||||
property string imagestoredir: ""
|
||||
id:accountPage
|
||||
width: root.width
|
||||
height: root.height
|
||||
property var users:[]
|
||||
property var userdata: ({})
|
||||
property string imagestoredir: ""
|
||||
|
||||
|
||||
function setServericon(server){
|
||||
try {Helperjs.friendicaWebRequest(server+"/api/statusnet/config",accountPage, function (obj){
|
||||
function setServericon(server){
|
||||
if ((server!=null) && (server!="")){
|
||||
try {Helperjs.friendicaWebRequest(server+"/api/statusnet/config",accountPage, function (obj){
|
||||
var serverdata = JSON.parse(obj);
|
||||
servericon.visible=true;
|
||||
servericon.source=serverdata.site.logo})} catch(e){print(e)}
|
||||
servericon.source=serverdata.site.logo})
|
||||
} catch(e){print(e)}
|
||||
}
|
||||
}
|
||||
|
||||
MButton{
|
||||
id:userButton
|
||||
text:qsTr("User")
|
||||
font.pointSize: osSettings.bigFontSize
|
||||
x: root.fontFactor*osSettings.bigFontSize
|
||||
y: root.fontFactor*osSettings.bigFontSize
|
||||
width: root.width/2 - 2*mm
|
||||
height: 2*root.fontFactor*osSettings.bigFontSize
|
||||
visible: users.length>0
|
||||
|
||||
onClicked:{
|
||||
var useritems="";
|
||||
for (var i=0;i<accountPage.users.length;i++){
|
||||
|
||||
useritems=useritems+"MenuItem{font.pointSize: osSettings.bigFontSize;width:accountPage.width*2/3; text:'"+accountPage.users[i].username+
|
||||
"'; onTriggered: {Service.readConfig(db,function(obj){
|
||||
userButton.text=obj.username;
|
||||
servername.text=obj.server;
|
||||
accountPage.setServericon(obj.server);
|
||||
username.text= obj.username;
|
||||
password.text=Qt.atob(obj.password);
|
||||
imagestore.text=obj.imagestore;
|
||||
imagestoredir=obj.imagestore;
|
||||
if( obj.isActive==0){userButton.font.bold='true'} else {userButton.font.bold='false'}
|
||||
},'username','"+ accountPage.users[i].username+"')}}"
|
||||
}
|
||||
var menuString="import QtQuick.Controls 2.12;import 'qrc:/js/service.js' as Service;"+
|
||||
" Menu {width:8*root.fontFactor*osSettings.bigFontSize;"+useritems+"}";
|
||||
var userlistObject=Qt.createQmlObject(menuString,accountPage,"usermenuOutput")
|
||||
userlistObject.popup() }
|
||||
MButton{
|
||||
id:userButton
|
||||
text:qsTr("User")
|
||||
font.pointSize: osSettings.bigFontSize
|
||||
x: root.fontFactor*osSettings.bigFontSize
|
||||
y: root.fontFactor*osSettings.bigFontSize
|
||||
width: root.width/2 - 2*mm
|
||||
height: 2*root.fontFactor*osSettings.bigFontSize
|
||||
visible: users.length>0
|
||||
onClicked:{
|
||||
var useritems="";
|
||||
for (var i=0;i<accountPage.users.length;i++){
|
||||
useritems=useritems+"MenuItem{font.pointSize: osSettings.bigFontSize;width:accountPage.width*2/3; text:'"+accountPage.users[i].username+
|
||||
"'; onTriggered: {Service.readConfig(db,function(obj){
|
||||
userButton.text=obj.username;
|
||||
serverModel.insert(0,{text:obj.server})
|
||||
accountPage.setServericon(obj.server);
|
||||
username.text= obj.username;
|
||||
password.text=Qt.atob(obj.password);
|
||||
imagestore.text=obj.imagestore;
|
||||
imagestoredir=obj.imagestore;
|
||||
if( obj.isActive==0){userButton.font.bold='true'} else {userButton.font.bold='false'}
|
||||
},'username','"+ accountPage.users[i].username+"')}}"
|
||||
}
|
||||
|
||||
var menuString="import QtQuick.Controls 2.12;import 'qrc:/js/service.js' as Service;"+
|
||||
" Menu {width:8*root.fontFactor*osSettings.bigFontSize;"+useritems+"}";
|
||||
var userlistObject=Qt.createQmlObject(menuString,accountPage,"usermenuOutput")
|
||||
userlistObject.popup() }
|
||||
}
|
||||
|
||||
Image{
|
||||
id:servericon
|
||||
|
@ -115,18 +116,87 @@ Page{
|
|||
onClicked:{Qt.openUrlExternally(Qt.resolvedUrl("https://dir.friendica.social/servers"))}
|
||||
}
|
||||
|
||||
|
||||
// ComboBox{
|
||||
// id: servername
|
||||
// x: 4*root.fontFactor*osSettings.bigFontSize
|
||||
// y: 3.5*root.fontFactor*osSettings.bigFontSize
|
||||
// width: root.width-5*root.fontFactor*osSettings.bigFontSize
|
||||
// height: 2.5*root.fontFactor*osSettings.bigFontSize//5*mm;
|
||||
// font.pointSize: osSettings.systemFontSize
|
||||
// editable:true
|
||||
// model: serverModel
|
||||
// onAccepted: {
|
||||
// let cleanText =currentText;if(currentText==""){cleanText=editText}
|
||||
// if((cleanText).substring(0,8) !=="https://"){
|
||||
// cleanText="https://"+cleanText
|
||||
// }
|
||||
// if (find(cleanText) === -1) {
|
||||
// serverModel.append({text: cleanText})
|
||||
// currentIndex = find(cleanText)
|
||||
// displayText=cleanText
|
||||
// }
|
||||
// if (cleanText!=""){accountPage.setServericon(cleanText)}
|
||||
// }
|
||||
// onFocusChanged: {
|
||||
// if(focus==false){
|
||||
// onAccepted()
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
TextField {
|
||||
id: servername
|
||||
x: 4*root.fontFactor*osSettings.bigFontSize; y: 4*root.fontFactor*osSettings.bigFontSize; width: root.width-18*mm; //height: 5*mm;
|
||||
placeholderText: qsTr("Server")
|
||||
x: 4*root.fontFactor*osSettings.bigFontSize
|
||||
y: 3.5*root.fontFactor*osSettings.bigFontSize
|
||||
width: root.width-5*root.fontFactor*osSettings.bigFontSize
|
||||
height: 2.5*root.fontFactor*osSettings.bigFontSize//5*mm;
|
||||
font.pointSize: osSettings.systemFontSize
|
||||
onEditingFinished: {
|
||||
if ((servername.text)==""){}
|
||||
else if((servername.text).substring(0,7) !=="https://"){
|
||||
servername.text= "https://"+text//(serverstring.text).substring(8)
|
||||
}
|
||||
accountPage.setServericon(servername.text)}
|
||||
text:"https://"
|
||||
onFocusChanged:{
|
||||
if (focus){servermenu.open()}
|
||||
else{
|
||||
if((servername.text).substring(0,11) =="https://http"){
|
||||
servername.text= (servername.text).substring(8)
|
||||
}
|
||||
if (servername.text!="https://"){
|
||||
accountPage.setServericon(servername.text)}
|
||||
}
|
||||
}
|
||||
}
|
||||
Menu {
|
||||
id:servermenu
|
||||
width: 13*root.fontFactor*osSettings.bigFontSize
|
||||
x: 4*root.fontFactor*osSettings.bigFontSize
|
||||
y: 5*root.fontFactor*osSettings.bigFontSize
|
||||
Instantiator{
|
||||
model:serverModel
|
||||
MenuItem{
|
||||
text: modelData
|
||||
onTriggered: {servername.text=modelData}
|
||||
}
|
||||
onObjectAdded: servermenu.insertItem(index,object)
|
||||
onObjectRemoved: servermenu.removeItem(object)
|
||||
}
|
||||
}
|
||||
|
||||
ListModel{id:serverModel
|
||||
ListElement{text:"https://asaps-sm.lafayettegroup.com"}
|
||||
ListElement{text:"https://f.freinetz.ch"}
|
||||
ListElement{text:"https://friendica.chilemasto.casa"}
|
||||
ListElement{text:"https://friendica.utzer.de"}
|
||||
ListElement{text:"https://friendica.vrije-mens.org"}
|
||||
ListElement{text:"https://friendicarg.nsupdate.info.de"}
|
||||
ListElement{text:"https://friends.nogafam.es"}
|
||||
ListElement{text:"https://libranet.de"}
|
||||
ListElement{text:"https://loma.ml"}
|
||||
ListElement{text:"https://social.trom.tf"}
|
||||
ListElement{text:"https://motley.club"}
|
||||
ListElement{text:"https://nerdica.net"}
|
||||
ListElement{text:"https://noovi.org"}
|
||||
ListElement{text:"https://nsfw.wnymathguy.com"}
|
||||
ListElement{text:"https://opensocial.at"}
|
||||
ListElement{text:"https://social.isurf.ca"}
|
||||
ListElement{text:"https://squeet.me"}
|
||||
ListElement{text:"https://venera.social"}
|
||||
}
|
||||
|
||||
TextField {
|
||||
|
@ -155,7 +225,7 @@ Page{
|
|||
inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText | Qt.ImhSensitiveData
|
||||
}
|
||||
|
||||
Text {
|
||||
Label {
|
||||
id: imagedirlabel
|
||||
visible: imagestore.text!=""
|
||||
text: qsTr("Image dir.")
|
||||
|
@ -210,8 +280,8 @@ Page{
|
|||
text: qsTr("Confirm")
|
||||
font.pointSize: osSettings.bigFontSize
|
||||
onClicked:{
|
||||
accountBusy.running=true;
|
||||
var userconfig={server: servername.text, username: username.text, password:Qt.btoa(password.text), imagestore:imagestoredir, maxnews:"",interval: ""};
|
||||
accountBusy.running=true;//servername.displayText
|
||||
var userconfig={server: servername.displayText, username: username.text, password:Qt.btoa(password.text), imagestore:imagestoredir, maxnews:"",interval: ""};
|
||||
var errormessage="";
|
||||
if (servername.text==""){errormessage=qsTr("No server given! ")}
|
||||
else if (username.text==""){errormessage+=qsTr("No nickname given! ")}
|
||||
|
@ -274,23 +344,23 @@ Page{
|
|||
onClicked:{
|
||||
var userconfig={server: servername.text, username: username.text, password: Qt.btoa(password.text)};
|
||||
Service.deleteConfig(db,userconfig,function(){
|
||||
filesystem.Directory=imagestore.text+"contacts";
|
||||
filesystem.rmDir();
|
||||
filesystem.Directory=imagestore.text+"albums";
|
||||
filesystem.rmDir();
|
||||
servername.text="https://";
|
||||
servericon.visible=false;
|
||||
servericon.source="";
|
||||
username.text="";
|
||||
password.text="";
|
||||
imagestore.text="";
|
||||
filesystem.Directory=imagestore.text+"contacts";
|
||||
filesystem.rmDir();
|
||||
filesystem.Directory=imagestore.text+"albums";
|
||||
filesystem.rmDir();
|
||||
servername.text="https://";
|
||||
servericon.visible=false;
|
||||
servericon.source="";
|
||||
username.text="";
|
||||
password.text="";
|
||||
imagestore.text="";
|
||||
//maxNews.value=0;
|
||||
//newsTypeField.text="Conversations";
|
||||
//messageIntervalSlider.value=30;
|
||||
userButton.text=qsTr("User");
|
||||
Helperjs.readData(db,"config","",function(storedUsers){
|
||||
storedUsers.sort(function(obj1, obj2) {
|
||||
return obj1.isActive - obj2.isActive;
|
||||
userButton.text=qsTr("User");
|
||||
Helperjs.readData(db,"config","",function(storedUsers){
|
||||
storedUsers.sort(function(obj1, obj2) {
|
||||
return obj1.isActive - obj2.isActive;
|
||||
})
|
||||
accountPage.users=storedUsers;})
|
||||
})
|
||||
|
@ -339,6 +409,7 @@ Page{
|
|||
Service.readConfig(db,function(obj){
|
||||
userButton.text=obj.username;
|
||||
servername.text=obj.server;
|
||||
serverModel.insert(0,{text:obj.server})
|
||||
accountPage.setServericon(obj.server);
|
||||
username.text= obj.username;
|
||||
password.text=Qt.atob(obj.password);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue