Friendiqa/src/qml/genericqml/DrawerAccountComponent.qml
2024-04-15 17:24:30 +02:00

243 lines
10 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:/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){
newsSwipeview.currentIndex=0;
newstabbar.currentIndex=0;
// let component =Qt.createQmlObject('import QtQuick 6.3; Loader{source:(newsSwipeview.currentIndex=='+(newsSwipeview.count)+')? "qrc:/qml/newsqml/NewsStack.qml":"qrc:/qml/newsqml/NewsStack.qml"}',newsSwipeview,"NewsstackLoader")
// newsSwipeview.addItem(component);
// newstabitem.newstypes.push(typeRequest);
// addToolbutton(typeRequest);
// newstabbar.currentIndex=newsSwipeview.count-1;
}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
color: osSettings.primaryTextColor
verticalAlignment:Text.AlignBottom
font.pointSize: osSettings.bigFontSize
text: account.username
}
ToolButton{
y:2*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
text: qsTr("Refresh")
icon.name: "view-refresh-symbolic"
icon.source: "qrc:/assets/icons/refresh.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
newstypeSignal("")
}
}
ToolButton{
y:3.5*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
font.bold: account.username==root.login.username && newsSwipeview.stacktype=="Home" && newstab.newstabstatus=="Timeline"
text: qsTr("Timeline")
icon.name: "chronometer"
icon.source: "qrc:/assets/icons/history.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Home");
currentnewstabstatus="Timeline";
newstypeSignal("timeline")
}
}
ToolButton{
y: 5*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
font.bold: account.username==root.login.username && newsSwipeview.stacktype=="Home" && newstab.newstabstatus=="Conversations"
text: qsTr("Conversations")
icon.name: "view-conversation-balloon"
icon.source: "qrc:/assets/icons/comments.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Home");
currentnewstabstatus="Conversations";
newstypeSignal("conversation")
}
}
ToolButton{
y:6.5*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
font.bold: account.username==root.login.username && newsSwipeview.stacktype=="Replies"
text: qsTr("Replies")
icon.name: "mail-reply-all-symbolic"
icon.source: "qrc:/assets/icons/exchange.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Replies");
//currentnewstabstatus="Replies";
newstypeSignal("replies")
}
}
ToolButton{
y: 8*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
font.bold: account.username==root.login.username && newsSwipeview.stacktype=="DirectMessages"
text: qsTr("Direct Messages")
icon.name: "mail-message"
icon.source: "qrc:/assets/icons/envelope.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("DirectMessages")
}
}
ToolButton{
y: 9.5*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
font.bold: account.username==root.login.username && newsSwipeview.stacktype=="Favorites"
text: qsTr("Favorites")
icon.name: "starred-symbolic"
icon.source: "qrc:/assets/icons/star.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Favorites")
newstypeSignal("favorites")
}
}
ToolButton{
y: 11*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
font.bold: account.username==root.login.username && newsSwipeview.stacktype=="Public Timeline"
text: qsTr("Public Timeline")
icon.name: "globe"
icon.source: "qrc:/assets/icons/globe.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Public Timeline")
currentnewstabstatus="Public Timeline";
newstypeSignal("publictimeline")
}
}
ToolButton{
y: 12.5*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
font.bold: account.username==root.login.username && newsSwipeview.stacktype=="Groupnews"
text: qsTr("Group news")
icon.name: "group"
icon.source: "qrc:/assets/icons/users.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
newsSwipeview.currentIndex=0;
currentnewstabstatus="Groupnews";
changeNews("Group News")
newstypeSignal("groupnews")
}
}
ToolButton{
y: 14*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
font.bold: account.username==root.login.username && newsSwipeview.stacktype=="Search"
text: qsTr("Search")
icon.name: "system-search"
icon.source: "qrc:/assets/icons/search.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
newsSwipeview.currentIndex=0;
currentnewstabstatus="Search";
newstypeSignal("search")
changeNews("Search");
}
}
ToolButton{
y: 15.5*root.fontFactor*osSettings.bigFontSize
font.pointSize: osSettings.systemFontSize
font.bold: account.username==root.login.username && newsSwipeview.stacktype=="Notifications"
text: qsTr("Notifications")
icon.name: "notifications"
icon.source: "qrc:/assets/icons/bell.svg"
icon.height: root.fontFactor*osSettings.systemFontSize
icon.width: root.fontFactor*osSettings.systemFontSize
onClicked:{
login=account;
if(!wideScreen){leftDrawerAndroid.close()}
changeNews("Notifications")
newstypeSignal("notifications")
}
}
}