Merge pull request #1383 from demmm/master

[welcomeq] add language bar
This commit is contained in:
Adriaan de Groot 2020-04-23 13:26:49 +02:00 committed by GitHub
commit cc1a1079e4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 161 additions and 29 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,100 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2020, Anke Boersma <demm@kaosx.us>
*
* Calamares 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.
*
* Calamares 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 Calamares. If not, see <http://www.gnu.org/licenses/>.
*/
import io.calamares.ui 1.0
import QtQuick 2.7
import QtQuick.Controls 2.2
import QtQuick.Window 2.2
import QtQuick.Layouts 1.3
Rectangle {
width: parent.width
height: parent.height
focus: true
color: "#f2f2f2"
Flickable {
id: flick
anchors.fill: parent
contentHeight: 3500
ScrollBar.vertical: ScrollBar {
id: fscrollbar
width: 10
policy: ScrollBar.AlwaysOn
}
TextArea {
id: intro
x: 130
y: 8
width: 640
font.pointSize: 14
textFormat: Text.RichText
antialiasing: true
activeFocusOnPress: false
wrapMode: Text.WordWrap
text: qsTr("<h3>%1</h3>
<p>This an example QML file, showing options in RichText with Flickable content.</p>
<p>QML with RichText can use HTML tags, Flickable content is useful for touchscreens.</p>
<p><b>This is bold text</b></p>
<p><i>This is italic text</i></p>
<p><u>This is underlined text</u></p>
<p><center>This text will be center-aligned.</center></p>
<p><s>This is strikethrough</s></p>
<p>Code example:
<code>ls -l /home</code></p>
<p><b>Lists:</b></p>
<ul>
<li>Intel CPU systems</li>
<li>AMD CPU systems</li>
</ul>
<p>The vertical scrollbar is adjustable, current width set to 10.</p>").arg(Branding.string(Branding.VersionedName))
}
}
ToolButton {
id: toolButton
x: 19
y: 29
width: 105
height: 48
text: qsTr("Back")
hoverEnabled: true
onClicked: load.source = ""
Image {
id: image1
x: 0
y: 13
width: 22
height: 22
source: "img/chevron-left-solid.svg"
fillMode: Image.PreserveAspectFit
}
}
}

View file

@ -16,6 +16,7 @@
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*/
import io.calamares.core 1.0
import io.calamares.ui 1.0
import QtQuick 2.10
@ -29,21 +30,21 @@ Page
{
id: welcome
header: Item
{
header: Item {
width: parent.width
height: parent.height
Text
{
Text {
id: welcomeTopText
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
horizontalAlignment: Text.AlignHCenter
padding: 40
// In QML, QString::arg() only takes one argument
text: qsTr("<h3>Welcome to the %1 <quote>%2</quote> installer</h3>").arg(Branding.string(Branding.ProductName)).arg(Branding.string(Branding.Version))
text: qsTr("<h3>Welcome to the %1 <quote>%2</quote> installer</h3>
<p>This program will ask you some questions and set up %1 on your computer.</p>").arg(Branding.string(Branding.ProductName)).arg(Branding.string(Branding.Version))
}
Image
{
Image {
id: welcomeImage
anchors.centerIn: parent
// imagePath() returns a full pathname, so make it refer to the filesystem
@ -55,36 +56,31 @@ Page
fillMode: Image.PreserveAspectFit
}
RowLayout
{
RowLayout {
id: buttonBar
width: parent.width
width: parent.width / 1.5
height: 64
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
spacing: Kirigami.Units.largeSpacing* 2
/* Traditionally Calamares has had an "About" button that talks about
* Calamares itself, which just isn't a very useful thing in someone
* else's installation ISO.
*/
Button
{
Button {
Layout.fillWidth: true
text: qsTr("About")
icon.name: "dialog-information"
Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4)
Kirigami.Theme.textColor: Kirigami.Theme.textColor
visible: false
visible: true
onClicked: {
//onClicked: load.source = "file:/usr/share/calamares/branding/kaos_branding/show.qml"
//onClicked: load.source = "file:/usr/share/calamares/branding/default/show.qml"
onClicked: load.source = "about.qml"
}
}
Button
{
Button {
Layout.fillWidth: true
text: qsTr("Support")
icon.name: "system-help"
@ -94,8 +90,8 @@ Page
visible: config.supportUrl !== ""
onClicked: Qt.openUrlExternally(config.supportUrl)
}
Button
{
Button {
Layout.fillWidth: true
text: qsTr("Known issues")
icon.name: "tools-report-bug"
@ -105,8 +101,8 @@ Page
visible: config.knownIssuesUrl !== ""
onClicked: Qt.openUrlExternally(config.knownIssuesUrl)
}
Button
{
Button {
Layout.fillWidth: true
text: qsTr("Release notes")
icon.name: "folder-text"
@ -114,10 +110,11 @@ Page
Kirigami.Theme.textColor: Kirigami.Theme.textColor
visible: config.releaseNotesUrl !== ""
onClicked: Qt.openUrlExternally(config.releaseNotesUrl)
onClicked: load.source = "release_notes.qml"
//onClicked: load.source = "file:/usr/share/calamares/release_notes.qml"
}
Button
{
Button {
Layout.fillWidth: true
text: qsTr("Donate")
icon.name: "taxes-finances"
@ -128,8 +125,41 @@ Page
onClicked: Qt.openUrlExternally(config.donateUrl)
}
}
Loader
{
RowLayout {
id: languageBar
width: parent.width /1.2
height: 48
anchors.bottom: parent.bottom
anchors.bottomMargin: parent.height /7
anchors.horizontalCenter: parent.horizontalCenter
spacing: Kirigami.Units.largeSpacing* 4
Rectangle {
width: parent.width
Layout.fillWidth: true
focus: true
Image {
id: image
height: 48
fillMode: Image.PreserveAspectFit
source: "img/language-icon-48px.png"
}
ComboBox {
id: languages
anchors.left: image.right
width: languageBar.width /1.1
textRole: "label"
currentIndex: 4 //model.currentIndex
model: config.languagesModel
onCurrentIndexChanged: console.debug(currentText, currentIndex)
}
}
}
Loader {
id:load
anchors.fill: parent
}

View file

@ -2,7 +2,9 @@
<qresource>
<file alias="welcomeq.qml">welcomeq.qml</file>
<file alias="about.qml">about.qml</file>
<file alias="release_notes.qml">release_notes.qml</file>
<file>img/squid.png</file>
<file>img/chevron-left-solid.svg</file>
<file>img/language-icon-48px.png</file>
</qresource>
</RCC>