Compare commits

...

3 Commits

Author SHA1 Message Date
Matthias Clasen
b198d8ad5b Deprecate gtk_popover_present
The replacement is gtk_popover_allocate.

Part of: #5431
2023-06-21 20:10:44 -04:00
Matthias Clasen
6fc80711a1 Stop using gtk_popover_present
Replace all (nondeprecated) uses of gtk_popover_present
with gtk_popover_update_allocation.
2023-06-21 20:10:10 -04:00
Matthias Clasen
c8ca3e8e7a Add gtk_popover_update_allocation
This is a better name for gtk_popover_present.
2023-06-21 19:58:56 -04:00
18 changed files with 56 additions and 26 deletions

View File

@@ -204,9 +204,9 @@ demo3_widget_size_allocate (GtkWidget *widget,
/* Since we are not using a layout manager (who would do this
* for us), we need to allocate a size for our menu by calling
* gtk_popover_present().
* gtk_popover_update_allocation().
*/
gtk_popover_present (GTK_POPOVER (self->menu));
gtk_popover_update_allocation (GTK_POPOVER (self->menu));
}
static void update_actions (Demo3Widget *self);

View File

@@ -474,7 +474,7 @@ suggestion_entry_size_allocate (GtkWidget *widget,
gtk_widget_set_size_request (self->popup, gtk_widget_get_width (GTK_WIDGET (self)), -1);
gtk_widget_queue_resize (self->popup);
gtk_popover_present (GTK_POPOVER (self->popup));
gtk_popover_update_allocation (GTK_POPOVER (self->popup));
}
static gboolean

View File

@@ -134,6 +134,11 @@ replacement, but the previously mentioned alternatives can be used for it too.
The function gtk_widget_get_allocated_baseline() has been renamed to [method@Gtk.Widget.get_baseline].
## Popover api changes
gtk_popover_present() has been renamed to [method@Gtk.Popover.allocate] to reflect
the fact that is called during size allocation.
## Stop using GdkPixbuf
GTK is moving away from GdkPixbuf as the primary API for transporting image data, in favor

View File

@@ -322,7 +322,7 @@ swatch_size_allocate (GtkWidget *widget,
}, -1);
if (swatch->popover)
gtk_popover_present (GTK_POPOVER (swatch->popover));
gtk_popover_update_allocation (GTK_POPOVER (swatch->popover));
}
static void

View File

@@ -134,7 +134,7 @@ gtk_column_view_title_size_allocate (GtkWidget *widget,
}
if (self->popup_menu)
gtk_popover_present (GTK_POPOVER (self->popup_menu));
gtk_popover_update_allocation (GTK_POPOVER (self->popup_menu));
}
static void

View File

@@ -474,7 +474,7 @@ gtk_drop_down_size_allocate (GtkWidget *widget,
gtk_widget_set_size_request (self->popup, width, -1);
gtk_widget_queue_resize (self->popup);
gtk_popover_present (GTK_POPOVER (self->popup));
gtk_popover_update_allocation (GTK_POPOVER (self->popup));
}
static gboolean

View File

@@ -114,7 +114,7 @@ gtk_emoji_chooser_child_size_allocate (GtkWidget *widget,
GTK_WIDGET_CLASS (gtk_emoji_chooser_child_parent_class)->size_allocate (widget, width, height, baseline);
if (child->variations)
gtk_popover_present (GTK_POPOVER (child->variations));
gtk_popover_update_allocation (GTK_POPOVER (child->variations));
}
static gboolean

View File

@@ -6347,9 +6347,9 @@ gtk_file_chooser_widget_size_allocate (GtkWidget *widget,
GTK_WIDGET_CLASS (gtk_file_chooser_widget_parent_class)->size_allocate (widget, width, height, baseline);
if (impl->browse_files_popover)
gtk_popover_present (GTK_POPOVER (impl->browse_files_popover));
gtk_popover_update_allocation (GTK_POPOVER (impl->browse_files_popover));
if (impl->rename_file_popover)
gtk_popover_present (GTK_POPOVER (impl->rename_file_popover));
gtk_popover_update_allocation (GTK_POPOVER (impl->rename_file_popover));
}
static void

View File

@@ -1368,7 +1368,7 @@ gtk_label_size_allocate (GtkWidget *widget,
}
if (self->popup_menu)
gtk_popover_present (GTK_POPOVER (self->popup_menu));
gtk_popover_update_allocation (GTK_POPOVER (self->popup_menu));
}

View File

@@ -366,7 +366,7 @@ allocate_native_children (GtkWidget *widget)
child = _gtk_widget_get_next_sibling (child))
{
if (GTK_IS_POPOVER (child))
gtk_popover_present (GTK_POPOVER (child));
gtk_popover_update_allocation (GTK_POPOVER (child));
else if (GTK_IS_TEXT_HANDLE (child))
gtk_text_handle_present (GTK_TEXT_HANDLE (child));
else if (GTK_IS_TOOLTIP_WINDOW (child))

View File

@@ -366,7 +366,7 @@ gtk_menu_button_size_allocate (GtkWidget *widget,
&(GtkAllocation) { 0, 0, width, height },
baseline);
if (self->popover)
gtk_popover_present (GTK_POPOVER (self->popover));
gtk_popover_update_allocation (GTK_POPOVER (self->popover));
}
static gboolean

