~verzegnassi-stefano/+junk/ubuntu-terminal-app-uitk13

« back to all changes in this revision

Viewing changes to src/app/qml/TerminalInputArea.qml

  • Committer: Filippo Scognamiglio
  • Date: 2014-10-25 04:42:31 UTC
  • Revision ID: flscogna@gmail.com-20141025044231-javjhusbqa171127
Initial reboot commit.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import QtQuick 2.3
 
2
 
 
3
MultiPointTouchArea{
 
4
    property bool touchAreaPressed: false
 
5
    property real swipeDelta: units.gu(1)
 
6
 
 
7
    // Mouse signals
 
8
    signal mouseMoveDetected(int x, int y, int button, int buttons, int modifiers);
 
9
    signal doubleClickDetected(int x, int y, int button, int buttons, int modifiers);
 
10
    signal mousePressDetected(int x, int y, int button, int buttons, int modifiers);
 
11
    signal mouseReleaseDetected(int x, int y, int button, int buttons, int modifiers);
 
12
    signal mouseWheelDetected(int x, int y, int buttons, int modifiers, int angleDelta);
 
13
 
 
14
    // Touch signals
 
15
    signal touchPress(int x, int y);
 
16
    signal touchRelease(int x, int y);
 
17
    signal swipeUpDetected();
 
18
    signal swipeDownDetected();
 
19
 
 
20
    anchors.fill: parent
 
21
    maximumTouchPoints: 1
 
22
    onPressed: {
 
23
        touchAreaPressed = true;
 
24
        touchPress(touchPoints[0].x, touchPoints[0].y);
 
25
    }
 
26
    onUpdated: {
 
27
        if (touchPoints[0].y - touchPoints[0].previousY > swipeDelta) {
 
28
            swipeDownDetected();
 
29
        } else if (touchPoints[0].y - touchPoints[0].previousY < -swipeDelta) {
 
30
            swipeUpDetected();
 
31
        }
 
32
    }
 
33
    onReleased: {
 
34
        touchRelease(touchPoints[0].x, touchPoints[0].y);
 
35
        touchAreaPressed = false;
 
36
    }
 
37
 
 
38
    mouseEnabled: true
 
39
 
 
40
    MouseArea {
 
41
        id: mouseArea
 
42
        anchors.fill: parent
 
43
        enabled: !parent.touchAreaPressed
 
44
 
 
45
        onDoubleClicked: {
 
46
            mouseMoveDetected(mouse.x, mouse.y, mouse.button, mouse.buttons, mouse.modifiers);
 
47
        }
 
48
        onPositionChanged: {
 
49
            mouseMoveDetected(mouse.x, mouse.y, mouse.button, mouse.buttons, mouse.modifiers);
 
50
        }
 
51
        onPressed: {
 
52
            mousePressDetected(mouse.x, mouse.y, mouse.button, mouse.buttons, mouse.modifiers);
 
53
        }
 
54
        onReleased: {
 
55
            mouseReleaseDetected(mouse.x, mouse.y, mouse.button, mouse.buttons, mouse.modifiers);
 
56
        }
 
57
        onWheel: {
 
58
            mouseWheelDetected(wheel.x, wheel.y, wheel.buttons, wheel.modifiers, wheel.angleDelta);
 
59
        }
 
60
    }
 
61
}