mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-10 04:36:43 +00:00
149 lines
4.8 KiB
QML
149 lines
4.8 KiB
QML
// Copyright (c) 2022 Proton Technologies AG
|
|
//
|
|
// This file is part of ProtonMail Bridge.
|
|
//
|
|
// ProtonMail Bridge 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.
|
|
//
|
|
// ProtonMail Bridge 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 ProtonMail Bridge. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
import QtQml 2.12
|
|
import QtQuick 2.13
|
|
import QtQuick.Layouts 1.12
|
|
import QtQuick.Controls 2.12
|
|
import QtQuick.Controls.impl 2.12
|
|
|
|
import Proton 4.0
|
|
|
|
Rectangle {
|
|
id: root
|
|
|
|
property ColorScheme colorScheme
|
|
property var backend
|
|
|
|
color: root.colorScheme.background_norm
|
|
|
|
ColumnLayout {
|
|
anchors.centerIn: root
|
|
|
|
//width: 320
|
|
|
|
spacing: 20
|
|
|
|
Label {
|
|
Layout.bottomMargin: 12;
|
|
Layout.alignment: Qt.AlignHCenter;
|
|
|
|
colorScheme: root.colorScheme;
|
|
text: "What's new in Bridge"
|
|
type: Label.Heading
|
|
horizontalAlignment: Text.AlignCenter
|
|
}
|
|
|
|
Repeater {
|
|
model: ListModel {
|
|
ListElement { icon: "ic-illustrative-view-html-code" ; title: qsTr("New interface") ; description: qsTr("Entirely redesigned GUI with more intuitive setup.")}
|
|
ListElement { icon: "ic-card-identity" ; title: qsTr("Status view") ; description: qsTr("Important notifications and available storage at a glance.")}
|
|
ListElement { icon: "ic-drive" ; title: qsTr("Local cache") ; description: qsTr("New and improved cache for major stability and performance enhancements.")}
|
|
}
|
|
|
|
Item {
|
|
implicitWidth: children[0].implicitWidth
|
|
implicitHeight: children[0].implicitHeight
|
|
|
|
RowLayout {
|
|
id: row
|
|
spacing: 25
|
|
|
|
Item {
|
|
Layout.topMargin: itemTitle.height/2
|
|
Layout.alignment: Qt.AlignTop
|
|
Layout.preferredWidth: 24
|
|
Layout.preferredHeight: 24
|
|
|
|
ColorImage {
|
|
anchors.top: parent.top
|
|
anchors.left: parent.left
|
|
|
|
color: root.colorScheme.interaction_norm
|
|
source: "./icons/"+model.icon+".svg"
|
|
width: parent.width
|
|
sourceSize.width: parent.width
|
|
}
|
|
}
|
|
|
|
ColumnLayout {
|
|
spacing: 0
|
|
|
|
Label {
|
|
id: itemTitle
|
|
colorScheme: root.colorScheme
|
|
text: model.title
|
|
type: Label.Body_bold
|
|
}
|
|
|
|
Label {
|
|
Layout.preferredWidth: 320
|
|
colorScheme: root.colorScheme
|
|
text: model.description
|
|
wrapMode: Text.WordWrap
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
Item {
|
|
Layout.alignment: Qt.AlignHCenter;
|
|
implicitWidth: children[0].width
|
|
implicitHeight: children[0].height
|
|
|
|
RowLayout {
|
|
spacing: 10
|
|
|
|
Label {
|
|
colorScheme: root.colorScheme;
|
|
text: qsTr("Full release notes")
|
|
Layout.alignment: Qt.AlignHCenter
|
|
type: Label.LabelType.Body
|
|
onLinkActivated: Qt.openUrlExternally(link)
|
|
color: root.colorScheme.interaction_norm
|
|
}
|
|
|
|
ColorImage {
|
|
color: root.colorScheme.interaction_norm
|
|
source: "./icons/ic-external-link.svg"
|
|
width: 16
|
|
sourceSize.width: 16
|
|
}
|
|
|
|
}
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
cursorShape: Qt.PointingHandCursor
|
|
onClicked: Qt.openUrlExternally(root.backend.releaseNotesLink)
|
|
}
|
|
}
|
|
|
|
|
|
Button {
|
|
Layout.topMargin: 12
|
|
Layout.fillWidth: true
|
|
colorScheme: root.colorScheme
|
|
text: "Start using Bridge"
|
|
onClicked: root.backend.showSplashScreen = false
|
|
}
|
|
}
|
|
}
|
|
|