2
import Unity.Application 0.1
14
id: windowViewContainer
20
delegate: MirSurfaceItem {
22
surface: model.surface
23
consumesInput: true // QUESTION: why is this non-default?
26
width: surface.size.width
27
height: surface.size.height
28
focus: surface.focused
29
visible: surface.visible
32
anchors { top: parent.bottom; right: parent.right }
33
width: childrenRect.width
34
height: childrenRect.height
35
color: surface.focused ? "red" : "lightsteelblue"
38
text: surface.position.x + "," + surface.position.y + " " + surface.size.width + "x" + surface.size.height
43
Rectangle { anchors.fill: parent; z: -1; color: "black"; opacity: 0.3 }
49
anchors { right: parent.right; top: parent.top }
56
WindowModelDebugView {
57
anchors { right: parent.right; bottom: parent.bottom }
62
anchors { left: parent.left; bottom: parent.bottom }
63
text: "Move window: Ctrl+click\n
64
Resize window: Ctrl+Right click"
78
acceptedButtons: Qt.LeftButton | Qt.RightButton
80
property variant window: null
81
property int initialWindowXPosition
82
property int initialWindowYPosition
83
property int initialWindowWidth
84
property int initialWindowHeight
85
property int initialMouseXPosition
86
property int initialMouseYPosition
89
function moveWindowBy(window, delta) {
90
window.surface.requestedPosition = Qt.point(initialWindowXPosition + delta.x,
91
initialWindowYPosition + delta.y);
93
function resizeWindowBy(window, delta) {
94
window.surface.resize(Qt.size(initialWindowWidth + delta.x,
95
initialWindowHeight + delta.y))
99
if (mouse.modifiers & Qt.ControlModifier) {
100
window = windowViewContainer.childAt(mouse.x, mouse.y)
103
if (mouse.button == Qt.LeftButton) {
104
initialWindowXPosition = window.surface.position.x
105
initialWindowYPosition = window.surface.position.y
106
action = moveWindowBy
107
} else if (mouse.button == Qt.RightButton) {
108
initialWindowHeight = window.surface.size.height
109
initialWindowWidth = window.surface.size.width
110
action = resizeWindowBy
112
initialMouseXPosition = mouse.x
113
initialMouseYPosition = mouse.y
115
mouse.accepted = false
121
mouse.accepted = false
124
action(window, Qt.point(mouse.x - initialMouseXPosition, mouse.y - initialMouseYPosition))
129
mouse.accepted = false
132
action(window, Qt.point(mouse.x - initialMouseXPosition, mouse.y - initialMouseYPosition))