calamares: yarrr har, steal kaos qml
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
|
||||||
|
Item {
|
||||||
|
property string title
|
||||||
|
property string body
|
||||||
|
property string footer
|
||||||
|
property url image
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
pkgname=calamares-branding-antergos-next
|
pkgname=calamares-branding-antergos-next
|
||||||
pkgver=1.0
|
pkgver=1.0
|
||||||
pkgrel=9
|
pkgrel=10
|
||||||
pkgdesc="Calamares branding for Antergos NeXT with offline/online installer support"
|
pkgdesc="Calamares branding for Antergos NeXT with offline/online installer support"
|
||||||
arch=('any')
|
arch=('any')
|
||||||
url="https://github.com/Antergos-NeXT"
|
url="https://github.com/Antergos-NeXT"
|
||||||
@@ -12,6 +12,15 @@ optdepends=('zenity: fallback for graphical mode chooser dialog')
|
|||||||
source=("branding.desc"
|
source=("branding.desc"
|
||||||
"stylesheet.qss"
|
"stylesheet.qss"
|
||||||
"show.qml"
|
"show.qml"
|
||||||
|
"Dia.qml"
|
||||||
|
"Slider.qml"
|
||||||
|
"calamares-sidebar.qml"
|
||||||
|
"calamares-navigation.qml"
|
||||||
|
"background.jpg"
|
||||||
|
"pan-up-symbolic.svg"
|
||||||
|
"pan-end-symbolic.svg"
|
||||||
|
"pan-start-symbolic.svg"
|
||||||
|
"draw-rectangle.svg"
|
||||||
"unpackfs.conf"
|
"unpackfs.conf"
|
||||||
"dracut.conf"
|
"dracut.conf"
|
||||||
"antergos-logo.png"
|
"antergos-logo.png"
|
||||||
@@ -34,6 +43,15 @@ sha256sums=('SKIP'
|
|||||||
'SKIP'
|
'SKIP'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP'
|
||||||
'SKIP')
|
'SKIP')
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
@@ -43,6 +61,15 @@ package() {
|
|||||||
cp "branding.desc" "${pkgdir}${_brand}/"
|
cp "branding.desc" "${pkgdir}${_brand}/"
|
||||||
cp "stylesheet.qss" "${pkgdir}${_brand}/"
|
cp "stylesheet.qss" "${pkgdir}${_brand}/"
|
||||||
cp "show.qml" "${pkgdir}${_brand}/"
|
cp "show.qml" "${pkgdir}${_brand}/"
|
||||||
|
cp "Dia.qml" "${pkgdir}${_brand}/"
|
||||||
|
cp "Slider.qml" "${pkgdir}${_brand}/"
|
||||||
|
cp "calamares-sidebar.qml" "${pkgdir}${_brand}/"
|
||||||
|
cp "calamares-navigation.qml" "${pkgdir}${_brand}/"
|
||||||
|
cp "background.jpg" "${pkgdir}${_brand}/"
|
||||||
|
cp "pan-up-symbolic.svg" "${pkgdir}${_brand}/"
|
||||||
|
cp "pan-end-symbolic.svg" "${pkgdir}${_brand}/"
|
||||||
|
cp "pan-start-symbolic.svg" "${pkgdir}${_brand}/"
|
||||||
|
cp "draw-rectangle.svg" "${pkgdir}${_brand}/"
|
||||||
cp "antergos-logo.png" "${pkgdir}${_brand}/"
|
cp "antergos-logo.png" "${pkgdir}${_brand}/"
|
||||||
cp "antergos-icon.png" "${pkgdir}${_brand}/"
|
cp "antergos-icon.png" "${pkgdir}${_brand}/"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,173 @@
|
|||||||
|
import QtQuick 2.15
|
||||||
|
|
||||||
|
Item {
|
||||||
|
property list<Dia> slides
|
||||||
|
property list<Dia> img
|
||||||
|
|
||||||
|
property int currentSlideIndex: 0
|
||||||
|
property int _currentSlideIndex: 0
|
||||||
|
property int slidesSize: slides.length
|
||||||
|
property bool firstIteration: true
|
||||||
|
|
||||||
|
function reset() {
|
||||||
|
currentSlideIndex = 0;
|
||||||
|
firstIteration = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
onCurrentSlideIndexChanged: {
|
||||||
|
if (currentSlideIndex >= slidesSize) {
|
||||||
|
firstIteration = false;
|
||||||
|
currentSlideIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
transitionAnimation.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
anchors.fill: parent
|
||||||
|
spacing: 10
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: titleText
|
||||||
|
font {
|
||||||
|
family: "Raleway"
|
||||||
|
capitalization: Font.AllUppercase
|
||||||
|
weight: Font.DemiBold
|
||||||
|
pointSize: 16
|
||||||
|
}
|
||||||
|
color: "white"
|
||||||
|
text: slides[_currentSlideIndex].title
|
||||||
|
}
|
||||||
|
Text {
|
||||||
|
id: bodyText
|
||||||
|
font {
|
||||||
|
family: "Raleway"
|
||||||
|
pointSize: 12
|
||||||
|
weight: Font.DemiBold
|
||||||
|
}
|
||||||
|
width: 400
|
||||||
|
color: "white"
|
||||||
|
text: slides[_currentSlideIndex].body
|
||||||
|
wrapMode: Text.Wrap
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: footerText
|
||||||
|
font {
|
||||||
|
family: "Raleway"
|
||||||
|
weight: Font.Light
|
||||||
|
pointSize: 12
|
||||||
|
}
|
||||||
|
width: 400
|
||||||
|
color: "white"
|
||||||
|
text: slides[_currentSlideIndex].footer ?? ""
|
||||||
|
wrapMode: Text.Wrap
|
||||||
|
}
|
||||||
|
|
||||||
|
Image {
|
||||||
|
id: icon
|
||||||
|
source: slides[_currentSlideIndex].image
|
||||||
|
width: 250
|
||||||
|
height: 250
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SequentialAnimation {
|
||||||
|
id: transitionAnimation
|
||||||
|
property int duration: 700
|
||||||
|
|
||||||
|
ParallelAnimation {
|
||||||
|
OpacityAnimator {
|
||||||
|
target: titleText
|
||||||
|
from: 1.0
|
||||||
|
to: 0.0
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
OpacityAnimator {
|
||||||
|
target: bodyText
|
||||||
|
from: 1.0
|
||||||
|
to: 0.0
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
OpacityAnimator {
|
||||||
|
target: footerText
|
||||||
|
from: 1.0
|
||||||
|
to: 0.0
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
OpacityAnimator {
|
||||||
|
target: icon
|
||||||
|
from: 1.0
|
||||||
|
to: 0.0
|
||||||
|
duration: 2000
|
||||||
|
}
|
||||||
|
XAnimator {
|
||||||
|
target: titleText
|
||||||
|
from: 0
|
||||||
|
to: -30
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
XAnimator {
|
||||||
|
target: bodyText
|
||||||
|
from: 0
|
||||||
|
to: -25
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
XAnimator {
|
||||||
|
target: footerText
|
||||||
|
from: 0
|
||||||
|
to: -25
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ScriptAction {
|
||||||
|
script: _currentSlideIndex = currentSlideIndex
|
||||||
|
}
|
||||||
|
|
||||||
|
ParallelAnimation {
|
||||||
|
OpacityAnimator {
|
||||||
|
target: titleText
|
||||||
|
from: 0.0
|
||||||
|
to: 1.0
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
OpacityAnimator {
|
||||||
|
target: bodyText
|
||||||
|
from: 0.0
|
||||||
|
to: 1.0
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
OpacityAnimator {
|
||||||
|
target: footerText
|
||||||
|
from: 0.0
|
||||||
|
to: 1.0
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
OpacityAnimator {
|
||||||
|
target: icon
|
||||||
|
from: 0.0
|
||||||
|
to: 1.0
|
||||||
|
duration: 2000
|
||||||
|
}
|
||||||
|
XAnimator {
|
||||||
|
target: titleText
|
||||||
|
from: 30
|
||||||
|
to: 0
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
XAnimator {
|
||||||
|
target: bodyText
|
||||||
|
from: 25
|
||||||
|
to: 0
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
XAnimator {
|
||||||
|
target: footerText
|
||||||
|
from: 25
|
||||||
|
to: 0
|
||||||
|
duration: transitionAnimation.duration
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
@@ -5,11 +5,11 @@ welcomeStyleCalamares: false
|
|||||||
welcomeExpandingLogo: true
|
welcomeExpandingLogo: true
|
||||||
|
|
||||||
windowExpanding: normal
|
windowExpanding: normal
|
||||||
windowSize: 860px,540px
|
windowSize: 920px,630px
|
||||||
windowPlacement: center
|
windowPlacement: center
|
||||||
|
|
||||||
sidebar: widget
|
sidebar: qml,bottom
|
||||||
navigation: widget
|
navigation: qml,right
|
||||||
|
|
||||||
strings:
|
strings:
|
||||||
productName: "Antergos NeXT"
|
productName: "Antergos NeXT"
|
||||||
@@ -38,4 +38,3 @@ style:
|
|||||||
|
|
||||||
slideshow: "show.qml"
|
slideshow: "show.qml"
|
||||||
slideshowAPI: 2
|
slideshowAPI: 2
|
||||||
...
|
|
||||||
@@ -0,0 +1,166 @@
|
|||||||
|
import io.calamares.ui 1.0
|
||||||
|
import io.calamares.core 1.0
|
||||||
|
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Controls 2.10
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: navigationBar;
|
||||||
|
color: Branding.styleString( Branding.SidebarBackground );
|
||||||
|
height: parent.height;
|
||||||
|
width: 64;
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
id: buttonBar
|
||||||
|
anchors.fill: parent;
|
||||||
|
spacing: 1
|
||||||
|
|
||||||
|
Image {
|
||||||
|
Layout.topMargin: 1;
|
||||||
|
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
|
||||||
|
id: logo;
|
||||||
|
width: 62;
|
||||||
|
height: width;
|
||||||
|
source: "file:/" + Branding.imagePath(Branding.ProductLogo);
|
||||||
|
sourceSize.width: width;
|
||||||
|
sourceSize.height: height;
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: debugArea
|
||||||
|
Layout.fillWidth: true;
|
||||||
|
height: 35
|
||||||
|
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
|
||||||
|
Layout.topMargin: 40
|
||||||
|
color: Branding.styleString( mouseAreaDebug.containsMouse ? Branding.SidebarBackgroundCurrent : Branding.SidebarBackground);
|
||||||
|
visible: debug.enabled
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: mouseAreaDebug
|
||||||
|
anchors.fill: parent;
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
hoverEnabled: true
|
||||||
|
Text {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
text: qsTr("Debug")
|
||||||
|
color: Branding.styleString( mouseAreaDebug.containsMouse ? Branding.SidebarTextCurrent : Branding.SidebarBackground );
|
||||||
|
font.pointSize : 8
|
||||||
|
}
|
||||||
|
|
||||||
|
onClicked: debug.toggle()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Item {
|
||||||
|
Layout.fillHeight: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: backArea
|
||||||
|
Layout.fillWidth: true;
|
||||||
|
Layout.preferredHeight: parent.height / 7;
|
||||||
|
color: mouseBack.containsMouse ? "#2C3E50" : "#1E2935";
|
||||||
|
enabled: ViewManager.backEnabled;
|
||||||
|
visible: ViewManager.backAndNextVisible;
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: mouseBack
|
||||||
|
anchors.fill: parent;
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
hoverEnabled: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
text: qsTr("Back")
|
||||||
|
color: Branding.styleString( !backArea.enabled ? Branding.SidebarBackground : (mouseBack.containsMouse ? Branding.SidebarTextCurrent : Branding.SidebarText ));
|
||||||
|
font.pointSize : 8
|
||||||
|
}
|
||||||
|
Image {
|
||||||
|
source: "pan-start-symbolic.svg"
|
||||||
|
anchors.centerIn: parent
|
||||||
|
anchors.verticalCenterOffset : 18
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
height: 32
|
||||||
|
opacity: backArea.enabled ? 1 : 0.2
|
||||||
|
}
|
||||||
|
|
||||||
|
onClicked: { ViewManager.back(); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: nextArea
|
||||||
|
Layout.preferredHeight: parent.height / 7;
|
||||||
|
Layout.fillWidth: true
|
||||||
|
color: mouseNext.containsMouse ? "#2C3E50" : "#1E2935";
|
||||||
|
enabled: ViewManager.nextEnabled;
|
||||||
|
visible: ViewManager.backAndNextVisible;
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: mouseNext
|
||||||
|
anchors.fill: parent;
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
hoverEnabled: true
|
||||||
|
Text {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
text: qsTr("Next")
|
||||||
|
color: Branding.styleString( !nextArea.enabled ? Branding.SidebarBackground : (mouseNext.containsMouse ? Branding.SidebarTextCurrent : Branding.SidebarText ));
|
||||||
|
font.pointSize : 8
|
||||||
|
}
|
||||||
|
Image {
|
||||||
|
source: "pan-end-symbolic.svg"
|
||||||
|
anchors.centerIn: parent
|
||||||
|
anchors.verticalCenterOffset : 18
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
height: 32
|
||||||
|
opacity: nextArea.enabled ? 1 : 0.2
|
||||||
|
}
|
||||||
|
|
||||||
|
onClicked: { ViewManager.next(); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: cancelArea
|
||||||
|
height: parent.height / 7;
|
||||||
|
Layout.fillWidth: true;
|
||||||
|
Layout.bottomMargin: 48;
|
||||||
|
color: mouseCancel.containsMouse ? "#2C3E50" : "#1E2935";
|
||||||
|
|
||||||
|
enabled: ViewManager.quitEnabled;
|
||||||
|
visible: ViewManager.quitVisible && ( ViewManager.currentStepIndex < ViewManager.rowCount()-1);
|
||||||
|
|
||||||
|
ToolTip {
|
||||||
|
width: 59
|
||||||
|
visible: mouseCancel.containsMouse
|
||||||
|
timeout: 5000
|
||||||
|
delay: 1000
|
||||||
|
text: ViewManager.quitTooltip;
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: mouseCancel
|
||||||
|
anchors.fill: parent;
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
hoverEnabled: true
|
||||||
|
Text {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
text: qsTr("Cancel")
|
||||||
|
color: Branding.styleString( !cancelArea.enabled ? Branding.SidebarBackground : (mouseCancel.containsMouse ? Branding.SidebarTextCurrent : Branding.SidebarText ));
|
||||||
|
font.pointSize : 8
|
||||||
|
}
|
||||||
|
Image {
|
||||||
|
source: "draw-rectangle.svg"
|
||||||
|
anchors.centerIn: parent
|
||||||
|
anchors.verticalCenterOffset : 18
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
height: 9
|
||||||
|
opacity: cancelArea.enabled ? 1 : 0.2
|
||||||
|
}
|
||||||
|
|
||||||
|
onClicked: { ViewManager.quit(); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
import io.calamares.ui 1.0
|
||||||
|
import io.calamares.core 1.0
|
||||||
|
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: sideBar;
|
||||||
|
color: Branding.styleString( Branding.SidebarBackground );
|
||||||
|
height: 48;
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
anchors.fill: parent;
|
||||||
|
spacing: 0;
|
||||||
|
|
||||||
|
Item {
|
||||||
|
Layout.fillHeight: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: ViewManager
|
||||||
|
Rectangle {
|
||||||
|
Layout.leftMargin: 0;
|
||||||
|
Layout.fillWidth: true;
|
||||||
|
Layout.alignment: Qt.AlignTop;
|
||||||
|
height: 42;
|
||||||
|
radius: 0;
|
||||||
|
color: Branding.styleString( index == ViewManager.currentStepIndex ? Branding.SidebarBackgroundCurrent : Branding.SidebarBackground );
|
||||||
|
|
||||||
|
Text {
|
||||||
|
anchors.verticalCenter: parent.verticalCenter;
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
x: parent.x + 12;
|
||||||
|
color: Branding.styleString( index == ViewManager.currentStepIndex ? Branding.SidebarTextCurrent : Branding.SidebarText );
|
||||||
|
text: qsTr(display);
|
||||||
|
font.pointSize : index == ViewManager.currentStepIndex ? 10 : 9
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
height: 2
|
||||||
|
width: 800
|
||||||
|
anchors.bottom: parent.bottom;
|
||||||
|
border.color: Branding.styleString(ViewManager.currentStepIndex === index ? Branding.SidebarTextCurrent : (ViewManager.currentStepIndex >= index ? Branding.SidebarTextCurrent : Branding.SidebarBackgroundCurrent))
|
||||||
|
border.width: 3
|
||||||
|
|
||||||
|
Image {
|
||||||
|
source: "pan-up-symbolic.svg"
|
||||||
|
id: image
|
||||||
|
anchors.verticalCenter: parent.verticalCenter;
|
||||||
|
anchors.verticalCenterOffset : -3
|
||||||
|
x: parent.x + 35;
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
height: 32
|
||||||
|
visible: index == ViewManager.currentStepIndex ? true : false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
|
||||||
|
<path d="m2 4h18v14h-18z" fill="#4A9EFF" transform="translate(0,2)"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 139 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||||||
|
<svg height="16" version="1.1" width="16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="m 6,3 5,5 -5,5 z" fill="#4A9EFF"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 185 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||||||
|
<svg height="16" version="1.1" width="16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="m 10,3 -5,5 5,5 z" fill="#4A9EFF"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 186 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||||||
|
<svg height="16" version="1.1" width="16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="m 8,2 -5,5 10,0 z" fill="#4A9EFF"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 186 B |
@@ -1,230 +1,118 @@
|
|||||||
/* Antergos NeXT Calamares slideshow */
|
import QtQuick 2.15;
|
||||||
import QtQuick 2.0;
|
|
||||||
import calamares.slideshow 1.0;
|
|
||||||
|
|
||||||
Presentation
|
Item {
|
||||||
{
|
id: root
|
||||||
id: presentation
|
|
||||||
|
function onActivate(){
|
||||||
|
console.log("Slideshow) activated");
|
||||||
|
timer.restart();
|
||||||
|
slider.reset();
|
||||||
|
img.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
function onLeave(){
|
||||||
|
console.log("Slideshow) deactivated");
|
||||||
|
}
|
||||||
|
|
||||||
|
width: 940
|
||||||
|
height: 600
|
||||||
|
|
||||||
Timer {
|
Timer {
|
||||||
interval: 8000
|
id: timer
|
||||||
running: presentation.activatedInCalamares
|
interval: 10000
|
||||||
|
running: true
|
||||||
repeat: true
|
repeat: true
|
||||||
onTriggered: presentation.goToNextSlide()
|
onTriggered: slider.currentSlideIndex++,img.currentSlideIndex++
|
||||||
}
|
}
|
||||||
|
|
||||||
Slide {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
onClicked: {
|
||||||
|
timer.restart();
|
||||||
|
slider.currentSlideIndex++;
|
||||||
|
img.currentSlideIndex++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Item {
|
||||||
|
anchors.fill: parent
|
||||||
Image {
|
Image {
|
||||||
id: logo
|
id: background
|
||||||
source: "antergos-logo.png"
|
anchors {
|
||||||
width: 320
|
fill: parent
|
||||||
height: 92
|
margins: -10
|
||||||
fillMode: Image.PreserveAspectFit
|
bottomMargin: 0
|
||||||
anchors {
|
}
|
||||||
centerIn: parent
|
|
||||||
verticalCenterOffset: -40
|
source: "background.jpg"
|
||||||
}
|
sourceSize.width: width
|
||||||
}
|
sourceSize.height: height
|
||||||
|
}
|
||||||
Text {
|
|
||||||
anchors {
|
}
|
||||||
top: logo.bottom
|
|
||||||
topMargin: 20
|
Slider {
|
||||||
horizontalCenter: parent.horizontalCenter
|
id: slider
|
||||||
}
|
height: 50
|
||||||
text: "Welcome to Antergos NeXT"
|
|
||||||
font.pixelSize: 22
|
slides: [
|
||||||
font.bold: true
|
Dia {
|
||||||
color: "#4A9EFF"
|
title: qsTr("Welcome to Antergos NeXT")
|
||||||
}
|
body: qsTr("A modern Arch Linux experience built on EndeavourOS")
|
||||||
|
footer: qsTr("Choose your preferred desktop environment during setup")
|
||||||
Text {
|
},
|
||||||
anchors {
|
Dia {
|
||||||
top: parent.verticalCenter
|
title: qsTr("Desktop Environments")
|
||||||
topMargin: 40
|
body: qsTr("Select from KDE Plasma, GNOME, Xfce, Budgie, Cinnamon, MATE, LXQt, or i3/Sway")
|
||||||
horizontalCenter: parent.horizontalCenter
|
footer: qsTr("Each desktop is fully configured and ready to use")
|
||||||
}
|
},
|
||||||
text: "A modern Arch Linux experience"
|
Dia {
|
||||||
font.pixelSize: 14
|
title: qsTr("Antergos Tools")
|
||||||
color: "#7F8C8D"
|
body: qsTr("Welcome app for system configuration, Calamares installer with offline and online modes, and HAL package manager")
|
||||||
}
|
footer: qsTr("Full access to Arch Linux repositories and the AUR")
|
||||||
}
|
},
|
||||||
|
Dia {
|
||||||
Slide {
|
title: qsTr("Open Source")
|
||||||
anchors.fill: parent
|
body: qsTr("Antergos NeXT is free and open source software built by the community")
|
||||||
|
footer: qsTr("Contribute on GitHub — Antergos-NeXT")
|
||||||
Rectangle {
|
},
|
||||||
anchors.fill: parent
|
Dia {
|
||||||
color: "#F0F4F8"
|
title: qsTr("Almost Done")
|
||||||
|
body: qsTr("Your system is being configured with your selected options")
|
||||||
Text {
|
footer: qsTr("Reboot and enjoy Antergos NeXT")
|
||||||
anchors {
|
}
|
||||||
top: parent.top
|
]
|
||||||
topMargin: 30
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
text: "Built on EndeavourOS"
|
|
||||||
font.pixelSize: 20
|
|
||||||
font.bold: true
|
|
||||||
color: "#2C3E50"
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
anchors {
|
|
||||||
centerIn: parent
|
|
||||||
verticalCenterOffset: 10
|
|
||||||
}
|
|
||||||
spacing: 12
|
|
||||||
|
|
||||||
Text { text: "• EndeavourOS base — stable, rolling" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• dracut initramfs — fast, reliable" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• systemd — modern init system" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• Latest Linux kernel and drivers" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• Arch User Repository (AUR) access" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Slide {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
Text {
|
|
||||||
anchors {
|
|
||||||
top: parent.top
|
|
||||||
topMargin: 30
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
text: "Desktop Environments"
|
|
||||||
font.pixelSize: 20
|
|
||||||
font.bold: true
|
|
||||||
color: "#2C3E50"
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
anchors {
|
|
||||||
centerIn: parent
|
|
||||||
verticalCenterOffset: 10
|
|
||||||
}
|
|
||||||
spacing: 12
|
|
||||||
|
|
||||||
Text { text: "• KDE Plasma — full-featured, customizable" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• GNOME — modern, streamlined" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• Xfce — lightweight, classic" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• Budgie — elegant, simple" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• i3/ Sway — tiling window managers" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Slide {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
anchors.fill: parent
|
|
||||||
color: "#F0F4F8"
|
|
||||||
|
|
||||||
Text {
|
|
||||||
anchors {
|
|
||||||
top: parent.top
|
|
||||||
topMargin: 30
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
text: "Antergos Tools"
|
|
||||||
font.pixelSize: 20
|
|
||||||
font.bold: true
|
|
||||||
color: "#2C3E50"
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
anchors {
|
|
||||||
centerIn: parent
|
|
||||||
verticalCenterOffset: 10
|
|
||||||
}
|
|
||||||
spacing: 12
|
|
||||||
|
|
||||||
Text { text: "• Welcome app — system info & quick config" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• Calamares installer — easy setup" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• Calamares — easy setup with offline & online modes" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• Pacman + AUR helper — full package access" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
Text { text: "• Online documentation and community" ; font.pixelSize: 13 ; color: "#34495E" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Slide {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
Text {
|
|
||||||
anchors {
|
|
||||||
top: parent.top
|
|
||||||
topMargin: 60
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
text: "Finishing Installation..."
|
|
||||||
font.pixelSize: 22
|
|
||||||
font.bold: true
|
|
||||||
color: "#4A9EFF"
|
|
||||||
}
|
|
||||||
|
|
||||||
Image {
|
|
||||||
source: "antergos-icon.png"
|
|
||||||
width: 96
|
|
||||||
height: 96
|
|
||||||
fillMode: Image.PreserveAspectFit
|
|
||||||
anchors {
|
anchors {
|
||||||
centerIn: parent
|
centerIn: parent
|
||||||
|
horizontalCenterOffset: 50
|
||||||
verticalCenterOffset: 10
|
verticalCenterOffset: 10
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Slider {
|
||||||
|
id: img
|
||||||
|
height: 50
|
||||||
|
|
||||||
Text {
|
slides: [
|
||||||
anchors {
|
Dia {
|
||||||
bottom: parent.bottom
|
image: "antergos-logo.png"
|
||||||
bottomMargin: 40
|
},
|
||||||
horizontalCenter: parent.horizontalCenter
|
Dia {
|
||||||
|
image: "antergos-logo.png"
|
||||||
|
},
|
||||||
|
Dia {
|
||||||
|
image: "antergos-logo.png"
|
||||||
|
},
|
||||||
|
Dia {
|
||||||
|
image: "antergos-logo.png"
|
||||||
|
},
|
||||||
|
Dia {
|
||||||
|
image: "antergos-logo.png"
|
||||||
}
|
}
|
||||||
text: "Almost there — your system is being configured"
|
]
|
||||||
font.pixelSize: 13
|
|
||||||
color: "#7F8C8D"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Slide {
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
anchors.fill: parent
|
|
||||||
color: "#20252B"
|
|
||||||
|
|
||||||
Text {
|
|
||||||
anchors {
|
anchors {
|
||||||
centerIn: parent
|
centerIn: parent
|
||||||
verticalCenterOffset: -30
|
horizontalCenterOffset: -400
|
||||||
}
|
verticalCenterOffset: -100
|
||||||
text: "Thank You!"
|
|
||||||
font.pixelSize: 28
|
|
||||||
font.bold: true
|
|
||||||
color: "#4A9EFF"
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
anchors {
|
|
||||||
top: parent.verticalCenter
|
|
||||||
topMargin: 10
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
text: "Antergos NeXT is ready.<br/>Reboot and enjoy!"
|
|
||||||
font.pixelSize: 14
|
|
||||||
color: "#C8D6E5"
|
|
||||||
horizontalAlignment: Text.Center
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
function onActivate() {
|
|
||||||
presentation.currentSlide = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
function onLeave() {}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,23 +35,6 @@ QPushButton:disabled {
|
|||||||
background-color: #BDC3C7;
|
background-color: #BDC3C7;
|
||||||
color: #95A5A6;
|
color: #95A5A6;
|
||||||
}
|
}
|
||||||
QPushButton#sidebarButton {
|
|
||||||
background-color: transparent;
|
|
||||||
color: #C8D6E5;
|
|
||||||
text-align: left;
|
|
||||||
padding: 10px 14px;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
font-size: 10pt;
|
|
||||||
}
|
|
||||||
QPushButton#sidebarButton:hover {
|
|
||||||
background-color: #2C3E50;
|
|
||||||
}
|
|
||||||
QPushButton#sidebarButton:checked {
|
|
||||||
background-color: #4A9EFF;
|
|
||||||
color: white;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
QComboBox {
|
QComboBox {
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid #D5D8DC;
|
border: 1px solid #D5D8DC;
|
||||||
|
|||||||
Reference in New Issue
Block a user