This repository has been archived on 2022-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
fanny-app/qml/Forms/HomeForm.qml
2019-01-19 23:03:50 +01:00

203 lines
6 KiB
QML

/*
Fannyapp - Application to view the cover plan of the Fanny-Leicht-Gymnasium ins Stuttgart Vaihingen, Germany
Copyright (C) 2019 Itsblue Development <development@itsblue.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import QtQuick 2.9
import QtQuick.Controls 2.4
import "../Components"
Page {
id: root
signal opened()
onOpened: {}
Column {
id: mainMenu
spacing: buttonWidth * 0.1
anchors {
horizontalCenter: parent.horizontalCenter
verticalCenter: parent.verticalCenter
}
property int buttonHeight: app.landscape() ? root.height * (0.5*0.8):buttonWidth
property int buttonWidth: app.landscape() ? buttonHeight:root.width * (0.5*0.8)
Row {
id: bigMenu
spacing: mainMenu.buttonWidth * 0.1
anchors.horizontalCenter: parent.horizontalCenter
FancyButton {
id: todayButton
image: "qrc:/graphics/icons/sheute.png"
width: mainMenu.buttonWidth
height: mainMenu.buttonHeight
onClicked: {
eventConfirmationDialog.openDay( _cppAppSettings.loadSetting("teacherMode") === "true" ? "lheute":"sheute")
}
}
FancyButton {
id: tomorrowButton
image: "qrc:/graphics/icons/smorgen.png"
width: mainMenu.buttonWidth
height: mainMenu.buttonHeight
onClicked: {
eventConfirmationDialog.openDay( _cppAppSettings.loadSetting("teacherMode") === "true" ? "lmorgen":"smorgen")
}
}
Dialog {
property string day
id: eventConfirmationDialog
modal: true
focus: true
title: "Bedingung"
x: (app.width - eventConfirmationDialog.width) / 2
y: (app.height - eventConfirmationDialog.height) / 2
parent: Overlay.overlay
width: Math.min(root.width, root.height) / 3 * 2
contentHeight: aboutColumn.height
standardButtons: Dialog.Ok | Dialog.Cancel
onAccepted: {
formStack.eventDay = day
formStack.push(eventForm)
}
Column {
id: aboutColumn
spacing: 20
Label {
id: text
visible: true
width: eventConfirmationDialog.availableWidth
wrapMode: Label.Wrap
text: "Vertretungsplan, vertraulich, nur zum persönlichen Gebrauch, keine Speicherung!"
}
}
function openDay(day){
eventConfirmationDialog.day = day
eventConfirmationDialog.open()
}
}
}
Grid {
id: smallMenu
columns: app.landscape() ? 4:2
spacing: mainMenu.buttonWidth * 0.1
anchors.horizontalCenter: parent.horizontalCenter
property int buttonHeight: mainMenu.buttonHeight * 0.7
property int buttonWidth: mainMenu.buttonWidth * 0.7
FancyButton {
id: foodplanButton
image: "qrc:/graphics/images/TreffpunktFannyLogoDark.png"
width: smallMenu.buttonWidth
height: smallMenu.buttonHeight
onClicked: {
formStack.push(foodPlanForm)
}
}
FancyButton {
id: fannyButton
image: "qrc:/graphics/images/FannyLogoDark.jpg"
imageScale: 1.2
width: smallMenu.buttonWidth
height: smallMenu.buttonHeight
onClicked: {
Qt.openUrlExternally("http://www.fanny-leicht.de")
}
}
FancyButton {
id: settingsButton
image: "qrc:/graphics/icons/settingsBlack.png"
imageScale: 0.8
width: smallMenu.buttonWidth
height: smallMenu.buttonHeight
onClicked: {
formStack.push(settingsForm)
}
}
FancyButton {
id: logoutButton
image: "qrc:/graphics/icons/logoutRed.png"
imageScale: 0.8
width: smallMenu.buttonWidth
height: smallMenu.buttonHeight
onClicked: {
logoutConfirmationDialog.open()
}
Dialog {
id: logoutConfirmationDialog
x: (app.width - width) / 2
y: (app.height - height) / 2
parent: Overlay.overlay
modal: true
standardButtons: Dialog.Cancel | Dialog.Ok
Column {
spacing: 20
anchors.fill: parent
Label {
text: "Möchtest du dich wirklich abmelden?"
}
}
onAccepted: {
serverConn.logout()
}
}
}
}
}
}