Friendiqa/source-linux/qml/genericqml/DrawerAccountComponent.qml

257 lines
9.2 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 2.15
import QtQuick.Controls 6.3
import "qrc:/qml/genericqml"
import "qrc:/qml/newsqml"
Item {
id: drawerAccountComponent
width: accountList.width
height: 17*root.fontFactor*osSettings.bigFontSize
function changeNews(typeRequest){
newsSwipeview.stacktype=typeRequest;
if (newstabitem.newstypes.indexOf(typeRequest)<0){
var component = Qt.createComponent("qrc:/qml/newsqml/NewsStack.qml");
var newscomp = component.createObject(newsSwipeview,{"expectScreenUpdate":true});
newsSwipeview.addItem(newscomp);
newstabitem.newstypes.push(typeRequest);
newsSwipeview.currentIndex=newsSwipeview.count;
addToolbutton(typeRequest)
newstabbar.currentIndex=newsSwipeview.count
}else{
newsSwipeview.currentIndex=newstabitem.newstypes.indexOf(typeRequest);
newstabbar.currentIndex=newstabitem.newstypes.indexOf(typeRequest);
}
}
Label{
y:0.5*root.fontFactor*osSettings.bigFontSize
width:parent.width
height: 1.5*osSettings.bigFontSize*root.fontFactor
verticalAlignment:Text.AlignBottom
font.pointSize: osSettings.bigFontSize
text: account.username
}
Label{
y:2*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
text: "\uf021 " + qsTr("Refresh")
MouseArea{
anchors.fill:parent
onClicked: {
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
newstypeSignal("")
// updatenews.setDatabase();
// updatenews.login();
// updatenews.startsync();
}
}
}
Label{
y:3.5*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
font.bold: account.username==login.username && newsSwipeview.stacktype=="Home" && newstab.newstabstatus=="Timeline"
text: "\uf1da " + qsTr("Timeline")
MouseArea{
anchors.fill:parent
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Home");
currentnewstabstatus="Timeline";
newstypeSignal("timeline")
}
}
}
Label{
y:5*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
font.bold: account.username==login.username && newsSwipeview.stacktype=="Home" && newstab.newstabstatus=="Conversations"
text: "\uf086 " + qsTr("Conversations")
MouseArea{
anchors.fill:parent
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Home");
currentnewstabstatus="Conversations";
newstypeSignal("conversation")
}
}
}
Label{
y:6.5*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
font.bold: account.username==login.username && newsSwipeview.stacktype=="Replies"
text: "\uf0ec " + qsTr("Replies")
MouseArea{
anchors.fill:parent
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Replies");
//urrentnewstabstatus="Replies";
newstypeSignal("replies")
}
}
}
Label{
y:8*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
font.bold: account.username==login.username && newsSwipeview.stacktype=="DirectMessages"
text: "\uf0e0 " + qsTr("Direct Messages")
MouseArea{
anchors.fill:parent
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("DirectMessages")
//currentnewstabstatus="DirectMessages";
}
}
}
Label{
y:9.5*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
font.bold: account.username==login.username && newsSwipeview.stacktype=="Favorites"
text: "\uf005 " + qsTr("Favorites")
MouseArea{
anchors.fill:parent
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Favorites")
//currentnewstabstatus="Favorites";
newstypeSignal("favorites")
}
}
}
Label{
y:11*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
font.bold: account.username==login.username && newsSwipeview.stacktype=="Public Timeline"
text: "\uf0ac " + qsTr("Public Timeline")
MouseArea{
anchors.fill:parent
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Public Timeline")
currentnewstabstatus="Public Timeline";
newstypeSignal("publictimeline")
}
}
}
Label{
y:12.5*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
font.bold: account.username==login.username && newsSwipeview.stacktype=="Groupnews"
text: "\uf0c0 " + qsTr("Group news")
MouseArea{
anchors.fill:parent
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Group News")
newstypeSignal("groupnews")
}
}
}
Label{
y:14*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
font.bold: account.username==login.username && newsSwipeview.stacktype=="Search"
text: "\uf002 " + qsTr("Search")
MouseArea{
anchors.fill:parent
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
// newsSwipeview.currentIndex=0;
// currentnewstabstatus="Search";
// newstypeSignal("search")
var component = Qt.createComponent("qrc:/qml/genericqml/SearchDialog.qml");
var searchItem = component.createObject(newstab,{"selfdestroying":true});
searchItem.open()
}
}
}
Label{
y:15.5*root.fontFactor*osSettings.bigFontSize
width:parent.width
font.family: fontAwesome.name
font.pointSize: osSettings.systemFontSize
font.bold: account.username==login.username && newsSwipeview.stacktype=="Notifications"
text: "\uf0f3 " + qsTr("Notifications")
MouseArea{
anchors.fill:parent
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Notifications")
newstypeSignal("notifications")
}
}
}
}