~dandrader/unity8/removeApplicationStage

« back to all changes in this revision

Viewing changes to qml/Components/InputMethod.qml

  • Committer: Bileto Bot
  • Date: 2016-07-14 07:09:00 UTC
  • mfrom: (2525.1.5 mirSurfaceInputBounds)
  • Revision ID: ci-train-bot@canonical.com-20160714070900-8wpqiln9hnk2q05i
Make use of MirSurface::inputBounds and drop UbuntuKeyboardInfo hack

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (C) 2014,2015 Canonical, Ltd.
 
2
 * Copyright (C) 2014-2016 Canonical, Ltd.
3
3
 *
4
4
 * This program is free software; you can redistribute it and/or modify
5
5
 * it under the terms of the GNU General Public License as published by
16
16
 
17
17
import QtQuick 2.4
18
18
import Unity.Application 0.1
19
 
import Ubuntu.Components 1.3
20
19
import Ubuntu.Gestures 0.1
21
20
 
22
21
Item {
23
22
    id: root
24
23
 
25
 
    property int transitionDuration: UbuntuAnimation.FastDuration
 
24
    readonly property rect visibleRect: surfaceItem.surface ? surfaceItem.surface.inputBounds : Qt.rect(0, 0, 0, 0)
26
25
 
27
26
    MirSurfaceItem {
28
27
        id: surfaceItem
42
41
    }
43
42
 
44
43
    TouchGate {
45
 
        x: UbuntuKeyboardInfo.x
46
 
        y: UbuntuKeyboardInfo.y
47
 
        width: UbuntuKeyboardInfo.width
48
 
        height: UbuntuKeyboardInfo.height
 
44
        x: root.visibleRect.x
 
45
        y: root.visibleRect.y
 
46
        width: root.visibleRect.width
 
47
        height: root.visibleRect.height
49
48
 
50
49
        targetItem: surfaceItem
51
50
    }
52
51
 
53
 
    state: {
54
 
        if (surfaceItem.surface &&
 
52
    visible: surfaceItem.surface &&
55
53
              surfaceItem.surfaceState != Mir.HiddenState &&
56
54
              surfaceItem.surfaceState != Mir.MinimizedState &&
57
 
              root.enabled) {
58
 
            return "shown";
59
 
        } else {
60
 
            return "hidden";
61
 
        }
62
 
    }
63
 
 
64
 
    states: [
65
 
        State {
66
 
            name: "shown"
67
 
            PropertyChanges {
68
 
                target: root
69
 
                visible: true
70
 
                y: 0
71
 
            }
72
 
        },
73
 
        State {
74
 
            name: "hidden"
75
 
            PropertyChanges {
76
 
                target: root
77
 
                visible: false
78
 
                // half-way down because the vkb occupies only the lower half of the surface
79
 
                // TODO: consider keyboard rotation
80
 
                y: root.parent.height / 2.0
81
 
            }
82
 
        }
83
 
    ]
84
 
 
85
 
    transitions: [
86
 
        Transition {
87
 
            from: "*"; to: "*"
88
 
            PropertyAction { property: "visible"; value: true }
89
 
            UbuntuNumberAnimation { property: "y"; duration: transitionDuration }
90
 
        }
91
 
    ]
 
55
              root.enabled
92
56
}