diff --git a/KomplexHubContent/App.qml b/KomplexHubContent/App.qml
index 5454171..d231c78 100644
--- a/KomplexHubContent/App.qml
+++ b/KomplexHubContent/App.qml
@@ -1,21 +1,50 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
import QtQuick
import QtQuick.Controls 2.15
+import QtCore
+
import KomplexHub
-import org.kde.kirigami as Kirigami
ApplicationWindow {
+ id: window
visible: true
flags: Qt.Window
title: "KomplexHub"
color: "transparent"
minimumWidth: 720
- MainScreen {
- antialiasing: true
+ MainScreen
+ {
id: mainScreen
+ antialiasing: true
anchors.fill: parent
}
+
+ Settings
+ {
+ property alias x: window.x
+ property alias y: window.y
+ property alias width: window.width
+ property alias height: window.height
+ }
}
diff --git a/KomplexHubContent/MainScreen.qml b/KomplexHubContent/MainScreen.qml
index 6e13f2d..b0c9a01 100644
--- a/KomplexHubContent/MainScreen.qml
+++ b/KomplexHubContent/MainScreen.qml
@@ -1,9 +1,22 @@
/*
-This is a UI file (.ui.qml) that is intended to be edited in Qt Design Studio only.
-It is supposed to be strictly declarative and only uses a subset of QML. If you edit
-this file manually, you might introduce QML code that is not supported by Qt Design Studio.
-Check out https://doc.qt.io/qtcreator/creator-quick-ui-forms.html for details on .ui.qml files.
-*/
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls 2.0
import QtQuick.Layouts
@@ -12,7 +25,8 @@ import KomplexHub.Controls
import KomplexHub.Kero
import KomplexHubContent
-Rectangle {
+Rectangle
+{
property MenuButton currentMenuButton
property bool popup: false
@@ -20,12 +34,14 @@ Rectangle {
color: palette.window
- RowLayout {
+ RowLayout
+ {
id: windowRootLayout
anchors.fill: parent
spacing: 0
- Rectangle {
+ Rectangle
+ {
id: windowMenu
Layout.fillWidth: false
@@ -58,10 +74,12 @@ Rectangle {
selected = false
}
- Behavior on opacity {
+ Behavior on opacity
+ {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -228,7 +246,7 @@ Rectangle {
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ? settings.normalAnimationDuration : 0
}
}
}
@@ -266,8 +284,12 @@ Rectangle {
pageLoader.setSearchTerm()
}
- Behavior on preferredHeight {
- NumberAnimation { duration: Constants.normalAnimationDuration }
+ Behavior on preferredHeight
+ {
+ NumberAnimation
+ {
+ duration: settings.animationsEnabled ? settings.normalAnimationDuration : 0
+ }
}
}
@@ -302,7 +324,7 @@ Rectangle {
id: pageLoaderAnimation
target: pageLoader
- duration: 150
+ duration: settings.animationsEnabled ? settings.pageChangeAnimationDuration : 0
onFinished: () => {
if(pageLoader.loading && pageLoader.opacity === 0)
@@ -381,23 +403,6 @@ Rectangle {
}
}
- KeroBuildingAnimation
- {
- id: buildingOverlay
-
- anchors.fill: parent
- visible: false
- }
-
- KeroLoadingAnimation
- {
- id: loadingAnimation
- anchors.fill: parent
-
- visible: opacity > 0
- opacity: 0
- }
-
Connections
{
id: popupConnection
@@ -414,7 +419,6 @@ Rectangle {
currentMenuButton = homeMenubutton
pageLoader.page = "pages/HomePage.qml"
searchContainer.preferredHeight = 0
- loadingAnimation.opacity = 0
}
states: [
@@ -446,4 +450,17 @@ Rectangle {
}
]
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/FeaturedImagesPage.qml b/KomplexHubContent/pages/FeaturedImagesPage.qml
index 700f7d1..3e8aea1 100644
--- a/KomplexHubContent/pages/FeaturedImagesPage.qml
+++ b/KomplexHubContent/pages/FeaturedImagesPage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -24,7 +43,6 @@ Rectangle
FeaturedImagesModel
{
id: searchModel
- //query: rootItem.query
resultsPerPage: paginator.resultsPerPage
Component.onCompleted: () => nextPage()
@@ -109,7 +127,8 @@ Rectangle
Behavior on opacity {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -117,7 +136,8 @@ Rectangle
Behavior on opacity {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -151,4 +171,17 @@ Rectangle
resultsLayout.opacity = 1
rootItem.popup = false
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/FeaturedPacksPage.qml b/KomplexHubContent/pages/FeaturedPacksPage.qml
index 3fd63d7..3302625 100644
--- a/KomplexHubContent/pages/FeaturedPacksPage.qml
+++ b/KomplexHubContent/pages/FeaturedPacksPage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -109,7 +128,8 @@ Rectangle
Behavior on opacity {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -117,7 +137,8 @@ Rectangle
Behavior on opacity {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -142,4 +163,17 @@ Rectangle
resultsLayout.opacity = 0
rootItem.popup = true
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/FeaturedVideosPage.qml b/KomplexHubContent/pages/FeaturedVideosPage.qml
index 8dbbe6a..533e908 100644
--- a/KomplexHubContent/pages/FeaturedVideosPage.qml
+++ b/KomplexHubContent/pages/FeaturedVideosPage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -109,7 +128,8 @@ Rectangle
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -118,7 +138,8 @@ Rectangle
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -150,4 +171,17 @@ Rectangle
resultsLayout.opacity = 1
rootItem.popup = false
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/HomePage.qml b/KomplexHubContent/pages/HomePage.qml
index 60a41b7..a93b8d7 100644
--- a/KomplexHubContent/pages/HomePage.qml
+++ b/KomplexHubContent/pages/HomePage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls 2.0
import QtQuick.Layouts
@@ -20,6 +39,10 @@ Item
imagesModel.state === FeaturedImagesModel.Loading ||
videosModel.state === FeaturedVideosModel.Loading;
+ property bool error: packsModel.state === NewestPacksModel.Error ||
+ imagesModel.state === FeaturedImagesModel.Error ||
+ videosModel.state === FeaturedVideosModel.Error;
+
onWidthChanged: () =>
{
packsModel.resultsPerPage = resultsPerRow
@@ -405,6 +428,15 @@ Item
visible: opacity > 0
opacity: 1
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
+ }
+ }
}
Rectangle
@@ -426,7 +458,8 @@ Item
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -442,7 +475,8 @@ Item
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -458,7 +492,8 @@ Item
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -467,7 +502,8 @@ Item
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -486,7 +522,8 @@ Item
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
@@ -508,7 +545,8 @@ Item
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
@@ -530,7 +568,8 @@ Item
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
@@ -538,6 +577,25 @@ Item
}
}
+ ErrorView
+ {
+ id: errorView
+ anchors.fill: parent
+
+ opacity: 0
+ visible: opacity > 0.01
+ manager: downloadManager
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
+ }
+ }
+ }
+
Item
{
id: featuredLoaderItem
@@ -577,6 +635,41 @@ Item
target: popupContainer
opacity: 0
}
+
+ PropertyChanges
+ {
+ target: errorView
+ opacity: 0
+ }
+ },
+ State
+ {
+ name: "error"
+ when: homePageRoot.error
+
+ PropertyChanges
+ {
+ target: loadingAnimation
+ opacity: 1
+ }
+
+ PropertyChanges
+ {
+ target: pageArea
+ opacity: 0
+ }
+
+ PropertyChanges
+ {
+ target: popupContainer
+ opacity: 0
+ }
+
+ PropertyChanges
+ {
+ target: errorView
+ opacity: 1
+ }
},
State
{
@@ -594,6 +687,18 @@ Item
target: pageArea
opacity: 1
}
+
+ PropertyChanges
+ {
+ target: errorView
+ opacity: 0
+ }
+
+ PropertyChanges
+ {
+ target: popupContainer
+ opacity: 0
+ }
},
State
{
@@ -611,6 +716,18 @@ Item
target: loadingAnimation
opacity: 0
}
+
+ PropertyChanges
+ {
+ target: errorView
+ opacity: 0
+ }
+
+ PropertyChanges
+ {
+ target: popupContainer
+ opacity: 1
+ }
}
]
@@ -623,13 +740,15 @@ Item
NumberAnimation
{
target: loadingAnimation
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
property: "opacity";
}
NumberAnimation
{
target: pageArea
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
property: "opacity";
}
}
@@ -725,4 +844,17 @@ Item
pageArea.opacity = 1
homePageRoot.popup = false
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/ImageSearchPage.qml b/KomplexHubContent/pages/ImageSearchPage.qml
index 15a9187..7800f6b 100644
--- a/KomplexHubContent/pages/ImageSearchPage.qml
+++ b/KomplexHubContent/pages/ImageSearchPage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -83,7 +102,8 @@ Item
Behavior on opacity {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -91,7 +111,8 @@ Item
Behavior on opacity {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -125,4 +146,17 @@ Item
paginator.opacity = 1
rootItem.popup = false
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/InstalledWallpaperPage.qml b/KomplexHubContent/pages/InstalledWallpaperPage.qml
index 42a50a4..2423387 100644
--- a/KomplexHubContent/pages/InstalledWallpaperPage.qml
+++ b/KomplexHubContent/pages/InstalledWallpaperPage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -138,4 +157,17 @@ Rectangle {
}
]
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
\ No newline at end of file
diff --git a/KomplexHubContent/pages/LiveSearchPage.qml b/KomplexHubContent/pages/LiveSearchPage.qml
index 072c741..a1c6970 100644
--- a/KomplexHubContent/pages/LiveSearchPage.qml
+++ b/KomplexHubContent/pages/LiveSearchPage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
@@ -65,6 +84,15 @@ Item
}
}
}
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
+ }
+ }
}
Rectangle
@@ -73,27 +101,20 @@ Item
anchors.fill: parent
opacity: 0
color: palette.base
+ visible: opacity > 0.01
PackView
{
id: viewMoreWallpaperPopup
anchors.fill: parent
- opacity: 0
- visible: opacity > 0.01
- //model: videosModel.itemModel
-
- Behavior on opacity {
- NumberAnimation
- {
- duration: 250
- }
- }
}
- Behavior on opacity {
+ Behavior on opacity
+ {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -113,9 +134,21 @@ Item
viewMoreWallpaperPopup.description = searchModel.data(searchModel.index(index,0), PackSearchModel.DescriptionRole)
viewMoreWallpaperPopup.thumbnail = searchModel.data(searchModel.index(index,0), PackSearchModel.ThumbnailRole)
viewMoreWallpaperPopup.uuid = searchModel.data(searchModel.index(index,0), PackSearchModel.UuidRole)
- viewMoreWallpaperPopup.opacity = 1
popupContainer.opacity = 1
paginator.opacity = 0
rootItem.popup = true
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/LoginPage.qml b/KomplexHubContent/pages/LoginPage.qml
index a2ef49b..f6c7351 100644
--- a/KomplexHubContent/pages/LoginPage.qml
+++ b/KomplexHubContent/pages/LoginPage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -90,4 +109,17 @@ Item {
}
}
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/NewestPacksPage.qml b/KomplexHubContent/pages/NewestPacksPage.qml
index f9e1208..316a915 100644
--- a/KomplexHubContent/pages/NewestPacksPage.qml
+++ b/KomplexHubContent/pages/NewestPacksPage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -90,6 +109,15 @@ Rectangle
}
}
}
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
+ }
+ }
}
Rectangle
@@ -107,18 +135,22 @@ Rectangle
opacity: 0
visible: opacity > 0.01
- Behavior on opacity {
+ Behavior on opacity
+ {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
- Behavior on opacity {
+ Behavior on opacity
+ {
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -142,4 +174,17 @@ Rectangle
resultsLayout.opacity = 0
rootItem.popup = true
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/UserProfilePage.qml b/KomplexHubContent/pages/UserProfilePage.qml
index 55605d3..aa21dc4 100644
--- a/KomplexHubContent/pages/UserProfilePage.qml
+++ b/KomplexHubContent/pages/UserProfilePage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -63,4 +82,17 @@ Item {
}
}
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/pages/VideoSearchPage.qml b/KomplexHubContent/pages/VideoSearchPage.qml
index dc3f76a..52dcf1a 100644
--- a/KomplexHubContent/pages/VideoSearchPage.qml
+++ b/KomplexHubContent/pages/VideoSearchPage.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -66,6 +85,15 @@ Item
}
}
}
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
+ }
+ }
}
Rectangle
@@ -80,22 +108,16 @@ Item
{
id: viewMoreVideoPopup
anchors.fill: parent
+ visible: opacity > 0.01
opacity: 0
-
- Behavior on opacity
- {
- NumberAnimation
- {
- duration: 250
- }
- }
}
Behavior on opacity
{
NumberAnimation
{
- duration: 250
+ duration: settings.animationsEnabled ?
+ settings.normalAnimationDuration : 0
}
}
}
@@ -122,4 +144,17 @@ Item
paginator.opacity = 1
rootItem.popup = false
}
+
+ Settings
+ {
+ id: settings
+ property bool animationsEnabled: true
+ //ms length of page change
+ property int pageChangeAnimationDuration: 250
+ property int pageFadeAnimationDuration: 250
+
+ property int slowAnimationDuration: 750
+ property int normalAnimationDuration: 250
+ property int fastAnimationDuration: 125
+ }
}
diff --git a/KomplexHubContent/views/CompletedView.qml b/KomplexHubContent/views/CompletedView.qml
index 8ab29ec..e0cbb7b 100644
--- a/KomplexHubContent/views/CompletedView.qml
+++ b/KomplexHubContent/views/CompletedView.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
diff --git a/KomplexHubContent/views/DownloadView.qml b/KomplexHubContent/views/DownloadView.qml
index 3020970..68e34da 100644
--- a/KomplexHubContent/views/DownloadView.qml
+++ b/KomplexHubContent/views/DownloadView.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
diff --git a/KomplexHubContent/views/ErrorView.qml b/KomplexHubContent/views/ErrorView.qml
index d026d6e..4a2bad1 100644
--- a/KomplexHubContent/views/ErrorView.qml
+++ b/KomplexHubContent/views/ErrorView.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
diff --git a/KomplexHubContent/views/ImageView.qml b/KomplexHubContent/views/ImageView.qml
index 83fce58..8c48951 100644
--- a/KomplexHubContent/views/ImageView.qml
+++ b/KomplexHubContent/views/ImageView.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -164,6 +183,14 @@ Item
}
}
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
+
states:
[
State
@@ -294,6 +321,14 @@ Item
thumbnail: rootItem.thumbnail
opacity: 0
visible: opacity > 0.01
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
}
CompletedView
@@ -304,6 +339,14 @@ Item
opacity: 0
visible: opacity > 0.01
manager: downloadManager
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
}
ErrorView
@@ -314,6 +357,14 @@ Item
opacity: 0
visible: opacity > 0.01
manager: downloadManager
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
}
function download()
diff --git a/KomplexHubContent/views/PackView.qml b/KomplexHubContent/views/PackView.qml
index 7248ad4..4b23b10 100644
--- a/KomplexHubContent/views/PackView.qml
+++ b/KomplexHubContent/views/PackView.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -148,6 +167,15 @@ Item
}
}
}
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
+
states:
[
State
@@ -180,6 +208,64 @@ Item
}
},
State
+ {
+ name: "compiling"
+ when: downloadManager.state === DownloadManager.Compiling
+
+ PropertyChanges
+ {
+ target: pageView
+ opacity: 0
+ }
+
+ PropertyChanges
+ {
+ target: downloadView
+ opacity: 1
+ }
+
+ PropertyChanges
+ {
+ target: completedView
+ opacity: 0
+ }
+
+ PropertyChanges
+ {
+ target: errorView
+ opacity: 0
+ }
+ },
+ State
+ {
+ name: "installing"
+ when: downloadManager.state === DownloadManager.Installing
+
+ PropertyChanges
+ {
+ target: pageView
+ opacity: 0
+ }
+
+ PropertyChanges
+ {
+ target: downloadView
+ opacity: 1
+ }
+
+ PropertyChanges
+ {
+ target: completedView
+ opacity: 0
+ }
+
+ PropertyChanges
+ {
+ target: errorView
+ opacity: 0
+ }
+ },
+ State
{
name: "complete"
when: downloadManager.state === DownloadManager.Complete
@@ -278,6 +364,14 @@ Item
thumbnail: rootItem.thumbnail
opacity: 0
visible: opacity > 0.01
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
}
CompletedView
@@ -288,6 +382,14 @@ Item
opacity: 0
visible: opacity > 0.01
manager: downloadManager
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
}
ErrorView
@@ -298,6 +400,14 @@ Item
opacity: 0
visible: opacity > 0.01
manager: downloadManager
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
}
function download()
diff --git a/KomplexHubContent/views/VideoView.qml b/KomplexHubContent/views/VideoView.qml
index f3144a8..62c3c68 100644
--- a/KomplexHubContent/views/VideoView.qml
+++ b/KomplexHubContent/views/VideoView.qml
@@ -1,3 +1,22 @@
+/*
+ * Komplex Wallpaper Engine
+ * Copyright (C) 2026 @DigitalArtifex
+ * https://digitalartifex.dev - https://github.com/DigitalArtifex
+ *
+ * This program 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ */
+import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
@@ -154,6 +173,14 @@ Item
}
}
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
+
states:
[
State
@@ -284,6 +311,14 @@ Item
thumbnail: rootItem.thumbnail
opacity: 0
visible: opacity > 0.01
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
}
CompletedView
@@ -294,6 +329,14 @@ Item
opacity: 0
visible: opacity > 0.01
manager: downloadManager
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
}
ErrorView
@@ -304,6 +347,14 @@ Item
opacity: 0
visible: opacity > 0.01
manager: downloadManager
+
+ Behavior on opacity
+ {
+ NumberAnimation
+ {
+ duration: 250
+ }
+ }
}
function download()