2022-03-05 22:41:29 +05:00

101 lines
3.3 KiB
QML

/*
SPDX-FileCopyrightText: 2014 Marco Martin <mart@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
import QtQuick 2.5
import QtQuick.Window 2.2
import org.kde.plasma.core 2.0 as PlasmaCore
Rectangle {
id: root
color: "black"
property int stage
onStageChanged: {
if (stage == 2) {
introAnimation.running = true;
} else if (stage == 5) {
introAnimation.target = busyIndicator;
introAnimation.from = 1;
introAnimation.to = 0;
introAnimation.running = true;
}
}
Item {
id: content
anchors.fill: parent
opacity: 0
Image {
id: logo
//match SDDM/lockscreen avatar positioning
property real size: PlasmaCore.Units.gridUnit * 8
anchors.centerIn: parent
source: "images/plasma.svgz"
sourceSize.width: size
sourceSize.height: size
}
// TODO: port to PlasmaComponents3.BusyIndicator
Image {
id: busyIndicator
//in the middle of the remaining space
y: parent.height - (parent.height - logo.y) / 2 - height/2
anchors.horizontalCenter: parent.horizontalCenter
source: "images/busywidget.svgz"
sourceSize.height: PlasmaCore.Units.gridUnit * 2
sourceSize.width: PlasmaCore.Units.gridUnit * 2
RotationAnimator on rotation {
id: rotationAnimator
from: 0
to: 360
// Not using a standard duration value because we don't want the
// animation to spin faster or slower based on the user's animation
// scaling preferences; it doesn't make sense in this context
duration: 2000
loops: Animation.Infinite
// Don't want it to animate at all if the user has disabled animations
running: PlasmaCore.Units.longDuration > 1
}
}
Row {
spacing: PlasmaCore.Units.smallSpacing*2
anchors {
bottom: parent.bottom
right: parent.right
margins: PlasmaCore.Units.gridUnit
}
Text {
color: "#eff0f1"
// Work around Qt bug where NativeRendering breaks for non-integer scale factors
// https://bugreports.qt.io/browse/QTBUG-67007
renderType: Screen.devicePixelRatio % 1 !== 0 ? Text.QtRendering : Text.NativeRendering
anchors.verticalCenter: parent.verticalCenter
text: i18ndc("plasma_lookandfeel_org.kde.lookandfeel", "This is the first text the user sees while starting in the splash screen, should be translated as something short, is a form that can be seen on a product. Plasma is the project name so shouldn't be translated.", "Plasma made by KDE")
}
Image {
source: "images/kde.svgz"
sourceSize.height: PlasmaCore.Units.gridUnit * 2
sourceSize.width: PlasmaCore.Units.gridUnit * 2
}
}
}
OpacityAnimator {
id: introAnimation
running: false
target: content
from: 0
to: 1
duration: PlasmaCore.Units.veryLongDuration * 2
easing.type: Easing.InOutQuad
}
}