View File

@@ -4101,10 +4101,10 @@ gtk_places_sidebar_size_allocate (GtkWidget *widget,
baseline);
if (sidebar->popover)
gtk_popover_present (GTK_POPOVER (sidebar->popover));
gtk_popover_update_allocation (GTK_POPOVER (sidebar->popover));
if (sidebar->rename_popover)
gtk_popover_present (GTK_POPOVER (sidebar->rename_popover));
gtk_popover_update_allocation (GTK_POPOVER (sidebar->rename_popover));
}
static void

View File

@@ -320,7 +320,7 @@ gtk_places_view_row_size_allocate (GtkWidget *widget,
GTK_WIDGET_CLASS (gtk_places_view_row_parent_class)->size_allocate (widget, width, height, baseline);
if (menu)
gtk_popover_present (GTK_POPOVER (menu));
gtk_popover_update_allocation (GTK_POPOVER (menu));
}
static void

View File

@@ -644,9 +644,31 @@ present_popup (GtkPopover *popover)
* this is happening automatically.
*
* To make a popover appear on screen, use [method@Gtk.Popover.popup].
*
* Deprecated: 4.12: Use [method@Gtk.Popover.update_allocation] instead
*/
void
gtk_popover_present (GtkPopover *popover)
{
gtk_popover_update_allocation (popover);
}
/**
* gtk_popover_update_allocation:
* @popover: a `GtkPopover`
*
* Allocate a size for the `GtkPopover`.
*
* This function needs to be called in size-allocate by widgets
* who have a `GtkPopover` as child. When using a layout manager,
* this is happening automatically.
*
* To make a popover appear on screen, use [method@Gtk.Popover.popup].
*
* Since: 4.12
*/
void
gtk_popover_update_allocation (GtkPopover *popover)
{
GtkWidget *widget = GTK_WIDGET (popover);

View File

@@ -120,9 +120,12 @@ GDK_AVAILABLE_IN_ALL
void gtk_popover_set_default_widget (GtkPopover *popover,
GtkWidget *widget);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_4_12_FOR(gtk_popover_update_allocation)
void gtk_popover_present (GtkPopover *popover);
GDK_AVAILABLE_IN_4_12
void gtk_popover_update_allocation (GtkPopover *popover);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkPopover, g_object_unref)
G_END_DECLS

View File

@@ -1109,5 +1109,5 @@ gtk_scale_button_size_allocate (GtkWidget *widget,
&(GtkAllocation) { 0, 0, width, height },
baseline);
gtk_popover_present (GTK_POPOVER (priv->dock));
gtk_popover_update_allocation (GTK_POPOVER (priv->dock));
}

View File

@@ -2524,21 +2524,21 @@ gtk_text_size_allocate (GtkWidget *widget,
chooser = g_object_get_data (G_OBJECT (self), "gtk-emoji-chooser");
if (chooser)
gtk_popover_present (GTK_POPOVER (chooser));
gtk_popover_update_allocation (GTK_POPOVER (chooser));
gtk_text_update_handles (self);
if (priv->emoji_completion)
gtk_popover_present (GTK_POPOVER (priv->emoji_completion));
gtk_popover_update_allocation (GTK_POPOVER (priv->emoji_completion));
if (priv->magnifier_popover)
gtk_popover_present (GTK_POPOVER (priv->magnifier_popover));
gtk_popover_update_allocation (GTK_POPOVER (priv->magnifier_popover));
if (priv->popup_menu)
gtk_popover_present (GTK_POPOVER (priv->popup_menu));
gtk_popover_update_allocation (GTK_POPOVER (priv->popup_menu));
if (priv->selection_bubble)
gtk_popover_present (GTK_POPOVER (priv->selection_bubble));
gtk_popover_update_allocation (GTK_POPOVER (priv->selection_bubble));
if (priv->text_handles[TEXT_HANDLE_CURSOR])
gtk_text_handle_present (priv->text_handles[TEXT_HANDLE_CURSOR]);

View File

@@ -4698,13 +4698,13 @@ gtk_text_view_size_allocate (GtkWidget *widget,
chooser = g_object_get_data (G_OBJECT (text_view), "gtk-emoji-chooser");
if (chooser)
gtk_popover_present (GTK_POPOVER (chooser));
gtk_popover_update_allocation (GTK_POPOVER (chooser));
if (priv->magnifier_popover)
gtk_popover_present (GTK_POPOVER (priv->magnifier_popover));
gtk_popover_update_allocation (GTK_POPOVER (priv->magnifier_popover));
if (priv->popup_menu)
gtk_popover_present (GTK_POPOVER (priv->popup_menu));
gtk_popover_update_allocation (GTK_POPOVER (priv->popup_menu));
if (priv->text_handles[TEXT_HANDLE_CURSOR])
gtk_text_handle_present (priv->text_handles[TEXT_HANDLE_CURSOR]);
@@ -4713,7 +4713,7 @@ gtk_text_view_size_allocate (GtkWidget *widget,
gtk_text_handle_present (priv->text_handles[TEXT_HANDLE_SELECTION_BOUND]);
if (priv->selection_bubble)
gtk_popover_present (GTK_POPOVER (priv->selection_bubble));
gtk_popover_update_allocation (GTK_POPOVER (priv->selection_bubble));
}
static void