Merge lp:~alan-griffiths/miral/reduce-WindowManagerTools into lp:miral

Proposed by Alan Griffiths on 2016-08-03
Status: Merged
Approved by: Gerry Boland on 2016-08-03
Approved revision: 258
Merged at revision: 255
Proposed branch: lp:~alan-griffiths/miral/reduce-WindowManagerTools
Merge into: lp:miral
Prerequisite: lp:~alan-griffiths/miral/add-doc-comments-to-API
Diff against target: 178 lines (+27/-37)
8 files modified
include/miral/window_manager_tools.h (+0/-3)
miral-qt/src/platforms/mirserver/windowmanagementpolicy.cpp (+0/-15)
miral-qt/src/platforms/mirserver/windowmanagementpolicy.h (+0/-4)
miral-shell/tiling_window_manager.cpp (+4/-1)
miral-shell/titlebar_window_manager.cpp (+17/-5)
miral/basic_window_manager.cpp (+6/-2)
miral/symbols.map (+0/-4)
miral/window_manager_tools.cpp (+0/-3)
To merge this branch: bzr merge lp:~alan-griffiths/miral/reduce-WindowManagerTools
Reviewer Review Type Date Requested Status
Gerry Boland Approve on 2016-08-03
Alexandros Frantzis (community) 2016-08-03 Approve on 2016-08-03
Review via email: mp+301885@code.launchpad.net

Commit Message

Remove redundancy from WindowManagerTools - place_and_size() is also redundant as modify_window() supports the same functionality.

To post a comment you must log in.
Alan Griffiths (alan-griffiths) wrote :

I did consult Gerry before deleting the functions from miral-qt/src/platforms/mirserver/windowmanagementpolicy.h/cpp

<greyback> alan_g: the fact there was overlap did occur to me, I just considered it a convenience thing. I've no problem removing it
<alan_g> "removing" == deleting these functions?
<greyback> alan_g: yep

Alexandros Frantzis (afrantzis) wrote :

Looks good.

review: Approve
Gerry Boland (gerboland) wrote :

