Matthias Clasen
3180f0d65f
xim: Stop using child surface apis
...
We no longer have child surfaces.
Drop code that only makes sense in
their presence.
2019-03-26 19:18:39 -04:00
Matthias Clasen
36584b193d
wayland: Stop using child surface apis
...
We no longer have child surfaces.
Drop code that only makes sense in their
presence.
2019-03-26 19:18:39 -04:00
Matthias Clasen
19919365de
x11: Stop using child surface api
...
We no longer have child surfaces.
Drop code that only makes sense in
that case.
2019-03-26 19:18:39 -04:00
Matthias Clasen
39a7f4765e
label: Fix compiler warnings
2019-03-26 19:18:39 -04:00
Matthias Clasen
4ba2509ecc
Avoid harfbuzz deprecation warnings
2019-03-26 19:18:39 -04:00
Matthias Clasen
251217738f
Fix a compiler warning
2019-03-26 19:18:39 -04:00
Matthias Clasen
62a2de8f67
popover: Explicitly set css parent
...
This fixes a critical warning when attaching a popover
to a treeview, as the file chooser is doing.
2019-03-26 19:18:39 -04:00
Matthias Clasen
02fd69d0ad
text: Adapt to new popover lifecycle
...
Unparent the popover in dispose.
2019-03-26 19:18:39 -04:00
Matthias Clasen
042c1cfa74
scale button: Adapt to new popover lifecycle
...
Unparent the popover in dispose.
2019-03-26 19:18:39 -04:00
Matthias Clasen
3aa9c6d6d0
placesview: Adapt to new popover lifecycle
...
We must unparent popovers in dispose now.
2019-03-26 19:18:39 -04:00
Matthias Clasen
25ea3fba8f
entry: Adapt to new popover lifecycle
...
We need to unparent popovers in dispose.
2019-03-26 19:18:39 -04:00
Matthias Clasen
84585940e8
Replace GtkPopover by GtkPopup
...
Rename GtkPopup to GtkPopover, and make things work.
2019-03-26 19:18:39 -04:00
Matthias Clasen
9128065200
popup: Recreate most popover api
2019-03-26 19:18:39 -04:00
Matthias Clasen
973d4150db
Revert "popup: Add properties"
...
This reverts commit ff8f8b51270a24dc7655e98a28a52e29c06ae19b.
2019-03-26 19:18:39 -04:00
Matthias Clasen
ab02f066b4
Revert "testpopup: Add ui for move-to-rect parameters"
...
This reverts commit b1b452b3af51681639f34db5faf8f817c2f2f709.
2019-03-26 19:18:39 -04:00
Matthias Clasen
f941a47f64
popup: Keep surface state in sync
...
Under Wayland, the surface may 'spontaneously'
disappear (when the user clicks elsewhere). In this
case, we get a state-changed signal and need to
keep the GTK state in sync by hiding the widget.
2019-03-26 19:18:39 -04:00
Matthias Clasen
64ad835cde
main: Hide popups for outside events
...
If the user clicks outside our surfaces, Wayland
will dismiss the popup on its own. If the user
clicks on one of our surfaces, we get the event,
but we want the same thing to happen. So, hide
the widget.
2019-03-26 19:18:39 -04:00
Matthias Clasen
1a735006be
testpopup: Attach the poup to the label
...
This causes a different set of interesting issues.
2019-03-26 19:18:39 -04:00
Matthias Clasen
588bf9aaaa
popup: Use gdk_surface_new_popup_full
2019-03-26 19:18:39 -04:00
Matthias Clasen
80a75b56a2
surface: Start sketching a new surface type
...
Start by adding a constructor. We have to call it
gdk_surface_new_popup_full for now, since gdk_surface_new_popup
is taken. This may be reshuffled later.
2019-03-26 19:18:39 -04:00
Matthias Clasen
96f935734c
wayland: Improve debug output for events
...
We were missing surfaces in a few places.
2019-03-26 19:18:39 -04:00
Matthias Clasen
be33467c9a
popup: small cleanup
...
Since we're grabbing now, no need to focus the surface.
2019-03-26 19:18:39 -04:00
Matthias Clasen
65ee422340
popup: Remove some unnecessary things
2019-03-26 19:18:39 -04:00
Matthias Clasen
1e05cb487a
testpopup: Cosmetic improvements
2019-03-26 19:18:39 -04:00
Matthias Clasen
1a54af4312
popover: Set a css name
2019-03-26 19:18:39 -04:00
Matthias Clasen
864eba4cde
testpopup: Add ui for move-to-rect parameters
2019-03-26 19:18:39 -04:00
Matthias Clasen
74e3567abe
popup: Add properties
...
This is mainly to explore move-to-rect parameters,
and probably temporary.
2019-03-26 19:18:39 -04:00
Matthias Clasen
4522923628
popup: Add a close keybinding, make grabs work
...
Making grabs work turned out to be a tricky timing thing.
We can't call move_to_rect in realize, since that will
already determine the surface type as a side-effect. Instead,
call seat_grab just-in-time in map, and call surface_show
in the grab prepare func.
2019-03-26 19:18:39 -04:00
Matthias Clasen
d30acd6bcc
popup: Use xdg-popup for relative placement
...
The initial placement is correct under both X and Wayland,
but a) the surface doesn't follow the parent under X when
it is moved, and it doesn't follow the attach point under
Wayland when it is resized.
2019-03-26 19:18:39 -04:00
Matthias Clasen
7a10a75c32
widget: Don't snapshot foreign children
...
When snapshotting, we walk down the widget tree.
We need to skip children that have a different
root, since those will do their own snapshot.
2019-03-26 19:18:39 -04:00
Matthias Clasen
8a298a4869
icon view accessible: Stop presenting windows
...
Thats really not its business.
2019-03-26 19:18:39 -04:00
Matthias Clasen
caca3c3ba8
widget: Review and replace uses of get_toplevel
...
Now that roots can have parent widgets, we need to
carefully examine all calls of gtk_widget_get_toplevel,
and replace them with gtk_widget_get_root if we want
the nearest root, and not the ultimate end of the parent
chain.
2019-03-26 19:18:39 -04:00
Matthias Clasen
ae0e86c20c
testpopup: popup on demand
...
Add a button to show the popup.
2019-03-26 19:18:39 -04:00
Matthias Clasen
52db84dd8b
popup: Miscellaneous fixes
...
The main fix here is that re-showing a popup now works.
2019-03-26 19:18:39 -04:00
Matthias Clasen
c5fb75e694
widget: Use root pointer focus apis
2019-03-26 19:18:39 -04:00
Matthias Clasen
a732a1e81e
main: Use root pointer focus apis
2019-03-26 19:18:39 -04:00
Matthias Clasen
13bc2899f3
popup: Implement root pointer focus apis
2019-03-26 19:18:39 -04:00
Matthias Clasen
8de7b56221
window: Implement root pointer focus apis
2019-03-26 19:18:39 -04:00
Matthias Clasen
375543b68e
root: Add pointer focus apis
...
This copies all the private GtkWindow apis for
handling pointer focus.
2019-03-26 19:18:39 -04:00
Matthias Clasen
a72c6249d3
popup: Add backdrop
2019-03-26 19:18:39 -04:00
Matthias Clasen
37d23c0f96
popup: Add more keybindings
...
This makes Enter and Space work to activate things.
2019-03-26 19:18:39 -04:00
Matthias Clasen
a43546283f
main: Use root api for mnemonic activation
2019-03-26 19:18:39 -04:00
Matthias Clasen
0c040e7bfe
label: Use root api for mnemonic setup
2019-03-26 19:18:39 -04:00
Matthias Clasen
3979d43693
popup: Implement mnemonics
...
Implement the root mnemonic api.
2019-03-26 19:18:39 -04:00
Matthias Clasen
5e1611d51f
window: Implement root mnemonic api
...
Hook up the root mnemonic api to the existing
mnemonic machinery.
2019-03-26 19:18:39 -04:00
Matthias Clasen
81d511dd14
root: Add api for mnemonics
...
Copy the add/remove_mnemonic and activate_key apis
from GtkWindow.
2019-03-26 19:18:38 -04:00
Matthias Clasen
2cfadf790c
label: Make default activation work in roots
...
Use the GtkRoot API when activating the default widget.
This makes things work in GtkWindow and GtkPopup.
2019-03-26 19:18:38 -04:00
Matthias Clasen
37e984a941
text: Make default activation work in roots
...
Use the GtkRoot API when activating the default widget.
This makes things work in GtkWindow and GtkPopup.
2019-03-26 19:18:38 -04:00
Matthias Clasen
e2a302e2a6
widget: Make grabbing default work for roots
...
Use the GtkRoot api to make grabbing the default
work in roots other than GtkWindow.
2019-03-26 19:18:38 -04:00
Matthias Clasen
79fe3c27dc
popup: Implement the GtkRoot::default-widget
...
Add the ::default-widget property.
2019-03-26 19:18:38 -04:00