Carlos Garnacho
cf6ecc9095
gtkscrolledwindow: Use scroll event controller
...
All kinetic scrolling initial velocity calculations are now
taken from the scroll controller. The handling of timeouts
to snap back when overshooting has been also made to just
apply on devices that can't emit ::scroll-begin/end.
2017-09-19 18:40:50 +02:00
Carlos Garnacho
ad05caedd3
gtkspinbutton: Use scroll event controller
2017-09-19 18:40:50 +02:00
Carlos Garnacho
9a204921ae
gtkscalebutton: Use scroll event controller
2017-09-19 18:40:50 +02:00
Carlos Garnacho
861916fd0b
gtkrange: Use scroll event controller
2017-09-19 18:40:49 +02:00
Carlos Garnacho
f3474645c4
gtkpathbar: Use scroll event controller
2017-09-19 18:40:49 +02:00
Carlos Garnacho
d0e27ba760
gtkmenu: Use scroll event controller
2017-09-19 18:40:49 +02:00
Carlos Garnacho
215c4ed419
gtkcombobox: Use scroll event controller
2017-09-19 18:40:49 +02:00
Carlos Garnacho
c3fbd58916
gtk: Add GtkEventControllerScroll
...
This is a GtkEventController implementation to handle mouse
scrolling. It handles both smooth and discrete events and
offers a way for callers to tell their preference too, so
smooth events shall be accumulated and coalesced on request.
On capable devices, it can also emit ::scroll-begin and
::scroll-end enclosing all ::scroll events for a scroll
operation.
It also has builtin kinetic scrolling capabilities, reporting
the initial velocity for both axes after ::scroll-end if
requested.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
f2ded6a685
gtk: Change gtk_propagate_event() to propagate both ways.
...
This change is made for consistency, it doesn't make sense to expose
one-way propagation, as it can only break expectations from GTK+. This
function might be made entirely private in the future, but it still
makes sense to do this in one go for our internal usecases.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
c02d0f3c0a
eventcontroller: Drop event_mask API
...
This is unchecked, we can remove it entirely as well.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
5b9287ed77
gtkwidget: Drop pointer emulation out of touch events
...
Users of touch events are required to either use a GtkGesture, or handle
touch events themselves.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
8c350459ae
gtk: Run GtkWidgetClass event signals inside a GtkEventController
...
This will allow further cleanups and optimizations in capture/target/bubble
event delivery. For simplicity, ATM every widget will receive its own
GtkEventControllerLegacy, it could be desirable to add finer control over
this in the future, so widgets that fully use event controllers for input
management can do away without this legacy piece.
2017-09-19 18:39:03 +02:00
Matthias Clasen
880d44aa48
widget: Give up on GdkEvent api for now
2017-09-19 18:39:03 +02:00
Matthias Clasen
0ab20b6253
treeview: Give up on GdkEvent api for now
...
There's multiple places where events are manually generated
here, this needs more thought.
2017-09-19 18:39:03 +02:00
Matthias Clasen
d0c92fba69
entry accessible: Give up on GdkEvent api for now
...
Just include gdkeventsprivate.h here for now. This may be
resolved by just dropping icon support from GtkEntry down
the road.
2017-09-19 18:39:03 +02:00
Matthias Clasen
0554f6372b
a11y: Stop listening for configure events
...
This needs to be done differently.
2017-09-19 18:39:03 +02:00
Matthias Clasen
208a85c3fe
treev view column: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
56189fdb74
clipboard: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
efd287feb3
a11y: Use GdkEvent API in some places
...
More work needed.
2017-09-19 18:39:03 +02:00
Matthias Clasen
853602bf63
tooltip: Use GdkEvent API
...
And at the same time, reshuffle things slightly to avoid
creating synthetic events.
2017-09-19 18:39:03 +02:00
Matthias Clasen
96daf93821
text view: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
9c477951cb
text handle: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
aeaa42121f
selection: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
f43849901d
search bar: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
c7225bc8c1
scrolled window: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
7793e8f071
places view: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
5d5ae459c4
place sidebar: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
3b266de66c
path bar: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
75b16ac855
pad controller: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
ebc66eefa8
menu shell: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
d7ccf36d71
menu item: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
b99c3d33ec
im context simple: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
67489349a5
header bar: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
50701abcc3
gesture zoom: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
5430751644
gesture swipe: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
1a8f0686ca
gesture single: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
17832f9617
gesture rotate: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
b5b84e6abe
gesture drag: Use GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
7d6a2a832c
gesture: Use GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
9794dc5628
window accessible: Use GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
16781c8598
widget accessible: Use GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
c68c754f3e
settings: Convert to GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
7cbd35dd86
gesture rotate: Partially convert to GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
d20efc15a9
gesture: Partially convert to GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
6b4dfcadaf
flowbox: Convert to GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
c586a6486f
file chooser widget: Covert to GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
2246387d21
expander: Convert to GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
7ed6add550
entry: Convert to GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
067e209582
dnd: Convert to GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
c12a54a3ed
cell renderer accel: Convert to GdkEvent API
2017-09-19 18:39:02 +02:00