diff --git a/com.github.Melawy.Lera-Sugar.desktop/contents/splash/Splash.qml b/com.github.Melawy.Lera-Sugar.desktop/contents/splash/Splash.qml index fdda832..3af0867 100644 --- a/com.github.Melawy.Lera-Sugar.desktop/contents/splash/Splash.qml +++ b/com.github.Melawy.Lera-Sugar.desktop/contents/splash/Splash.qml @@ -1,36 +1,61 @@ /* - * Copyright 2014 Marco Martin + * Copyright 2023 Valeria Fadeeva * * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2, + * it under the terms of the GNU Affero General Public License version 3, * or (at your option) any later version, as published by the Free * Software Foundation * * This program 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 + * GNU Affero General Public License for more details * - * You should have received a copy of the GNU General Public + * You should have received a copy of the GNU Affero General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import QtQuick 2.5 +import QtQuick 2.11 +import QtQuick.Layouts 1.11 +import QtQuick.Controls 2.4 import QtGraphicalEffects 1.0 -Image { +Pane { id: root - source: "images/background.jpg" - fillMode: Image.PreserveAspectCrop - + + height: Screen.height + width: Screen.ScreenWidth + + LayoutMirroring.enabled: false + LayoutMirroring.childrenInherit: true + + padding: 0 + palette.button: "transparent" + palette.highlight: "#E03D3D" + palette.text: "#A03d40" + palette.buttonText: "#A03d40" + palette.window: "#EEEEEE" + + font.family: "Noto Sans" + font.pointSize: parseInt(height / 80) + focus: true + + TextMetrics { + id: units + text: "M" + property int gridUnit: boundingRect.height + property int largeSpacing: units.gridUnit + property int smallSpacing: Math.max(2, gridUnit/4) + } + property int stage onStageChanged: { - if (stage == 2) { + if (stage == 1) { inOpacityAnimationContent.running = true; - inOpacityAnimationBusyIndicator.running = true; + lineAnimation.running = true; } else if (stage == 2) { @@ -39,16 +64,87 @@ Image { else if (stage == 3) { lineAnimation.running = true; - // timerOpacityAnimationLoadingText.start(); } else if (stage == 4) { lineAnimation.running = true; + outOpacityAnimationForm.running = true; + outOpacityAnimationContent.running = true; + } + } + + Item { + id: sizeHelper + + anchors.fill: parent + height: parent.height + width: parent.width + + Rectangle { + id: tintLayer + + anchors.fill: parent + width: parent.width + height: parent.height + color: "#000000" + opacity: 0.0 + z: 1 } - else if (stage == 5) { - outOpacityAnimationBusyIndicator.running = true; - outOpacityAnimationContent.running = true; + Rectangle { + id: form + + height: parent.height + width: parent.width / 2.5 + anchors.horizontalCenter: undefined + anchors.left: parent.left + anchors.right: undefined + opacity: 0.0 + z: 1 + } + + Image { + id: backgroundImage + + height: parent.height + width: parent.width + anchors.left: parent.left + anchors.right: parent.right + + horizontalAlignment: Image.AlignHCenter + verticalAlignment: Image.AlignVCenter + + source: "images/background.jpg" + fillMode: Image.PreserveAspectCrop + //fillMode: Image.PreserveAspectFit + asynchronous: true + cache: true + clip: true + mipmap: true + } + + ShaderEffectSource { + id: blurMask + + sourceItem: backgroundImage + width: form.width + height: parent.height + anchors.centerIn: form + sourceRect: Qt.rect(x,y,width,height) + visible: true + } + + GaussianBlur { + id: blur + + height: parent.height + width: form.width + source: blurMask + radius: 100 + samples: 201 + cached: true + anchors.centerIn: form + visible: true } } @@ -58,124 +154,59 @@ Image { anchors.bottomMargin: 0 anchors.leftMargin: 0 anchors.topMargin: 0 - anchors.fill: parent + anchors.fill: form opacity: 0 - TextMetrics { - id: units - text: "M" - property int gridUnit: boundingRect.height - property int largeSpacing: units.gridUnit - property int smallSpacing: Math.max(2, gridUnit/4) + + Text { + visible: true + height: 1470 + width: 1920 + Text { + id: text + font.pointSize: 64 + x: (form.width - width) / 2 + y: (form.height / 3) * 2 + anchors.centerIn: form + text: "Welcome!" + visible: true + color: "#e92222" + } } Image { id: logo - property real size: units.gridUnit * 12 - anchors.centerIn: parent - source: "" + property real size: units.gridUnit * 15 + anchors.centerIn: form + source: "images/Melawy_Linux_640x640.svg" sourceSize.width: size sourceSize.height: size - } - - Row { - spacing: units.smallSpacing*2 - anchors { - bottom: parent.bottom - right: parent.right - rightMargin: units.gridUnit * 15 - bottomMargin: units.gridUnit * 13 - margins: units.gridUnit - } - Text { - id: date1 - text:Qt.formatDateTime(new Date(),"dddd, hh:mm") - font.pointSize: 32 - color: "#e92222" - opacity:0.85 - font { family: "NotoSans"; weight: Font.Medium ;capitalization: Font.Capitalize} - anchors.horizontalCenter: parent.horizontalCenter - y: (parent.height - height) / 1.2 - } - } - - Row { - spacing: units.smallSpacing*2 - anchors { - bottom: parent.bottom - right: parent.right - rightMargin: units.gridUnit * 15 - bottomMargin: units.gridUnit * 10 - margins: units.gridUnit - } - Text { - id: date2 - text:Qt.formatDateTime(new Date(),"yyyy.MM.dd") - font.pointSize: 32 - color: "#e92222" - opacity:0.85 - font { family: "NotoSans"; weight: Font.Medium ;capitalization: Font.Capitalize} - anchors.horizontalCenter: parent.horizontalCenter - y: (parent.height - height) / 1.1 - } - } - - Image { - id: busyIndicator - //in the middle of the remaining space - //y: (parent.height - height) / 1.7 - y: root.height - (root.height - logo.y) / 1.1 - height/2 - anchors.horizontalCenter: parent.horizontalCenter - source: "images/start.svg" - opacity: 0 - sourceSize.height: units.gridUnit * 15.0 - sourceSize.width: units.gridUnit * 15.0 - RotationAnimator on rotation { - id: rotationAnimator1 - from: 0 - to: 0 - duration: 1100 - loops: Animation.Infinite - } - } - - Row { - spacing: units.smallSpacing*2 - anchors { - bottom: parent.bottom - right: parent.right - rightMargin: units.gridUnit * 1.5 - margins: units.gridUnit - } - Image { - source: "images/Melawy_Linux_640x640.svg" - sourceSize.height: units.gridUnit * 8 - sourceSize.width: units.gridUnit * 8 - } + x: (form.width - width) / 2 + y: (form.height / 3) * 2.2 } Image { id: topRect - anchors.horizontalCenter: parent.horizontalCenter - y: root.height + anchors.left: form.left + y: form.height source: "images/rectangle.svg" Rectangle { radius: 3 color: "#1d212f" height: 6 - width: height*52 + width: form.width anchors { bottom: parent.bottom bottomMargin:0 - horizontalCenter: parent.horizontalCenter + left: parent.left } Rectangle { radius: 3 color: "#FFFFFF" - width: (parent.width / 6) * (stage - 0.00) + width: (form.width / 6) * (stage - 0.00) anchors { left: parent.left @@ -200,7 +231,7 @@ Image { PropertyAnimation { property: "y" target: topRect - to: ((root.height / 3) * 2) - 170 + to: (form.height / 3) * 2 duration: 1500 easing.type: Easing.InOutBack easing.overshoot: 1.0 @@ -208,100 +239,45 @@ Image { } } - Text { - visible: true - height: 1470 - width: 1920 - Text { - id: text - font.pointSize: 64 - x: (root.width - width) / 2 - y: (root.height / 3) * 2 - anchors.centerIn: parent - text: "Welcome!" - visible: true - color: "#e92222" - } + OpacityAnimator { + id: inOpacityAnimationContent + running: false + target: content + from: 0 + to: 1 + duration: 1000 + easing.type: Easing.InOutQuad } - Text { - id: loadingText - height: 40 - anchors.bottomMargin: 0 - anchors.topMargin: 0 - text: "Made with Love" - color: "#FFFFFF" - font.family: webFont.name - font.weight: Font.ExtraLight - - font.pointSize: 32 - opacity: 0 - textFormat: Text.StyledText - x: (root.width - width) / 2 - y: (root.height / 3) * 2 + OpacityAnimator { + id: outOpacityAnimationContent + running: false + target: content + from: 1 + to: 0 + duration: 5000 + easing.type: Easing.InOutQuad } - } - OpacityAnimator { - id: inOpacityAnimationBusyIndicator - running: false - target: busyIndicator - from: 0 - to: 1 - duration: 1000 - easing.type: Easing.InOutQuad - } + OpacityAnimator { + id: inOpacityAnimationForm + running: false + target: blur + from: 0 + to: 1 + duration: 1000 + easing.type: Easing.InOutQuad + } - OpacityAnimator { - id: outOpacityAnimationBusyIndicator - running: false - target: busyIndicator - from: 1 - to: 0 - duration: 1500 - easing.type: Easing.InOutQuad - } + OpacityAnimator { + id: outOpacityAnimationForm + running: false + target: blur + from: 1 + to: 0 + duration: 5000 + easing.type: Easing.InOutQuad + } - OpacityAnimator { - id: inOpacityAnimationContent - running: false - target: content - from: 0 - to: 1 - duration: 1000 - easing.type: Easing.InOutQuad - } - - OpacityAnimator { - id: outOpacityAnimationContent - running: false - target: content - from: 1 - to: 0 - duration: 3000 - easing.type: Easing.InOutQuad - } - - OpacityAnimator { - id: inOpacityAnimationLoadingText - running: false - target: loadingText - from: 0 - to: 1 - duration: 2000 - easing.type: Easing.InOutQuad - paused: true - } - - Timer { - id: timerOpacityAnimationLoadingText - interval: 1500; running: false; repeat: false; - onTriggered: root.viewLoadingText(); - } - - function viewLoadingText() { - inOpacityAnimationLoadingText.from = 0; - inOpacityAnimationLoadingText.to = 1; - inOpacityAnimationLoadingText.running = true; } } diff --git a/com.github.Melawy.Lera-Sugar.desktop/contents/splash/images/Melawy_Linux_640x640.png b/com.github.Melawy.Lera-Sugar.desktop/contents/splash/images/Melawy_Linux_640x640.png deleted file mode 100644 index 7f25f3b..0000000 Binary files a/com.github.Melawy.Lera-Sugar.desktop/contents/splash/images/Melawy_Linux_640x640.png and /dev/null differ diff --git a/com.github.Melawy.Lera-Sugar.desktop/contents/splash/images/start.svg b/com.github.Melawy.Lera-Sugar.desktop/contents/splash/images/start.svg deleted file mode 100644 index b12dad7..0000000 --- a/com.github.Melawy.Lera-Sugar.desktop/contents/splash/images/start.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - -