From 249150dd1b25544423335a05e1416c32e98af231 Mon Sep 17 00:00:00 2001
From: demmm
Date: Mon, 20 Apr 2020 15:00:04 +0200
Subject: [PATCH 1/2] [welcomeq] add language bar reads data from
languagesModel correctly, debug added to see index changes code cleanup
button layout improved install info text added, better spacing of text about
button no longer commented out, 3 reasons: - info provided by any about is
standard, will be odd if it can't be found - about.qml is a seperate file,
can be completely adjusted - not showing it takes away the options for new
QML cala users to see what is possible with Loader, thus stopping new
possible contributors
---
.../welcomeq/img/language-icon-48px.png | Bin 0 -> 2315 bytes
src/modules/welcomeq/welcomeq.qml | 85 ++++++++++++------
src/modules/welcomeq/welcomeq.qrc | 1 +
3 files changed, 58 insertions(+), 28 deletions(-)
create mode 100644 src/modules/welcomeq/img/language-icon-48px.png
diff --git a/src/modules/welcomeq/img/language-icon-48px.png b/src/modules/welcomeq/img/language-icon-48px.png
new file mode 100644
index 0000000000000000000000000000000000000000..4012a4bee05f8f3e38a6f9efe0ff705361b094a7
GIT binary patch
literal 2315
zcma)8XHXN`5>5hGKoA8(HDII$2wg*{N&->^Bs3|ZM2dvuL8N(+qF$sU0V7?J0SN*c
z+NC6*NW0V#5CuXJFd&8|oq#X?et+JN-92;8w>$HFyE}7|>}<^i`6c-Q0Dz#y4U_{n
zYW%TNC%E1jw4cZgr-?UQ!vFw*^M4HZiTQxTy#$lcE+o@XoHr?u5F+ash{pjmG}X2A
z)HSt@iJ6^Tg!CW8Ey5jAgm)+oaLte4gOfE248=tdLhpvjn%>g=PyPHA001Nv=;%Un
zv9U(_67X>EKQMSCo(KQ}Fpg$w2*Cfo1jMr^`_l6@L{H4d6nzM7&-K#zG9D&@RS3Scl&o1+V)JN(E4>uw?MZE6BE*=HY%~YImW&wHRg~ia3
znSxhuO>K(^tJ>!v7_TOAck(mgka6X%!Uv5h%4yILI&$DHZe*}BFQOaDLTZosmA%Hl
zRH3!mQVu%1vUhsM5bVk~>ULv$iG~Nca97G_>%9UG*jh?UfSxX_enPcwTA{me=7L%M
zM6je5UFQ58ZOVV$+XRvf8^?>hn{1uQan#W!z4Jr(LgDNdCU%TqbCWjKUool&h1`
z<}~Vx=kQG^cpe<^H#9qj_@a39tO_kFo`AsdV_>yoieR1$wKvTYA7_bLbxxF=a)**m
zol>~Rr|*oNxd*T@of;dNlPhNj6U$gg)g?C8-}D7RR3oiUmI4%O=yGYt43}(P)ZOmD@J8sY&m_
z+O*;6#102HH{=Rv;T0Iv9A{_}$Ug~s0YMP7ayci3r0rT-T5u$iW7(!MuQlHL#l=14
z378Z>ir7G-X$_B#mWD?}SgC@^et!i4$@uH`*)^i*<;JhU^C6A5rx`ISRI0)~POO=U
zt84BTc6cCxK%r7$xyG>!mnx?~JU%BrKE4iWloW^SdzQoup;TAHlTc77baR!d&*dSr
zbxRcex$3rJcZLkbJOg5(BYD)tS8x(lK9bbycfN%QZwz5(&CSg{$|A&`@F}KeS{4JJ*T92lqpiiyE77PUi1>M^oTx?+$Rj+K3{clu_EL*!U?~YgZ
zHsB{qOG{CyX0Nt(cm0oeqoboyC=>>xnLkibWa0`t8HUVst#VQY3kW6hWOSRN(R_3|
z-MuMP{_^2irE~4Q6(@iw`Xz&5Bz84UnorfURh-h-nIxhZxxXpj63+f`r}iBGV=Y<)
zLRwT*R5;BH$j}46b4e9b_Zpw*AL8!yVH6ap-)RTNc#c!m{=F|AN;?o;kl23xCTU~97jgGF>
zTR!7SOG_)EQh6U<8xO7ETrVh?xN7Jc_Di)jtdKRgx?b9sve8Wm@-hKjW{HJ{Sjm?7O*
z4FGX#$sS_-puZ`MB`zc5Kai*E=;+x0u`n<XUsr~wKG1S7#tN1k)MuB_e#Q--V-P5J@
zpjA~>r~T!)RkeHsRvy?nyb@vD-H4fFHa*4
z28V}*O-)TDCQZPgPv?XZH=^lNtx>n8LK=T_W%B}EjazIVibrBkYa7hOS`UIykL;8l
z4YB6A1GJ$Zv3iCPz5SzaV`D>T_R@s>xE#J6iWPV(vUdsV^LI^3=EJz&^`)hy7v<&t
zU)FYGfm6K4$>ILUi=Z<+gQ>?L8NTowPn_ZF>4G1aX2RxYupXQbDIo
zwlYVoz14^kdxq;)=S^P&T+onBIflsNEMhsXF1N{=Xwm%qtl3}hJE81wB(vs2Pf5_ycTi;$1eNWOiT2VcN$`F4Os
z0N^;y$=>MjU=6VDUst2&wHP?g(8q{{jm-KtKQh
literal 0
HcmV?d00001
diff --git a/src/modules/welcomeq/welcomeq.qml b/src/modules/welcomeq/welcomeq.qml
index 729b61b28..8d6d47dc1 100644
--- a/src/modules/welcomeq/welcomeq.qml
+++ b/src/modules/welcomeq/welcomeq.qml
@@ -16,6 +16,7 @@
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see .
*/
+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("Welcome to the %1 %2
installer
").arg(Branding.string(Branding.ProductName)).arg(Branding.string(Branding.Version))
+ text: qsTr("Welcome to the %1 %2
installer
+ This program will ask you some questions and set up %1 on your computer.
").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"
@@ -116,8 +112,8 @@ Page
visible: config.releaseNotesUrl !== ""
onClicked: Qt.openUrlExternally(config.releaseNotesUrl)
}
- Button
- {
+
+ Button {
Layout.fillWidth: true
text: qsTr("Donate")
icon.name: "taxes-finances"
@@ -128,8 +124,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
}
diff --git a/src/modules/welcomeq/welcomeq.qrc b/src/modules/welcomeq/welcomeq.qrc
index 84e598a27..82c449bf4 100644
--- a/src/modules/welcomeq/welcomeq.qrc
+++ b/src/modules/welcomeq/welcomeq.qrc
@@ -4,5 +4,6 @@
about.qml
img/squid.png
img/chevron-left-solid.svg
+ img/language-icon-48px.png
From 828448b2ffded48dc7f5de8c98fa5d42e0440d0b Mon Sep 17 00:00:00 2001
From: demmm
Date: Mon, 20 Apr 2020 16:47:12 +0200
Subject: [PATCH 2/2] [welcomeq] make release notes part of welcome window use
Loader option for those notes too, commented out file shows it is possible to
load from anywhere
---
src/modules/welcomeq/release_notes.qml | 100 +++++++++++++++++++++++++
src/modules/welcomeq/welcomeq.qml | 3 +-
src/modules/welcomeq/welcomeq.qrc | 1 +
3 files changed, 103 insertions(+), 1 deletion(-)
create mode 100644 src/modules/welcomeq/release_notes.qml
diff --git a/src/modules/welcomeq/release_notes.qml b/src/modules/welcomeq/release_notes.qml
new file mode 100644
index 000000000..ce9d1d4af
--- /dev/null
+++ b/src/modules/welcomeq/release_notes.qml
@@ -0,0 +1,100 @@
+/* === This file is part of Calamares - ===
+ *
+ * Copyright 2020, Anke Boersma
+ *
+ * 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 .
+ */
+
+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("%1
+ This an example QML file, showing options in RichText with Flickable content.
+
+ QML with RichText can use HTML tags, Flickable content is useful for touchscreens.
+
+ This is bold text
+ This is italic text
+ This is underlined text
+ This text will be center-aligned.
+ This is strikethrough
+
+ Code example:
+ ls -l /home
+
+ Lists:
+
+ - Intel CPU systems
+ - AMD CPU systems
+
+
+ The vertical scrollbar is adjustable, current width set to 10.
").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
+ }
+ }
+
+}
diff --git a/src/modules/welcomeq/welcomeq.qml b/src/modules/welcomeq/welcomeq.qml
index 8d6d47dc1..6330f5116 100644
--- a/src/modules/welcomeq/welcomeq.qml
+++ b/src/modules/welcomeq/welcomeq.qml
@@ -110,7 +110,8 @@ 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 {
diff --git a/src/modules/welcomeq/welcomeq.qrc b/src/modules/welcomeq/welcomeq.qrc
index 82c449bf4..71431254e 100644
--- a/src/modules/welcomeq/welcomeq.qrc
+++ b/src/modules/welcomeq/welcomeq.qrc
@@ -2,6 +2,7 @@
welcomeq.qml
about.qml
+ release_notes.qml
img/squid.png
img/chevron-left-solid.svg
img/language-icon-48px.png