2
* Copyright (C) 2014 Canonical, Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
import Unity.Application 0.1
19
import Ubuntu.Components 0.1
21
// TODO: try to share this code with that from the unity8 shell
27
target: SurfaceManager
29
if (surface.type == MirSurfaceItem.InputMethod) {
30
root.surface = surface;
35
if (root.surface == surface) {
37
surface.parent = null;
39
if (!surface.parent) {
40
// there's no one displaying it. delete it right away
46
property var surface: null
48
property int transitionDuration: UbuntuAnimation.FastDuration
51
if (surface && surface.state != MirSurfaceItem.Minimized) {
72
// half-way down because the vkb occupies only the lower half of the surface
73
// TODO: consider keyboard rotation
74
y: root.parent.height / 2.0
82
PropertyAction { property: "visible"; value: true }
83
UbuntuNumberAnimation { property: "y"; duration: transitionDuration }
89
ignoreUnknownSignals: true // don't wanna spam the log when surface is null
91
if (state == MirSurfaceItem.Minimized) {
93
} else if (state == MirSurfaceItem.Maximized) {
101
surface.parent = root;
102
surface.anchors.fill = root;
106
Component.onDestruction: {
108
surface.parent = null;