1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-09-15 06:52:34 +02:00
ScreenPlay/ScreenPlayWallpaper/qml/Test.qml
2023-11-03 12:44:54 +01:00

244 lines
5.4 KiB
QML

import QtQuick
import QtQuick.Controls
import QtQuick.Controls.Material
import QtQuick.Particles
import QtQuick.Shapes
import ScreenPlayWallpaper
Rectangle {
id: root
property int attStrength: 800000
//Emitter
property bool isEnabled: true
property int emitRate: 250
property int lifeSpan: 5000
property int size: 4
property int endSize: 8
property int sizeVariation: 4
//Image
property real imgOpacity: 0.75
anchors.fill: parent
color: Material.color(Material.Grey, Material.Shade800)
border.width: 10
border.color: "orange"
Component.onCompleted: Wallpaper.requestFadeIn()
MouseArea {
// setPosition()
id: ma
function setPosition() {
attractor.pointX = mouseX - 25;
attractor.pointY = mouseY - 25;
mouseDot.x = mouseX - mouseDot.center;
mouseDot.y = mouseY - mouseDot.center;
}
anchors.fill: parent
preventStealing: true
propagateComposedEvents: true
hoverEnabled: true
Component.onCompleted: {
attractor.pointX = parent.width * 0.5;
attractor.pointY = parent.height * 0.5;
}
onPositionChanged: {
setPosition();
}
onClicked: {
}
}
Rectangle {
id: mouseDot
property int center: mouseDot.width * 0.5
width: 10
height: width
radius: width
z: 99
color: "orange"
}
Attractor {
id: attractor
system: particleSystem
affectedParameter: Attractor.Acceleration
strength: root.attStrength
proportionalToDistance: Attractor.InverseQuadratic
}
ParticleSystem {
id: particleSystem
}
Emitter {
id: emitter
enabled: root.isEnabled
width: parent.width
height: parent.height * 0.5
system: particleSystem
emitRate: root.emitRate
lifeSpan: root.lifeSpan
lifeSpanVariation: 1000
size: root.size
endSize: root.endSize
sizeVariation: root.sizeVariation
anchors {
horizontalCenter: parent.horizontalCenter
bottom: parent.bottom
}
velocity: AngleDirection {
angle: -90
magnitude: 50
magnitudeVariation: 25
angleVariation: 10
}
}
ImageParticle {
height: 16
width: 16
source: "dot.png"
system: particleSystem
opacity: root.imgOpacity
}
Text {
id: txtMousePos
property int counter: 0
text: attractor.pointY + " - " + attractor.pointX
font.pointSize: 32
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
wrapMode: Text.WordWrap
color: "white"
anchors {
horizontalCenter: parent.horizontalCenter
bottom: txtButtonConter.top
bottomMargin: 20
}
}
Text {
id: txtButtonConter
property int counter: 0
text: txtButtonConter.counter
font.pointSize: 32
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
wrapMode: Text.WordWrap
color: "white"
anchors {
horizontalCenter: parent.horizontalCenter
bottom: name.top
bottomMargin: 20
}
}
Text {
id: name
text: qsTr("This is a empty test window. You can change the source in test.qml")
font.pointSize: 32
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
wrapMode: Text.WordWrap
anchors.centerIn: parent
anchors.margins: 10
color: "white"
}
Row {
id: rowCounter
spacing: 20
anchors {
horizontalCenter: parent.horizontalCenter
top: name.bottom
topMargin: 20
}
Button {
highlighted: true
text: qsTr("Click me! - 1")
onClicked: {
focus = false;
focus = true;
print("Button Clicked!");
txtButtonConter.counter = txtButtonConter.counter - 1;
}
}
Button {
highlighted: true
text: qsTr("Exit Wallpaper")
onClicked: {
focus = false;
focus = true;
print("Exit Wallpaper");
Wallpaper.terminate();
}
}
Button {
highlighted: true
focusPolicy: Qt.ClickFocus
text: qsTr("Click me! +1")
onClicked: {
print("Button Clicked!");
txtButtonConter.counter = txtButtonConter.counter + 1;
}
}
}
Column {
anchors {
horizontalCenter: parent.horizontalCenter
top: rowCounter.bottom
topMargin: 20
}
spacing: 20
TextField {
placeholderText: "Edit me"
}
Button {
text: "Exit"
onClicked: {
Qt.callLater(function () {
Wallpaper.terminate();
});
}
}
}
MultimediaView {
width: 1000
height: 400
anchors {
horizontalCenter: parent.horizontalCenter
bottom: parent.bottom
bottomMargin: 50
}
}
}