Commit Graph

57517 Commits

Author SHA1 Message Date
Matthias Clasen
89fb042fea Adwaita: Give popover menus a background
This makes the hover highlight on menu items visible.
2019-04-28 12:36:04 +00:00
Matthias Clasen
5594c2dccd popover menu: Reinstate styling 2019-04-28 12:36:04 +00:00
Matthias Clasen
a6a54d6ccb surface: Remove code dealing with child surfaces
We no longer have child surfaces, so this code
is never run.
2019-04-28 12:36:04 +00:00
Matthias Clasen
29db3bc052 surface: minor cleanup
Make gdk_surface_new fully private, and reduce the use
of GdkSurfaceAttr.
2019-04-28 12:36:04 +00:00
Matthias Clasen
abf17eed83 Drop child surfaces
Drop gdk_surface_child_new and the child surface type,
since we no longer use them. Deprecate surface apis
that only make sense with child surfaces.
2019-04-28 12:36:04 +00:00
Matthias Clasen
6cc1e557dd widget: Stop using child surface apis
All our surfaces are toplevels now, and thus all native.
2019-04-28 12:36:04 +00:00
Matthias Clasen
7454f41283 a11y: Stop supporting ATK_XY_SCREEN
We were already not supporting ATK_XY_PARENT, and we can't
support global positions, so just always do ATK_XY_WINDOW.
2019-04-28 12:36:04 +00:00
Matthias Clasen
1a467518f4 xim: Stop using child surface apis
We no longer have child surfaces.
Drop code that only makes sense in
their presence.
2019-04-28 12:36:04 +00:00
Matthias Clasen
a0f7cfeb5b wayland: Stop using child surface apis
We no longer have child surfaces.
Drop code that only makes sense in their
presence.
2019-04-28 12:36:04 +00:00
Matthias Clasen
fb6c0a27e0 x11: Stop using child surface api
We no longer have child surfaces.
Drop code that only makes sense in
that case.
2019-04-28 12:36:04 +00:00
Matthias Clasen
7cb44e7d40 text: Adapt to new popover lifecycle
Unparent the popover in dispose.
2019-04-28 12:36:04 +00:00
Matthias Clasen
84b99bb83b scale button: Adapt to new popover lifecycle
Unparent the popover in dispose.
2019-04-28 12:36:04 +00:00
Matthias Clasen
076f91bb58 placesview: Adapt to new popover lifecycle
We must unparent popovers in dispose now.
2019-04-28 12:36:04 +00:00
Matthias Clasen
4c863d5429 entry: Adapt to new popover lifecycle
We need to unparent popovers in dispose.
2019-04-28 12:36:04 +00:00
Matthias Clasen
ed08ae6faf Reimplement GtkPopover 2019-04-28 12:36:04 +00:00
Matthias Clasen
aac8d6d369 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-04-28 12:36:04 +00:00
Matthias Clasen
48847f6c58 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-04-28 12:36:04 +00:00
Matthias Clasen
896c7e6ff0 icon view accessible: Stop presenting windows
Thats really not its business.
2019-04-28 12:36:04 +00:00
Matthias Clasen
121c54a6f0 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-04-28 12:36:04 +00:00
Matthias Clasen
046dfc475b widget: Use root pointer focus apis 2019-04-28 12:36:04 +00:00
Matthias Clasen
9b32ec663b main: Use root pointer focus apis 2019-04-28 12:36:04 +00:00
Matthias Clasen
2c03d59422 window: Implement root pointer focus apis 2019-04-28 12:36:04 +00:00
Matthias Clasen
6367d5a898 root: Add pointer focus apis
This copies all the private GtkWindow apis for
handling pointer focus.
2019-04-28 12:36:04 +00:00
Matthias Clasen
c7d6a3cc59 main: Use root api for mnemonic activation 2019-04-28 12:36:04 +00:00
Matthias Clasen
2a1b5ef613 label: Use root api for mnemonic setup 2019-04-28 12:36:04 +00:00
Matthias Clasen
704abc659e window: Implement root mnemonic api
Hook up the root mnemonic api to the existing
mnemonic machinery.
2019-04-28 12:36:04 +00:00
Matthias Clasen
75a7def255 root: Add api for mnemonics
Copy the add/remove_mnemonic and activate_key apis
from GtkWindow.
2019-04-28 12:36:04 +00:00
Matthias Clasen
1cf4a31541 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-04-28 12:36:04 +00:00
Matthias Clasen
509695702f 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-04-28 12:36:04 +00:00
Matthias Clasen
5e43e39c81 widget: Make grabbing default work for roots
Use the GtkRoot api to make grabbing the default
work in roots other than GtkWindow.
2019-04-28 12:36:04 +00:00
Matthias Clasen
b18ca74800 window: Implement GtkRoot::default-widget
Implement the ::default-widget property.
2019-04-28 12:36:04 +00:00
Matthias Clasen
e5b0bfa6b9 root: Add an activate_focus api
This makes sense to parallel what GtkWindow has,
and for key bindings.
2019-04-28 12:36:04 +00:00
Matthias Clasen
ac991957a2 root: Add default handling
Add a default-widget property with getter/setter
and a gtk_root_activate_default() function.
2019-04-28 12:36:03 +00:00
Matthias Clasen
7d2e3843c6 main: guard window-specific code paths
This was overlooked when I first tried to
make things for GtkRoot.
2019-04-28 12:36:03 +00:00
Matthias Clasen
022bcc6efc widget: guard popover-specific code paths
This is essentially a special case just for GtkPopover,
which is the last widget with a child surface.
2019-04-28 12:36:03 +00:00
Matthias Clasen
ad8e92a52e window: Implement GtkRoot::check_resize
Hook up the existing window configure machinery
to the new idle sizer.
2019-04-28 12:36:03 +00:00
Matthias Clasen
9aec6e1b25 widget: Use the new idle sizer 2019-04-28 12:36:03 +00:00
Matthias Clasen
e813738f28 css: Use the new idle sizer 2019-04-28 12:36:03 +00:00
Matthias Clasen
278ce030cf root: Move the idle sizer here
Move the idle sizer from GtkContainer to GtkRoot
and call it layout phase. The new (private) entry
points are gtk_root_queue_restyle() and
gtk_root_start/stop_layout_phase().
2019-04-28 12:36:03 +00:00
Timm Bäder
59fd48cee0 entry: Fix primary icon allocation in RTL entries
The primary icon is on the right in RTL, so don't offset the text child
to the right for it.
Fixes the text and icon overlapping in the second entry
in tests/testentryicons
2019-04-28 08:36:36 +02:00
Timm Bäder
c848b9014b gl renderer: Add simple blend node implementation 2019-04-28 07:58:31 +02:00
Timm Bäder
1e16cb088a treeview: Always update expand when allocating columns
It doesn't make sense to keep track of all the last_* values anymore now
that widgets only get allocated when their size changes anyway.
Remove all the associated (and thus now unused) flags as well.
2019-04-28 06:54:10 +02:00
Timm Bäder
f4cf43359d treeview: Remove a useless check 2019-04-28 06:50:57 +02:00
Timm Bäder
6c8a5f5e2f treeview: Remove unused member 2019-04-28 06:45:33 +02:00
Matthias Clasen
da64d687d1 Merge branch 'popover-demos' into 'master'
Popover demos

See merge request GNOME/gtk!782
2019-04-27 18:09:57 +00:00
Matthias Clasen
aab803b7ae widget-factory: Make a resizing popover
Add an expander to a popover to test how
changing sizes works with popovers.
2019-04-27 18:00:22 +00:00
Matthias Clasen
936aba884a Merge branch 'file-chooser-search' into 'master'
file chooser: Fix Ctrl-L

Closes #1829

See merge request GNOME/gtk!781
2019-04-27 17:52:02 +00:00
Matthias Clasen
e1200230c4 widget-factory: Add some nested popovers
These are mainly for stress-testing our
popover implementations.
2019-04-27 17:50:22 +00:00
Matthias Clasen
d3ad816d63 widget-factory: Add non-modal popovers
This makes is easy to test moving the toplevel
or repositioning the parent while the popover
is shown.
2019-04-27 17:50:14 +00:00
Matthias Clasen
eea1388cf4 file chooser: Fix Ctrl-L
We were forwarding key events to the search entry
and unconditionally considered search started
afterwards. That is not correct, since things
like a Ctrl key press should not trigger search.
Fix this by only switching to search mode when
the event was actually consumed.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1829
2019-04-27 17:43:59 +00:00