Merge lp:~aacid/qtmir/drag_and_drop into lp:qtmir

Proposed by Albert Astals Cid
Status: Work in progress
Proposed branch: lp:~aacid/qtmir/drag_and_drop
Merge into: lp:qtmir
Prerequisite: lp:~andreas-pokorny/qtmir/keep-mir-types-alive
Diff against target: 74 lines (+21/-1)
3 files modified
src/platforms/mirserver/eventbuilder.cpp (+2/-0)
src/platforms/mirserver/windowmanagementpolicy.cpp (+14/-0)
src/platforms/mirserver/windowmanagementpolicy.h (+5/-1)
To merge this branch: bzr merge lp:~aacid/qtmir/drag_and_drop
Reviewer Review Type Date Requested Status
Unity8 CI Bot continuous-integration Pending
Mir development team Pending
Review via email: mp+321527@code.launchpad.net

This proposal supersedes a proposal from 2017-03-28.

Commit message

WiP

Description of the change

WiP

To post a comment you must log in.
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)

Unmerged revisions

632. By Albert Astals Cid

Merge

631. By Albert Astals Cid

Merge lp:~aacid/qtmir/dont_reuse_stale_cookies

630. By Albert Astals Cid

Implement handle_request_drag_and_drop

629. By Albert Astals Cid

Merge lp:~andreas-pokorny/qtmir/keep-mir-types-alive

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/platforms/mirserver/eventbuilder.cpp'
2--- src/platforms/mirserver/eventbuilder.cpp 2017-03-03 10:39:24 +0000
3+++ src/platforms/mirserver/eventbuilder.cpp 2017-03-31 09:38:38 +0000
4@@ -293,6 +293,8 @@
5 cookie.resize(mir_cookie_buffer_size(cookie_ptr));
6 mir_cookie_to_buffer(cookie_ptr, cookie.data(), cookie.size());
7 mir_cookie_release(cookie_ptr);
8+ } else {
9+ cookie.resize(0);
10 }
11 if (mir_input_event_type_pointer == mir_input_event_get_type(iev))
12 {
13
14=== modified file 'src/platforms/mirserver/windowmanagementpolicy.cpp'
15--- src/platforms/mirserver/windowmanagementpolicy.cpp 2017-03-24 11:29:56 +0000
16+++ src/platforms/mirserver/windowmanagementpolicy.cpp 2017-03-31 09:38:38 +0000
17@@ -27,6 +27,10 @@
18 #include "mirqtconversion.h"
19 #include "tracepoints.h"
20
21+#include <uuid/uuid.h>
22+
23+#include <QDebug>
24+
25 namespace qtmir {
26 std::shared_ptr<ExtraWindowInfo> getExtraInfo(const miral::WindowInfo &windowInfo) {
27 return std::static_pointer_cast<ExtraWindowInfo>(windowInfo.userdata());
28@@ -379,6 +383,16 @@
29 }
30 }
31
32+void WindowManagementPolicy::handle_request_drag_and_drop(miral::WindowInfo& window_info)
33+{
34+ // TODO should we check for window_info being the focused one here?
35+ uuid_t uuid;
36+ uuid_generate(uuid);
37+ std::vector<uint8_t> const handle{std::begin(uuid), std::end(uuid)};
38+
39+ tools.start_drag_and_drop(window_info, handle);
40+}
41+
42 Rectangle WindowManagementPolicy::confirm_inherited_move(miral::WindowInfo const& windowInfo, Displacement movement)
43 {
44 if (m_confinementRegions.isEmpty()) {
45
46=== modified file 'src/platforms/mirserver/windowmanagementpolicy.h'
47--- src/platforms/mirserver/windowmanagementpolicy.h 2017-03-22 14:04:23 +0000
48+++ src/platforms/mirserver/windowmanagementpolicy.h 2017-03-31 09:38:38 +0000
49@@ -18,6 +18,7 @@
50 #define WINDOWMANAGEMENTPOLICY_H
51
52 #include "miral/canonical_window_manager.h"
53+#include "miral/window_management_policy_addendum2.h"
54
55 #include "appnotifier.h"
56 #include "qteventfeeder.h"
57@@ -30,7 +31,7 @@
58
59 class ScreensModel;
60
61-class WindowManagementPolicy : public miral::CanonicalWindowManagerPolicy
62+class WindowManagementPolicy : public miral::CanonicalWindowManagerPolicy, public miral::WindowManagementPolicyAddendum2
63 {
64 public:
65 WindowManagementPolicy(const miral::WindowManagerTools &tools,
66@@ -86,6 +87,9 @@
67 void ask_client_to_close(const miral::Window &window);
68 void forceClose(const miral::Window &window);
69
70+ void handle_request_drag_and_drop(miral::WindowInfo& window_info) override;
71+
72+Q_SIGNALS:
73 void set_window_confinement_regions(const QVector<QRect> &regions);
74 void set_window_margins(MirWindowType windowType, const QMargins &margins);
75

Subscribers

People subscribed via source and target branches