[server] Touch drag support
Needs ReviewPublic

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

Details

Reviewers
None
Group Reviewers
KWin
Frameworks
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