Matthias Clasen
b06331218d
docs: Rewrite popover menu docs
...
These were outdated and did not reflect current api.
2019-12-29 20:31:58 -05:00
Matthias Clasen
0bc65f0bde
popover: Remove some dead code
2019-12-28 21:46:39 -05:00
Benjamin Otte
ed24f93fb9
popover: Remove unneeded vfunc
...
The vfunc is identical to the GtkWidget implementation it replaces. So
just keep using that one.
2019-12-15 21:07:54 +01:00
Timm Bäder
e5f1ff6a4d
popover: Use a bin layout for the contents gizmo
2019-11-14 09:15:58 +01:00
Matthias Clasen
9501fc2c14
Merge branch 'nested-popover-menu' into 'master'
...
Nested popover menus
See merge request GNOME/gtk!1076
2019-09-10 01:09:31 +00:00
Matthias Clasen
ea44eade21
Add nesting popover menus
...
Add a variant of popover menus that are nesting
like traditional menus. This is a better fit for
replacing traditional main menus.
2019-09-08 19:02:06 -04:00
Matthias Clasen
c75a368bab
popover: Support vertical aligment
...
We already support horizontal alignment, and
we should do the same for vertical alignment.
2019-09-08 19:02:06 -04:00
Alexandre Franke
88b617646a
popover: fix typo in schema string
2019-08-29 14:50:20 +02:00
Timm Bäder
109df77d87
popover: Use GTK_POS_BOTTOM as default position
...
This has always made a lot more sense.
2019-08-03 14:44:25 +02:00
Timm Bäder
b3d0629709
popover: Remove some unnecessary checks
...
gtk_popover_move_resize() already checks whether the popover has a
surface.
2019-07-24 07:54:30 +02:00
Timm Bäder
92a79d3f96
popover: Fix a broken cast
...
The widget passed here is priv->relative_to, not the popover.
2019-07-13 17:06:22 +02:00
Matthias Clasen
a5c327bb02
popover: Drop unused api
...
The inspector is no longer using this
list model, so drop the api.
2019-06-16 23:03:34 -04:00
Matthias Clasen
6c7cb8d862
popover: Improve the move-focus fix
...
Avoid breaking menubar keynav (we still
need the focus change to be propagated
down from the root).
2019-06-12 21:50:29 -04:00
Matthias Clasen
d0a38c677c
popover: Bring back the activate-default signal
...
As long as key bindings only work via action
signals, we need a signal here in order to
override the Enter/Space bindings for popover
menus.
2019-06-12 21:49:59 -04:00
Matthias Clasen
f1b9e7c23b
Rename a bunch of private headers
...
We want to follow the convention that all
private headers have names ending in private.h
2019-06-10 03:10:13 +00:00
Matthias Clasen
d736778c2f
popover: Respect alignment for positioning
...
We lost the code that takes the halign of
the popover into account when positioning it.
Bring it back, since we want to use it for
popover menus.
2019-06-09 17:38:54 +00:00
Matthias Clasen
609f1659bd
Rationalize popover menu apis
...
Make gtk_popover_new_from_model() return a GtkPopoverMenu,
rename it to gtk_popover_menu_new_from_model() and add
a relative_to argument to gtk_popover_menu_new().
Update all callers.
2019-06-09 17:38:54 +00:00
Matthias Clasen
724f315ae6
Stop exporting gtk_popover_bind_model
...
We can't improve popover menus as long as we
have to be able to work with any old popover
we're given. Remove this, so we can make
gtk_popover_new_from_model return a subclass.
2019-06-09 17:38:54 +00:00
Niels De Graef
df9aed6c61
Fix some GObject introspection annotations
...
Fixes several warnings by the GIR compiler.
2019-05-30 20:34:43 +02:00
Matthias Clasen
d08805d7f0
popover: Don't constantly redraw the beak
...
We don't want to constantly draw the arrow
if we don't have to. Save the render node
to achieve this.
2019-05-28 20:25:17 +00:00
Matthias Clasen
f154fd4c09
popover: Stop needles allocations
...
We were queuing an allocation whenever
the popover is flipped over, unnecessarily,
since we don't change the size of the surface.
This was showing up as popovers being invisible
when flipped over, under X.
2019-05-28 20:25:17 +00:00
Matthias Clasen
ec413357c6
popover: Make it possible to not have an arrow
...
This will make popovers move flexible for other
uses, such as the Emoji completion popup.
2019-05-28 20:25:16 +00:00
Matthias Clasen
a841ff0316
popover: Set input shapes on wayland too
...
No reason not to do it. Wayland has input shapes.
2019-05-28 20:25:16 +00:00
Matthias Clasen
302d2a04ae
Stop using gtk_widget_get_surface
...
Replace all uses of gtk_widget_get_surface by
gtk_native_get_surface.
2019-05-28 20:25:16 +00:00
Matthias Clasen
25aef96d5d
popover: Rename modal to autohide
...
This is the term we use for the surface,
and it matches the behavior a bit better
than modal.
Update all callers.
2019-05-28 20:25:15 +00:00
Matthias Clasen
b99962e7a2
Drop gtk_widget_set_surface
...
Not used anymore. Only GtkNative's have surfaces.
2019-05-28 20:25:15 +00:00
Matthias Clasen
0047492bf9
Work toward dropping widget->surface
...
Drop special-casing of GtkNative in
most widget vfuncs. GtkNative implementations
need to override these anyway.
2019-05-28 20:25:15 +00:00
Matthias Clasen
18788c2a86
Remove gtk_widget_get/set_has_surface
...
These serve no purpose anymore - widgets don't
have surfaces, unless they're a GtkNative.
2019-05-28 20:25:15 +00:00
Matthias Clasen
fd0a290d77
popover: Bring back the beak
...
Bring back the code that draws an arrow.
2019-05-28 20:25:15 +00:00
Matthias Clasen
49268c23fd
popover: Use GdkSurface::autohide
...
The new api is made for this case.
2019-05-28 20:25:14 +00:00
Matthias Clasen
d2951d3aac
Rename surface constructors
...
We want to use a gdk_surface_new_popup for popups,
and align the constructor names with the surface
types, so rename
gdk_surface_new_popup -> gdk_surface_new_temp
gdk_surface_new_popup_full -> gdk_surface_new_popup
The temp surface type will disappear eventually.
2019-05-28 20:25:14 +00:00
Matthias Clasen
fa25b06a28
popover: Stop using gtk_widget_register_surface
...
The GtkRoot implementations are expected to handle
the necessary surface setup themselves, going forward.
2019-05-28 20:25:14 +00:00
Matthias Clasen
6ab8ab87c8
Reimplement GtkPopover
2019-05-28 20:25:13 +00:00
Matthias Clasen
92e21c3f1c
Drop the can-default property
...
It was added at a time when default buttons
had a very large external border that would disrupt
aligment. Not a problem nowadays.
2019-04-28 23:28:39 +00:00
Matthias Clasen
3ccdad76de
popover: Add a default.activate action
...
This is a first example of a widget intercepting
the default.activate for its own handling.
2019-04-28 23:20:13 +00:00
Matthias Clasen
56e95ddfc8
popover: Add a default-widget property
...
This is part of redoing default widget handling.
2019-04-28 23:20:13 +00:00
Matthias Clasen
65052a5d6c
Rename gtk_window_set_default
...
Call it gtk_window_set_default_widget, to match
the getter, and the property name. Update all
callers.
2019-04-28 23:20:13 +00:00
Matthias Clasen
52d4bcf1be
popover: Stop using gtk_widget_get_parent_surface
...
We can just use the surface of the parent.
2019-04-24 20:57:09 -04:00
Matthias Clasen
5b78a3048f
gizmo: Add a contains_func
...
Let GtkGizmo override the contains() implementation.
Update all callers to pass NULL for the contains_func.
2019-04-07 15:47:24 +00:00
Matthias Clasen
c2c4133eb0
Fix up the border/background-color removal
...
I overlooked one level of indirection here. Oops.
2019-03-31 20:43:19 -04:00
Matthias Clasen
6f5675ef3c
Stop using deprecated style context api
...
Use the non-deprecated one it wraps, instead.
Yes, this is cheating...
2019-03-31 15:35:20 -04:00
Timm Bäder
e657d9d553
popover: Always measure contents gizmo
...
Otherwise we're getting warnings about allocating a widget we haven't
measured first, which is fair. The contents gizmo itself will later take
care about whether or not the real popover child is NULL.
2019-03-25 15:57:31 +01:00
Timm Bäder
36e00ae95e
popover: Don't try to compute_bounds of a NULL child
2019-03-25 15:57:30 +01:00
Matthias Clasen
31d9ecb5c3
popover: Stop using ::set-focus
...
This will change completely when GtkPopover becomes a
root. For now, stop using ::set-focus and just use the
focus-widget property.
2019-03-16 21:24:44 -04:00
Matthias Clasen
9e231f6333
popover: Stop using ::hierarchy-changed
...
Use notify::root instead.
2019-02-23 09:43:57 -05:00
Benjamin Otte
01f7f255b5
gtk: Check return value of compute_bounds()
...
Half of these calls will completely break if anybody ever uses CSS
transforms with them, but hey...
2019-02-20 05:26:31 +01:00
Mohammed Sadiq
d11bc68b27
gtkpopover: Fix popover when parent widget is partially visible
...
fixes https://gitlab.gnome.org/GNOME/gtk/issues/750
2019-01-09 17:12:23 +05:30
Timm Bäder
f598836d6c
popover: Don't recalculate position if unmapped
2018-11-29 08:50:18 +01:00
Timm Bäder
2bd02d9185
popover: Get rid of a gtk_widget_get_allocation call
...
Use _compute_bounds instead.
2018-11-29 08:50:18 +01:00
Timm Bäder
ade171a2ed
widget: Don't pass a position to ->size_allocate
...
The values have been 0/0 for a long time now, so just drop the
GtkAllocation argument and replace it with width and height.
2018-11-13 16:28:54 +01:00