78 lines
2.3 KiB
QML
78 lines
2.3 KiB
QML
|
/* === This file is part of Calamares - <https://calamares.io> ===
|
||
|
*
|
||
|
* SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
|
||
|
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
|
||
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||
|
*
|
||
|
* Calamares is Free Software: see the License-Identifier above.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
import QtQuick 2.0;
|
||
|
import calamares.slideshow 1.0;
|
||
|
|
||
|
Presentation
|
||
|
{
|
||
|
id: presentation
|
||
|
|
||
|
function nextSlide() {
|
||
|
console.log("QML Component (default slideshow) Next slide");
|
||
|
presentation.goToNextSlide();
|
||
|
}
|
||
|
|
||
|
Timer {
|
||
|
id: advanceTimer
|
||
|
interval: 1000
|
||
|
running: presentation.activatedInCalamares
|
||
|
repeat: true
|
||
|
onTriggered: nextSlide()
|
||
|
}
|
||
|
|
||
|
Slide {
|
||
|
|
||
|
Image {
|
||
|
id: background
|
||
|
source: "squid.png"
|
||
|
width: 200; height: 200
|
||
|
fillMode: Image.PreserveAspectFit
|
||
|
anchors.centerIn: parent
|
||
|
}
|
||
|
Text {
|
||
|
anchors.horizontalCenter: background.horizontalCenter
|
||
|
anchors.top: background.bottom
|
||
|
text: "This is a customizable QML slideshow.<br/>"+
|
||
|
"Distributions should provide their own slideshow and list it in <br/>"+
|
||
|
"their custom branding.desc file.<br/>"+
|
||
|
"To create a Calamares presentation in QML, import calamares.slideshow,<br/>"+
|
||
|
"define a Presentation element with as many Slide elements as needed."
|
||
|
wrapMode: Text.WordWrap
|
||
|
width: presentation.width
|
||
|
horizontalAlignment: Text.Center
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Slide {
|
||
|
centeredText: qsTr("This is a second Slide element.")
|
||
|
}
|
||
|
|
||
|
Slide {
|
||
|
centeredText: qsTr("This is a third Slide element.")
|
||
|
}
|
||
|
|
||
|
// When this slideshow is loaded as a V1 slideshow, only
|
||
|
// activatedInCalamares is set, which starts the timer (see above).
|
||
|
//
|
||
|
// In V2, also the onActivate() and onLeave() methods are called.
|
||
|
// These example functions log a message (and re-start the slides
|
||
|
// from the first).
|
||
|
function onActivate() {
|
||
|
console.log("QML Component (default slideshow) activated");
|
||
|
presentation.currentSlide = 0;
|
||
|
}
|
||
|
|
||
|
function onLeave() {
|
||
|
console.log("QML Component (default slideshow) deactivated");
|
||
|
}
|
||
|
|
||
|
}
|