Commit Graph

56946 Commits

Author SHA1 Message Date
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