UI update

This commit is contained in:
Digital Artifex
2026-08-16 23:10:29 -04:00
parent a776997119
commit 294a38f26a
10 changed files with 514 additions and 239 deletions
+40 -28
View File
@@ -3,77 +3,89 @@
;Kero ;Kero
{ {
{
images/kero/kero_build_1.png, images/kero/kero_build_1.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_build_2.png, images/kero/kero_build_2.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_build_3.png, images/kero/kero_build_3.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_build_4.png, images/kero/kero_build_4.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_build_error.png, images/kero/kero_build_error.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_choice.png, images/kero/kero_choice.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_hello.png, images/kero/kero_hello.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_login.png, images/kero/kero_login.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_no_results.png, images/kero/kero_no_results.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_run_1.png, images/kero/kero_run_1.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_run_2.png, images/kero/kero_run_2.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_run_3.png, images/kero/kero_run_3.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_run_4.png, images/kero/kero_run_4.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_warning.png, images/kero/kero_warning.png,
placeholders, placeholders,
chatgpt5 chatgpt5
} },
{ {
images/kero/kero_success.png, images/kero/kero_success.png,
placeholders, placeholders,
chatgpt5 chatgpt5
},
{
images/kero/kero_spotlight.png,
placeholders,
chatgpt5
},
{
images/kero/kero_star.png,
placeholders,
chatgpt5
}
} }
+2
View File
@@ -97,6 +97,8 @@ qt_add_resources(${CMAKE_PROJECT_NAME} "app_images"
"images/kero/kero_run_3.png" "images/kero/kero_run_3.png"
"images/kero/kero_run_4.png" "images/kero/kero_run_4.png"
"images/kero/kero_success.png" "images/kero/kero_success.png"
"images/kero/kero_spotlight.png"
"images/kero/kero_star.png"
"images/kero/kero_warning.png" "images/kero/kero_warning.png"
) )
+194 -28
View File
@@ -1,5 +1,5 @@
import QtQuick import QtQuick
import QtQuick.Controls import QtQuick.Controls 2.0
import QtQuick.Layouts import QtQuick.Layouts
import QtQuick.Effects import QtQuick.Effects
@@ -47,37 +47,84 @@ Item
resultsPerPage: 0 resultsPerPage: 0
} }
Rectangle ScrollView
{
anchors.fill: parent
color: palette.base
ColumnLayout
{ {
id: resultsLayout id: resultsLayout
visible: opacity > 0.01 visible: opacity > 0.01
anchors.fill: parent anchors.right: parent.right
anchors.margins: Constants.mediumMargin anchors.left: parent.left
anchors.top: parent.top
anchors.bottom: parent.bottom
ScrollBar.horizontal.interactive: false
ScrollBar.vertical.interactive: true
onWidthChanged: content.width = width
Column
{
id: content
anchors.right: parent.right
anchors.top: parent.top
VerticalSpacer{ height: Constants.largeMargin }
Rectangle
{
anchors.left: parent.left
anchors.right: parent.right
height: childrenRect.height
anchors.margins: Constants.largeMargin
color: palette.base
border.color: palette.midlight
Column
{
anchors.left: parent.left
anchors.right: parent.right
KeroHeader
{
height: 180
anchors.left: parent.left
anchors.right: parent.right
}
Rectangle
{
anchors.left: parent.left
anchors.right: parent.right
height: childrenRect.height
color: palette.window
Column
{
anchors.left: parent.left
anchors.right: parent.right
anchors.margins: Constants.largeMargin
Text Text
{ {
Layout.alignment: Qt.AlignTop anchors.left: parent.left
Layout.preferredHeight: 50 anchors.right: parent.right
height: 36
color: palette.text color: palette.text
font.pixelSize: Constants.h2Font.pixelSize font.pixelSize: Constants.h2Font.pixelSize
font.bold: true font.bold: true
text: qsTr("Newest Wallpaper Packs") text: qsTr("Featured Live Wallpapers")
verticalAlignment: Qt.AlignVCenter verticalAlignment: Qt.AlignVCenter
} }
HorizontalPaginator HorizontalPaginator
{ {
id: packsPaginator anchors.left: parent.left
Layout.fillWidth: true anchors.right: parent.right
Layout.preferredHeight: 245 height: 245
Layout.alignment: Qt.AlignTop
id: packsPaginator
model: packsModel model: packsModel
delegate: ItemDelegate delegate: ItemDelegate
{ {
@@ -125,8 +172,9 @@ Item
Text Text
{ {
Layout.alignment: Qt.AlignTop anchors.left: parent.left
Layout.preferredHeight: 50 anchors.right: parent.right
height: 36
color: palette.text color: palette.text
font.pixelSize: Constants.h2Font.pixelSize font.pixelSize: Constants.h2Font.pixelSize
@@ -138,9 +186,9 @@ Item
HorizontalPaginator HorizontalPaginator
{ {
id: imagesPaginator id: imagesPaginator
Layout.fillWidth: true anchors.left: parent.left
Layout.preferredHeight: 245 anchors.right: parent.right
Layout.alignment: Qt.AlignTop height: 245
model: imagesModel model: imagesModel
delegate: ItemDelegate delegate: ItemDelegate
@@ -180,10 +228,122 @@ Item
} }
} }
VerticalSpacer{ height: Constants.largeMargin }
}
}
}
}
VerticalSpacer{ height: Constants.largeMargin }
Rectangle
{
anchors.left: parent.left
anchors.right: parent.right
height: childrenRect.height
anchors.margins: Constants.largeMargin
color: palette.base
border.color: palette.midlight
Column
{
anchors.left: parent.left
anchors.right: parent.right
KeroHeader
{
height: 180
anchors.left: parent.left
anchors.right: parent.right
title: qsTr("New & Popular Wallpapers")
image: "qrc:/images/kero/kero_star.png"
}
Rectangle
{
anchors.left: parent.left
anchors.right: parent.right
anchors.margins: Constants.largeMargin
height: childrenRect.height
color: palette.window
Column
{
anchors.left: parent.left
anchors.right: parent.right
Text Text
{ {
Layout.alignment: Qt.AlignTop anchors.left: parent.left
Layout.preferredHeight: 50 anchors.right: parent.right
height: 36
color: palette.text
font.pixelSize: Constants.h2Font.pixelSize
font.bold: true
text: qsTr("Newest Wallpaper Packs")
verticalAlignment: Qt.AlignVCenter
}
HorizontalPaginator
{
anchors.left: parent.left
anchors.right: parent.right
height: 245
id: packsPaginator2
model: packsModel
delegate: ItemDelegate
{
width: resultWidth
height: resultHeight
required property string name
required property string author
required property string description
required property string uuid
required property string thumbnail
required property string authorId
required property int index
SearchResultItem
{
anchors.fill: parent
title: parent.name
author: parent.author
description: parent.description
thumbnail: parent.thumbnail
uuid: parent.uuid
selected: packsPaginator2.currentIndex === parent.index
onTriggered: () => packsPaginator2.currentIndex = parent.index
onViewMoreTriggered: () =>
{
showWallpaperPopup(parent.index)
}
onThumbnailChanged: () =>
{
console.log(index + " " + thumbnail + " " + parent.thumbnail)
}
}
}
onViewMoreTriggered: () =>
{
showFeaturedPacksPage()
}
}
Text
{
anchors.left: parent.left
anchors.right: parent.right
height: 36
color: palette.text color: palette.text
font.pixelSize: Constants.h2Font.pixelSize font.pixelSize: Constants.h2Font.pixelSize
@@ -195,9 +355,10 @@ Item
HorizontalPaginator HorizontalPaginator
{ {
id: videosPaginator id: videosPaginator
Layout.fillWidth: true
Layout.preferredHeight: 245 anchors.left: parent.left
Layout.alignment: Qt.AlignTop anchors.right: parent.right
height: 245
model: videosModel model: videosModel
delegate: ItemDelegate delegate: ItemDelegate
@@ -232,8 +393,13 @@ Item
} }
} }
/* spacer */ VerticalSpacer{ height: Constants.largeMargin }
Item { Layout.fillHeight: true } }
}
}
VerticalSpacer{}
}
} }
} }
+1
View File
@@ -21,5 +21,6 @@ qt6_add_qml_module(KomplexHubModule_Controls
QML_FILES QML_FILES
QML_FILES VideoView.qml QML_FILES VideoView.qml
QML_FILES PackView.qml QML_FILES PackView.qml
QML_FILES VerticalSpacer.qml
) )
@@ -28,6 +28,7 @@ Item
signal viewMoreTriggered() signal viewMoreTriggered()
id: rootItem id: rootItem
clip: true
Item Item
{ {
@@ -57,6 +58,7 @@ Item
id: resultsView id: resultsView
Layout.fillHeight: true Layout.fillHeight: true
Layout.fillWidth: true Layout.fillWidth: true
clip: true
spacing: Constants.mediumMargin spacing: Constants.mediumMargin
@@ -132,7 +134,7 @@ Item
Item Item
{ {
Layout.fillHeight: true Layout.fillHeight: true
Layout.preferredWidth: 128 Layout.preferredWidth: 64
Rectangle Rectangle
{ {
id: gradientMap id: gradientMap
@@ -0,0 +1,9 @@
import QtQuick
Rectangle
{
height: 36
color: "transparent"
anchors.left: parent.left
anchors.right: parent.right
}
+1
View File
@@ -11,4 +11,5 @@ qt6_add_qml_module(KomplexHubModule_Kero
"KeroLoadingAnimation.qml" "KeroLoadingAnimation.qml"
"KeroNoResultsAvatar.qml" "KeroNoResultsAvatar.qml"
"KeroWarningAvatar.qml" "KeroWarningAvatar.qml"
QML_FILES KeroHeader.qml
) )
+82
View File
@@ -0,0 +1,82 @@
import QtQuick
import QtQuick.Controls 2.0
import QtQuick.Layouts
import KomplexHub
Item
{
property string title: qsTr("Wallpaper Spotlight")
property string description: qsTr("Featured Images and Live Wallpaper Packs")
property color color: palette.alternateBase
property string image: "qrc:/images/kero/kero_spotlight.png"
id: rootItem
Rectangle
{
anchors.fill: parent
color: rootItem.color
border.color: palette.midlight
RowLayout
{
anchors.fill: parent
Item
{
Layout.fillHeight: true
Layout.fillWidth: true
}
Rectangle
{
Layout.fillHeight: true
Layout.preferredWidth: height
Layout.alignment: Qt.AlignLeft
color: "transparent"
Image
{
anchors.fill: parent
source: image
antialiasing: true
fillMode: Image.PreserveAspectFit
}
}
ColumnLayout
{
Layout.fillHeight: true
Layout.fillWidth: true
Layout.alignment: Qt.AlignLeft
Text
{
color: palette.text
text: rootItem.title
font: Constants.h1Font
Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom
}
Text
{
id: errorText
text: rootItem.description
color: palette.text.darker()
Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom
Layout.bottomMargin: Constants.largeMargin
}
}
Item
{
Layout.fillHeight: true
Layout.fillWidth: true
}
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB