Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
59cb3d0
added image effects instance
EndrII Sep 30, 2025
17d1bc2
added extendable widget
EndrII Oct 8, 2025
00e8365
added custom message type
EndrII Oct 15, 2025
57828f2
Merge branch 'main' into ecliptica_1_5
EndrII Oct 15, 2025
7341002
Merge branch 'ecliptica_preDemo_1.5' into ecliptica_1_5
EndrII Oct 15, 2025
5e56566
update notifications
EndrII Oct 15, 2025
6249fd3
update notification service
EndrII Oct 20, 2025
00e9db6
update extandable behavior
EndrII Oct 21, 2025
fac8e2b
update simple errors
EndrII Oct 22, 2025
1f751d5
fix normal type of message
EndrII Oct 24, 2025
7c83776
stacktextview
EndrII Nov 26, 2025
5519ddb
added readonly properrty to stak text
EndrII Nov 27, 2025
65597d8
fix start status of TextStack
EndrII Dec 2, 2025
9b75782
fix text stack view
EndrII Dec 7, 2025
47be920
next function added into stackText
EndrII Dec 11, 2025
07558da
added timeout of notifications
EndrII Dec 14, 2025
8b46a9c
remove . from delimeters of StackTextModel
EndrII Dec 22, 2025
3ed1075
Revert "remove . from delimeters of StackTextModel"
EndrII Dec 22, 2025
57751d0
upate copyright (#13)
EndrII Jan 1, 2026
a0f27b6
update cmake
EndrII Jan 2, 2026
b678233
fix imageview (remove mipmap)
EndrII Jan 8, 2026
b26e10e
disable mouse area if it is not needed
EndrII Jan 14, 2026
72fac50
added alpha option for collor picker
EndrII Jan 17, 2026
c0dbaab
added shaders
EndrII Jan 18, 2026
27c03f5
fix fade effect
EndrII Jan 20, 2026
3af0e78
fix fade shaders
EndrII Jan 21, 2026
b7bf6e4
added time into notification history
EndrII Jan 21, 2026
c4f8b8f
added filter slots for notifications models
EndrII Jan 22, 2026
e8b1ae4
added missed method into notificationdata
EndrII Jan 22, 2026
4991b12
simple update
EndrII Jan 26, 2026
546551e
fix logs
EndrII Feb 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMake
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (C) 2018-2025 QuasarApp.
# Copyright (C) 2018-2026 QuasarApp.
# Distributed under the lgplv3 software license, see the accompanying
# Everyone is permitted to copy and distribute verbatim copies
# of this license document, but changing it is not allowed.
Expand Down Expand Up @@ -31,6 +31,8 @@ qt_standard_project_setup()
qt_policy(SET QTP0001 NEW)
qt_policy(SET QTP0004 NEW)



add_subdirectory(ViewSolutions)

if (VIEWSOLUTIONS_EXAMPLES )
Expand Down
17 changes: 16 additions & 1 deletion ViewSolutions/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (C) 2018-2025 QuasarApp.
# Copyright (C) 2018-2026 QuasarApp.
# Distributed under the lgplv3 software license, see the accompanying
# Everyone is permitted to copy and distribute verbatim copies
# of this license document, but changing it is not allowed.
Expand All @@ -21,6 +21,14 @@ file(GLOB SOURCE_CPP

)

file(GLOB SHADERS_CPP
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"

"shaders/*.frag"
"shaders/*.vert"

)

file(GLOB_RECURSE SOURCE_ASSETS
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
"assets/*"
Expand All @@ -34,6 +42,13 @@ file(GLOB_RECURSE MODULE_QML_FILES

qt_add_library(${CURRENT_PROJECT} ${SOURCE_CPP})

# available under qrc:/uieffects/shaders/shaderName.frag.qsb
qt6_add_shaders(${CURRENT_PROJECT} "uieffects"
PREFIX
"/uieffects"
FILES
${SHADERS_CPP}
)

qt_add_qml_module(${CURRENT_PROJECT}
URI ViewSolutions
Expand Down
2 changes: 1 addition & 1 deletion ViewSolutions/ViewSolutions/ActivityPage.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//#
//# Copyright (C) 2020-2025 QuasarApp.
//# Copyright (C) 2020-2026 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
Expand Down
6 changes: 3 additions & 3 deletions ViewSolutions/ViewSolutions/ActivityProcessor.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//#
//# Copyright (C) 2020-2025 QuasarApp.
//# Copyright (C) 2020-2026 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
Expand Down Expand Up @@ -203,7 +203,7 @@ Page {

} else if (component.status === Component.Error) {
// Error Handling
console.log("Error loading component:", component.errorString());
console.error("Error loading component:", component.errorString());
}
}

Expand Down Expand Up @@ -237,7 +237,7 @@ Page {

} else if (component.status === Component.Error) {
// Error Handling
console.log("Error loading component:", component.errorString());
console.error("Error loading component:", component.errorString());
}
}

Expand Down
2 changes: 1 addition & 1 deletion ViewSolutions/ViewSolutions/ActivityProcessorHeader.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//#
//# Copyright (C) 2020-2025 QuasarApp.
//# Copyright (C) 2020-2026 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
Expand Down
2 changes: 1 addition & 1 deletion ViewSolutions/ViewSolutions/BasePopUp.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2024 QuasarApp.
* Copyright (C) 2018-2026 QuasarApp.
* Distributed under the GPLv3 software license, see the accompanying
* Everyone is permitted to copy and distribute verbatim copies
* of this license document, but changing it is not allowed.
Expand Down
2 changes: 1 addition & 1 deletion ViewSolutions/ViewSolutions/DragDelegate.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//#
//# Copyright (C) 2025-2025 QuasarApp.
//# Copyright (C) 2025-2026 QuasarApp.
//# Distributed under the lgplv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
Expand Down
83 changes: 83 additions & 0 deletions ViewSolutions/ViewSolutions/Extendable.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
//#
//# Copyright (C) 2025-2026 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
//#

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts

Control {

id: root

property alias extendableWidget: extendetArea.contentItem
property alias mainWidget: mainButton.contentItem
// see GridLayout
property alias layoutDirection: columnLayout.layoutDirection
property alias flow: columnLayout.flow

property alias extended: extendetArea.visible
property int animationDuration: 600

contentItem: GridLayout {
id: columnLayout
columnSpacing: 0
rowSpacing: 0

Control {
Layout.alignment: Qt.AlignCenter
Layout.maximumWidth: root.implicitWidth - root.rightPadding - root.leftPadding
padding: 0
id: mainButton


Behavior on implicitHeight {
enabled: root.flow !== GridLayout.LeftToRight

NumberAnimation {
easing.type: Easing.OutExpo
duration: root.animationDuration
}
}

Behavior on implicitWidth {
enabled: root.flow === GridLayout.LeftToRight
NumberAnimation {
easing.type: Easing.OutExpo
duration: root.animationDuration
}
}
}


Control {
id: extendetArea
clip: true
visible: false
padding: 0
Layout.alignment: Qt.AlignCenter
Layout.maximumWidth: root.implicitWidth - root.rightPadding - root.leftPadding

Behavior on implicitHeight {
enabled: root.flow !== GridLayout.LeftToRight

NumberAnimation {
easing.type: Easing.OutExpo
duration: root.animationDuration
}
}

Behavior on implicitWidth {
enabled: root.flow === GridLayout.LeftToRight
NumberAnimation {
easing.type: Easing.OutExpo
duration: root.animationDuration
}
}

}
}
}
23 changes: 23 additions & 0 deletions ViewSolutions/ViewSolutions/FadeEffect.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
//#
//# Copyright (C) 2025-2026 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
//#


import QtQuick

// this effect make fade effect for left and right side of the item
//
ShaderEffect {
property real leftFadePx: 25;
property real rightFadePx: 25;
property real leftFadePaddingPx: 2;
property real rightFadePaddingPx: 2;

required property real widthSource;

fragmentShader: "qrc:/uieffects/shaders/fade.frag.qsb"
vertexShader: "qrc:/uieffects/shaders/fade.vert.qsb"
}
2 changes: 1 addition & 1 deletion ViewSolutions/ViewSolutions/FlickablePane.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//#
//# Copyright (C) 2025-2025 QuasarApp.
//# Copyright (C) 2025-2026 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
Expand Down
2 changes: 1 addition & 1 deletion ViewSolutions/ViewSolutions/IconOverlay.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//#
//# Copyright (C) 2025-2025 QuasarApp.
//# Copyright (C) 2025-2026 QuasarApp.
//# Distributed under the lgplv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
Expand Down
10 changes: 8 additions & 2 deletions ViewSolutions/ViewSolutions/ImageView.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//#
//# Copyright (C) 2020-2025 QuasarApp.
//# Copyright (C) 2020-2026 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
Expand All @@ -16,6 +16,7 @@ AbstractButton {
id: root
property string source: ""
property alias imagesource: sourceImg
property alias imagEffect: imgEffect
property int radius: 16

property real power: 1.0
Expand All @@ -28,6 +29,8 @@ AbstractButton {
property color selectedColor: Material.accent
property color hoverColor: Material.accent
property alias contentData: content.contentItem
property alias contentPadding: content.padding


Connections {
target: sourceImg
Expand Down Expand Up @@ -121,6 +124,8 @@ AbstractButton {
source: Image {
id: sourceImg
source: root.source
mipmap: false
sourceSize: Qt.size(imgEffect.width, imgEffect.height)

clip: true
fillMode: Image.PreserveAspectCrop
Expand Down Expand Up @@ -197,7 +202,8 @@ AbstractButton {

MouseArea {
acceptedButtons: Qt.NoButton
hoverEnabled: true;
hoverEnabled: root.power > 0;
enabled: root.power > 0;

onExited: {
privateData.ry = 0
Expand Down
32 changes: 0 additions & 32 deletions ViewSolutions/ViewSolutions/Metrix.qml

This file was deleted.

2 changes: 1 addition & 1 deletion ViewSolutions/ViewSolutions/NotificationForm.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2024 QuasarApp.
* Copyright (C) 2018-2026 QuasarApp.
* Distributed under the GPLv3 software license, see the accompanying
* Everyone is permitted to copy and distribute verbatim copies
* of this license document, but changing it is not allowed.
Expand Down
34 changes: 15 additions & 19 deletions ViewSolutions/ViewSolutions/NotificationServiceView.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2024 QuasarApp.
* Copyright (C) 2018-2026 QuasarApp.
* Distributed under the GPLv3 software license, see the accompanying
* Everyone is permitted to copy and distribute verbatim copies
* of this license document, but changing it is not allowed.
Expand All @@ -18,45 +18,41 @@ Item {

readonly property var history: model.history

Metrix {
id: metrix
}

NotificationForm {
id: notyfyView
titleText : msg.title();
text: (msg)? msg.text(): "";
img: (msg && msg.img().length)? msg.img(): getDefaultImage((msg)? msg.type(): 0);
type: (msg)? msg.type(): 0;
titleText : root.msg.title();
text: (root.msg)? root.msg.text(): "";
img: (root.msg && root.msg.img().length)? root.msg.img(): getDefaultImage((root.msg)? root.msg.type(): 0);
type: (root.msg)? root.msg.type(): 0;

x: parent.width - width - margin;
y: margin;

width: Math.min(6 * metrix.pt, root.width);
width: Math.min(440, root.width);

}

YesNoQuestion {
id: questionMsgBox
titleText : qst.title();
text: (qst)? qst.text(): "";
img: (qst && qst.img().length)? qst.img(): defImg;
titleText : root.qst.title();
text: (root.qst)? root.qst.text(): "";
img: (root.qst && root.qst.img().length)? root.qst.img(): defImg;
type: 0;

x: parent.width / 2 - width / 2;
y: parent.height / 2 - height / 2;

width: Math.min(6 * metrix.pt, root.width);
width: Math.min(440, root.width);

onAccepted: {
if (model) {
model.questionComplete(true, qst.type())
if (root.model) {
root.model.questionComplete(true, root.qst.type())
}
}

onRejected: {
if (model) {
model.questionComplete(false, qst.type())
if (root.model) {
root.model.questionComplete(false, root.qst.type())
}
}
}
Expand All @@ -83,7 +79,7 @@ Item {
}

Connections {
target: model
target: root.model
function onSigShowHistory() {
history.open()
}
Expand Down
2 changes: 1 addition & 1 deletion ViewSolutions/ViewSolutions/SlideShow.qml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//#
//# Copyright (C) 2025-2025 QuasarApp.
//# Copyright (C) 2025-2026 QuasarApp.
//# Distributed under the GPLv3 software license, see the accompanying
//# Everyone is permitted to copy and distribute verbatim copies
//# of this license document, but changing it is not allowed.
Expand Down
Loading