142 lines
5.7 KiB
QML
142 lines
5.7 KiB
QML
// This file is part of Friendiqa
|
|
// https://git.friendi.ca/lubuwest/Friendiqa
|
|
// Copyright (C) 2020 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 6.3
|
|
import QtQuick.Controls 6.3
|
|
import "qrc:/qml/genericqml"
|
|
import "qrc:/js/service.js" as Service
|
|
|
|
ScrollView{
|
|
id:leftDrawerScrollviewId
|
|
clip: true
|
|
width:parent.width-mm
|
|
height: parent.height
|
|
contentHeight: leftDrawerColumn.height
|
|
property string currentnewstabstatus:root.globaloptions.hasOwnProperty("newsViewType")?root.globaloptions.newsViewType:"Conversations";
|
|
|
|
function initialize(){
|
|
accountModel.clear();
|
|
Service.readAllLogins(db,function(accounts){
|
|
if (accounts.length>0 && bar.currentIndex==0){
|
|
leftDrawerColumn.height=6.5*root.fontFactor*osSettings.bigFontSize+accounts.length*17*root.fontFactor*osSettings.bigFontSize
|
|
for(var account in accounts) {
|
|
accountModel.append({"account":accounts[account]})
|
|
}
|
|
}else if(accounts.length>0 && bar.currentIndex==1){
|
|
leftDrawerColumn.height=6.5*root.fontFactor*osSettings.bigFontSize+accounts.length*8*root.fontFactor*osSettings.bigFontSize
|
|
for(var account in accounts) {
|
|
accountModel.append({"account":accounts[account]})
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
Column{
|
|
id:leftDrawerColumn
|
|
x:mm
|
|
y:0.5*root.fontFactor*osSettings.bigFontSize
|
|
width:leftDrawerScrollviewId.width-2*mm
|
|
height: 4*root.fontFactor*osSettings.bigFontSize
|
|
spacing: 0.7*root.fontFactor*osSettings.bigFontSize
|
|
|
|
ToolButton{
|
|
font.pointSize: osSettings.systemFontSize
|
|
text: qsTr("Settings")
|
|
icon.name: "settings-configure"
|
|
icon.source: "qrc:/assets/icons/cogs.svg"
|
|
icon.height: root.fontFactor*osSettings.systemFontSize
|
|
icon.width: root.fontFactor*osSettings.systemFontSize
|
|
// background: Rectangle{color: osSettings.dialogColor;
|
|
// radius: 0.5*mm}
|
|
onClicked:{
|
|
rootstackView.push("qrc:qml/configqml/ConfigPage.qml");
|
|
if(!wideScreen){leftDrawerAndroid.close()}
|
|
}
|
|
}
|
|
ToolButton{
|
|
y:2*root.fontFactor*osSettings.bigFontSize
|
|
font.pointSize: osSettings.systemFontSize
|
|
text: qsTr("Accounts")
|
|
icon.name: "addressbook-details"
|
|
icon.source: "qrc:/assets/icons/address-card.svg"
|
|
icon.height: root.fontFactor*osSettings.systemFontSize
|
|
icon.width: root.fontFactor*osSettings.systemFontSize
|
|
// background: Rectangle{color: osSettings.dialogColor;
|
|
// radius: 0.5*mm}
|
|
onClicked:{
|
|
rootstackView.push("qrc:qml/configqml/AccountPage.qml");
|
|
if(!wideScreen){leftDrawerAndroid.close()}
|
|
}
|
|
}
|
|
ToolButton{
|
|
y:4*root.fontFactor*osSettings.bigFontSize
|
|
font.pointSize: osSettings.systemFontSize
|
|
text: qsTr("Quit")
|
|
icon.name: "system-log-out-symbolic"
|
|
icon.source: "qrc:/assets/icons/sign-out.svg"
|
|
icon.height: root.fontFactor*osSettings.systemFontSize
|
|
icon.width: root.fontFactor*osSettings.systemFontSize
|
|
// background: Rectangle{color: osSettings.dialogColor;
|
|
// radius: 0.5*mm}
|
|
onClicked:{
|
|
Service.cleanNews(root.db,function(){
|
|
Service.cleanHashtags(root.db,function(){
|
|
Service.cleanContacts(root.login,root.db,function(){
|
|
Qt.quit()})
|
|
})})
|
|
}
|
|
}
|
|
ListModel{id:accountModel}
|
|
Component{id:accountLoader
|
|
Loader{
|
|
source: bar.currentIndex==0?"qrc:/qml/genericqml/DrawerAccountComponent.qml":"qrc:/qml/genericqml/DrawerAccountComponentContacts.qml"
|
|
}
|
|
}
|
|
ListView{
|
|
id:accountList
|
|
y: 6.5*root.fontFactor*osSettings.bigFontSize
|
|
width:leftDrawerColumn.width
|
|
height: contentHeight
|
|
model: accountModel
|
|
delegate: accountLoader
|
|
}
|
|
}
|
|
|
|
Connections{
|
|
target: root
|
|
function onLoginChanged(){
|
|
initialize()
|
|
}
|
|
}
|
|
|
|
Component.onCompleted:{initialize()}
|
|
}
|