Okies

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'include/miral/window_manager_tools.h'
2--- include/miral/window_manager_tools.h 2016-08-03 10:01:00 +0000
3+++ include/miral/window_manager_tools.h 2016-08-03 10:01:00 +0000
4@@ -133,9 +133,6 @@
5
6 /// Apply modifications to a window
7 void modify_window(WindowInfo& window_info, WindowSpecification const& modifications);
8-
9- /// Reposition a window
10- void place_and_size(WindowInfo& window_info, Point const& new_pos, Size const& new_size);
11 /** @} */
12
13 /** Multi-thread support
14
15=== modified file 'miral-qt/src/platforms/mirserver/windowmanagementpolicy.cpp'
16--- miral-qt/src/platforms/mirserver/windowmanagementpolicy.cpp 2016-07-28 14:26:20 +0000
17+++ miral-qt/src/platforms/mirserver/windowmanagementpolicy.cpp 2016-08-03 10:01:00 +0000
18@@ -179,18 +179,3 @@
19 surface->consume(e);
20 }
21
22-/* Methods to allow Shell to request changes to the window stack */
23-void WindowManagementPolicy::focus(const miral::Window window)
24-{
25- m_tools.select_active_window(window);
26-}
27-
28-void WindowManagementPolicy::resize(const miral::Window window, const Size &size)
29-{
30- m_tools.place_and_size(m_tools.info_for(window), window.top_left(), size);
31-}
32-
33-void WindowManagementPolicy::move(const miral::Window window, const Point &top_left)
34-{
35- m_tools.place_and_size(m_tools.info_for(window), top_left, window.size() );
36-}
37
38=== modified file 'miral-qt/src/platforms/mirserver/windowmanagementpolicy.h'
39--- miral-qt/src/platforms/mirserver/windowmanagementpolicy.h 2016-07-28 14:26:20 +0000
40+++ miral-qt/src/platforms/mirserver/windowmanagementpolicy.h 2016-08-03 10:01:00 +0000
41@@ -72,10 +72,6 @@
42 void deliver_touch_event(const MirTouchEvent *event, const std::shared_ptr<mir::scene::Surface> &surface);
43 void deliver_pointer_event(const MirPointerEvent *event, const std::shared_ptr<mir::scene::Surface> &surface);
44
45- void focus(const miral::Window window);
46- void resize(const miral::Window window, const Size &size);
47- void move(const miral::Window window, const Point &top_left);
48-
49 Q_SIGNALS:
50
51 private:
52
53=== modified file 'miral-shell/tiling_window_manager.cpp'
54--- miral-shell/tiling_window_manager.cpp 2016-07-29 16:51:06 +0000
55+++ miral-shell/tiling_window_manager.cpp 2016-08-03 10:01:00 +0000
56@@ -443,7 +443,10 @@
57 auto width = std::min(new_tile.size.width.as_int() - offset.dx.as_int(), scaled_width.as_int());
58 auto height = std::min(new_tile.size.height.as_int() - offset.dy.as_int(), scaled_height.as_int());
59
60- tools.place_and_size(window_info, new_pos, {width, height});
61+ WindowSpecification modifications;
62+ modifications.top_left() = new_pos;
63+ modifications.size() = {width, height};
64+ tools.modify_window(window_info, modifications);
65 }
66 }
67 }
68
69=== modified file 'miral-shell/titlebar_window_manager.cpp'
70--- miral-shell/titlebar_window_manager.cpp 2016-08-03 10:01:00 +0000
71+++ miral-shell/titlebar_window_manager.cpp 2016-08-03 10:01:00 +0000
72@@ -187,9 +187,18 @@
73
74 auto const new_width = std::max(old_size.width + delta_width, Width{5});
75 auto const new_height = std::max(old_size.height + delta_height, Height{5});
76- auto const new_pos = window.top_left() + delta_x + delta_y;
77-
78- tools.place_and_size(tools.info_for(window), new_pos, {new_width, new_height});
79+
80+ auto new_pos = window.top_left() + delta_x + delta_y;
81+ Size new_size{new_width, new_height};
82+
83+ auto& window_info = tools.info_for(window);
84+
85+ window_info.constrain_resize(new_pos, new_size);
86+
87+ WindowSpecification modifications;
88+ modifications.top_left() = new_pos;
89+ modifications.size() = new_size;
90+ tools.modify_window(window_info, modifications);
91 }
92 consumes_event = true;
93 }
94@@ -413,9 +422,12 @@
95
96 Size new_size{new_width, new_height};
97 Point new_pos = top_left + left_resize*delta.dx + top_resize*delta.dy;
98-
99 window_info.constrain_resize(new_pos, new_size);
100- tools.place_and_size(window_info, new_pos, new_size);
101+
102+ WindowSpecification modifications;
103+ modifications.top_left() = new_pos;
104+ modifications.size() = new_size;
105+ tools.modify_window(tools.info_for(window), modifications);
106
107 return true;
108 }
109
110=== modified file 'miral/basic_window_manager.cpp'
111--- miral/basic_window_manager.cpp 2016-07-29 16:51:06 +0000
112+++ miral/basic_window_manager.cpp 2016-08-03 10:01:00 +0000
113@@ -622,9 +622,10 @@
114 if (modifications.input_shape().is_set())
115 std::shared_ptr<scene::Surface>(window)->set_input_region(modifications.input_shape().value());
116
117+ Point new_pos = modifications.top_left().is_set() ? modifications.top_left().value() : window.top_left();
118+
119 if (modifications.size().is_set())
120 {
121- Point new_pos = window.top_left();
122 Size new_size = modifications.size().value();
123
124 window_info.constrain_resize(new_pos, new_size);
125@@ -634,12 +635,15 @@
126 modifications.max_width().is_set() || modifications.max_height().is_set() ||
127 modifications.width_inc().is_set() || modifications.height_inc().is_set())
128 {
129- Point new_pos = window.top_left();
130 Size new_size = window.size();
131
132 window_info.constrain_resize(new_pos, new_size);
133 place_and_size(window_info, new_pos, new_size);
134 }
135+ else if (modifications.top_left().is_set())
136+ {
137+ place_and_size(window_info, new_pos, window.size());
138+ }
139
140 if (window_info.parent() && modifications.aux_rect().is_set() && modifications.edge_attachment().is_set())
141 {
142
143=== modified file 'miral/symbols.map'
144--- miral/symbols.map 2016-08-02 09:05:46 +0000
145+++ miral/symbols.map 2016-08-03 10:01:00 +0000
146@@ -78,8 +78,6 @@
147 miral::Window::operator*;
148 miral::Window::request_client_surface_close*;
149 miral::Window::resize*;
150- miral::Window::set_alpha*;
151- miral::Window::set_state*;
152 miral::Window::show*;
153 miral::Window::size*;
154 miral::Window::surface_id*;
155@@ -152,10 +150,8 @@
156 miral::WindowManagerTools::kill_active_application*;
157 miral::WindowManagerTools::modify_window*;
158 miral::WindowManagerTools::operator*;
159- miral::WindowManagerTools::place_and_size*;
160 miral::WindowManagerTools::raise_tree*;
161 miral::WindowManagerTools::select_active_window*;
162- miral::WindowManagerTools::set_state*;
163 miral::WindowManagerTools::window_at*;
164 miral::WindowSpecification::?WindowSpecification*;
165 miral::WindowSpecification::WindowSpecification*;
166
167=== modified file 'miral/window_manager_tools.cpp'
168--- miral/window_manager_tools.cpp 2016-08-03 10:01:00 +0000
169+++ miral/window_manager_tools.cpp 2016-08-03 10:01:00 +0000
170@@ -77,8 +77,5 @@
171 void miral::WindowManagerTools::modify_window(WindowInfo& window_info, WindowSpecification const& modifications)
172 { tools->modify_window(window_info,modifications); }
173
174-void miral::WindowManagerTools::place_and_size(WindowInfo& window_info, Point const& new_pos, Size const& new_size)
175-{ tools->place_and_size(window_info, new_pos, new_size); }
176-
177 void miral::WindowManagerTools::invoke_under_lock(std::function<void()> const& callback)
178 { tools->invoke_under_lock(callback); }

Subscribers

People subscribed via source and target branches