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
=== modified file 'src/platforms/mirserver/eventbuilder.cpp'
--- src/platforms/mirserver/eventbuilder.cpp 2017-03-03 10:39:24 +0000
+++ src/platforms/mirserver/eventbuilder.cpp 2017-03-31 09:38:38 +0000
@@ -293,6 +293,8 @@
293 cookie.resize(mir_cookie_buffer_size(cookie_ptr));293 cookie.resize(mir_cookie_buffer_size(cookie_ptr));
294 mir_cookie_to_buffer(cookie_ptr, cookie.data(), cookie.size());294 mir_cookie_to_buffer(cookie_ptr, cookie.data(), cookie.size());
295 mir_cookie_release(cookie_ptr);295 mir_cookie_release(cookie_ptr);
296 } else {
297 cookie.resize(0);
296 }298 }
297 if (mir_input_event_type_pointer == mir_input_event_get_type(iev))299 if (mir_input_event_type_pointer == mir_input_event_get_type(iev))
298 {300 {
299301
=== modified file 'src/platforms/mirserver/windowmanagementpolicy.cpp'
--- src/platforms/mirserver/windowmanagementpolicy.cpp 2017-03-24 11:29:56 +0000
+++ src/platforms/mirserver/windowmanagementpolicy.cpp 2017-03-31 09:38:38 +0000
@@ -27,6 +27,10 @@
27#include "mirqtconversion.h"27#include "mirqtconversion.h"
28#include "tracepoints.h"28#include "tracepoints.h"
2929
30#include <uuid/uuid.h>
31
32#include <QDebug>
33
30namespace qtmir {34namespace qtmir {
31 std::shared_ptr<ExtraWindowInfo> getExtraInfo(const miral::WindowInfo &windowInfo) {35 std::shared_ptr<ExtraWindowInfo> getExtraInfo(const miral::WindowInfo &windowInfo) {
32 return std::static_pointer_cast<ExtraWindowInfo>(windowInfo.userdata());36 return std::static_pointer_cast<ExtraWindowInfo>(windowInfo.userdata());
@@ -379,6 +383,16 @@
379 }383 }
380}384}
381385
386void WindowManagementPolicy::handle_request_drag_and_drop(miral::WindowInfo& window_info)
387{
388 // TODO should we check for window_info being the focused one here?
389 uuid_t uuid;
390 uuid_generate(uuid);
391 std::vector<uint8_t> const handle{std::begin(uuid), std::end(uuid)};
392
393 tools.start_drag_and_drop(window_info, handle);
394}
395
382Rectangle WindowManagementPolicy::confirm_inherited_move(miral::WindowInfo const& windowInfo, Displacement movement)396Rectangle WindowManagementPolicy::confirm_inherited_move(miral::WindowInfo const& windowInfo, Displacement movement)
383{397{
384 if (m_confinementRegions.isEmpty()) {398 if (m_confinementRegions.isEmpty()) {
385399
=== modified file 'src/platforms/mirserver/windowmanagementpolicy.h'
--- src/platforms/mirserver/windowmanagementpolicy.h 2017-03-22 14:04:23 +0000
+++ src/platforms/mirserver/windowmanagementpolicy.h 2017-03-31 09:38:38 +0000
@@ -18,6 +18,7 @@
18#define WINDOWMANAGEMENTPOLICY_H18#define WINDOWMANAGEMENTPOLICY_H
1919
20#include "miral/canonical_window_manager.h"20#include "miral/canonical_window_manager.h"
21#include "miral/window_management_policy_addendum2.h"
2122
22#include "appnotifier.h"23#include "appnotifier.h"
23#include "qteventfeeder.h"24#include "qteventfeeder.h"
@@ -30,7 +31,7 @@
3031
31class ScreensModel;32class ScreensModel;
3233
33class WindowManagementPolicy : public miral::CanonicalWindowManagerPolicy34class WindowManagementPolicy : public miral::CanonicalWindowManagerPolicy, public miral::WindowManagementPolicyAddendum2
34{35{
35public:36public:
36 WindowManagementPolicy(const miral::WindowManagerTools &tools,37 WindowManagementPolicy(const miral::WindowManagerTools &tools,
@@ -86,6 +87,9 @@
86 void ask_client_to_close(const miral::Window &window);87 void ask_client_to_close(const miral::Window &window);
87 void forceClose(const miral::Window &window);88 void forceClose(const miral::Window &window);
8889
90 void handle_request_drag_and_drop(miral::WindowInfo& window_info) override;
91
92Q_SIGNALS:
89 void set_window_confinement_regions(const QVector<QRect> &regions);93 void set_window_confinement_regions(const QVector<QRect> &regions);
90 void set_window_margins(MirWindowType windowType, const QMargins &margins);94 void set_window_margins(MirWindowType windowType, const QMargins &margins);
9195

Subscribers

People subscribed via source and target branches