[server] Touch drag support
ClosedPublic

Authored by romangg on Sep 12 2018, 8:26 PM.

Details

Summary

Adds functionality to do drag and drop with touch screens.

Test Plan

Manually. Autotest planned.

Diff Detail

Repository
R127 KWayland
Branch
touchDrag
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 3000
Build 3018: arc lint + arc unit
romangg created this revision.Sep 12 2018, 8:26 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptSep 12 2018, 8:26 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
romangg requested review of this revision.Sep 12 2018, 8:26 PM
davidedmundson added inline comments.
src/server/datadevice_interface.cpp
101–102

done

src/server/seat_interface.cpp
1349

If I add 2 IDs

[0,1]

then remove ID 0

[1]

with the old code I would get the ID 2, with this I'll get a second ID 1

1413

I expect you need this in touchCancel too

src/server/seat_interface_p.h
154

If you don't need the order QHash over QMap

romangg marked 3 inline comments as done.Sep 19 2018, 12:33 AM
romangg added inline comments.
src/server/seat_interface.cpp
1349

Redid this one too many times and overlooked this obvious problem. I will just use the last() call of the QMap instead of size(). Thanks!

src/server/seat_interface_p.h
154

Needs to be a QMap now again with the last() call in the touchDown method.

romangg updated this revision to Diff 41923.Sep 19 2018, 12:34 AM
romangg marked an inline comment as done.
  • Fix id setting and cancel touch drags
  • Reapply position of first touch on drag
davidedmundson accepted this revision.Oct 30 2018, 12:44 PM
This revision is now accepted and ready to land.Oct 30 2018, 12:44 PM
romangg updated this revision to Diff 45164.Nov 9 2018, 10:50 AM
  • No touch motion on drag
  • Add touch dnd autotest
This revision was automatically updated to reflect the committed changes.