File: MousePage.qml

package info (click to toggle)
plasma-framework 5.116.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 19,088 kB
  • sloc: cpp: 29,562; javascript: 637; sh: 517; python: 145; xml: 110; php: 27; makefile: 7
file content (106 lines) | stat: -rw-r--r-- 3,192 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
    SPDX-FileCopyrightText: 2013 Sebastian Kügler <sebas@kde.org>

    SPDX-License-Identifier: GPL-2.0-or-later
*/

import QtQuick 2.0

import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents
import org.kde.plasma.extras 2.0 as PlasmaExtras
import org.kde.kquickcontrolsaddons 2.0 as KQuickControlsAddons

// MousePage

PlasmaComponents.Page {
    id: mousePage
    anchors {
        fill: parent
        margins: _s
    }
    PlasmaExtras.Heading {
        id: mellabel
        level: 1
        text: "MouseEventListener"
        anchors { left: parent.left; right: parent.right; top: parent.top }
    }
    KQuickControlsAddons.MouseEventListener {
        id: mel
        hoverEnabled: true
        anchors { left: parent.left; right: parent.right; top: mellabel.bottom; bottom: parent.bottom; }
        /*
        void pressed(KDeclarativeMouseEvent *mouse);
        void positionChanged(KDeclarativeMouseEvent *mouse);
        void released(KDeclarativeMouseEvent *mouse);
        void clicked(KDeclarativeMouseEvent *mouse);
        void pressAndHold(KDeclarativeMouseEvent *mouse);
        void wheelMoved(KDeclarativeWheelEvent *wheel);
        void containsMouseChanged(bool containsMouseChanged);
        void hoverEnabledChanged(bool hoverEnabled);
        */
        onPressed: {
            print("Pressed");
            melstatus.text = "pressed";
        }
        onPositionChanged: {
            print("positionChanged: " + mouse.x + "," + mouse.y);
        }
        onReleased: {
            print("Released");
            melstatus.text = "Released";
        }
        onPressAndHold: {
            print("pressAndHold");
            melstatus.text = "pressAndHold";
        }
        onClicked: {
            print("Clicked");
            melstatus.text = "clicked";
        }
        onWheelMoved: {
            print("Wheel: " + wheel.delta);
        }
        onContainsMouseChanged: {
            print("Contains mouse: " + containsMouse);
        }

        MouseArea {
            //target: mel
            anchors.fill: parent
            onPressed: PlasmaExtras.DisappearAnimation { targetItem: bgImage }
            onReleased: PlasmaExtras.AppearAnimation { targetItem: bgImage }
        }
        Image {
            id: bgImage
            source: "image://appbackgrounds/standard"
            fillMode: Image.Tile
            anchors.fill: parent
            asynchronous: true
//                 opacity: mel.containsMouse ? 1 : 0.2
//                 Behavior on opacity { PropertyAnimation {} }
        }
        Column {
            //width: parent.width
            spacing: _s
            anchors.fill: parent
            PlasmaComponents.Button {
                text: "Button"
                iconSource: "call-start"
            }
            PlasmaComponents.ToolButton {
                text: "ToolButton"
                iconSource: "call-stop"
            }
            PlasmaComponents.RadioButton {
                text: "RadioButton"
                //iconSource: "call-stop"
            }
            PlasmaComponents.Label {
                id: melstatus
            }
        }

    }
}