diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt index e8761954f2..08f27b2a7d 100644 --- a/docs/reference/gtk/gtk4-sections.txt +++ b/docs/reference/gtk/gtk4-sections.txt @@ -2531,7 +2531,6 @@ gtk_statusbar_push gtk_statusbar_pop gtk_statusbar_remove gtk_statusbar_remove_all -gtk_statusbar_get_message_area GTK_STATUSBAR GTK_IS_STATUSBAR diff --git a/gtk/a11y/gtkstatusbaraccessible.c b/gtk/a11y/gtkstatusbaraccessible.c index d21fc7295d..b4d2f38505 100644 --- a/gtk/a11y/gtkstatusbaraccessible.c +++ b/gtk/a11y/gtkstatusbaraccessible.c @@ -19,6 +19,7 @@ #include #include +#include "gtkstatusbarprivate.h" #include "gtkstatusbaraccessible.h" @@ -51,50 +52,11 @@ gtk_statusbar_accessible_initialize (AtkObject *obj, obj->role = ATK_ROLE_STATUSBAR; } -static GtkWidget * -find_label_child (GtkContainer *container) -{ - GList *children, *tmp_list; - GtkWidget *child; - - children = gtk_container_get_children (container); - - child = NULL; - for (tmp_list = children; tmp_list != NULL; tmp_list = tmp_list->next) - { - if (GTK_IS_LABEL (tmp_list->data)) - { - child = GTK_WIDGET (tmp_list->data); - break; - } - else if (GTK_IS_CONTAINER (tmp_list->data)) - { - child = find_label_child (GTK_CONTAINER (tmp_list->data)); - if (child) - break; - } - } - g_list_free (children); - - return child; -} - -static GtkWidget * -get_label_from_statusbar (GtkStatusbar *statusbar) -{ - GtkWidget *box; - - box = gtk_statusbar_get_message_area (statusbar); - - return find_label_child (GTK_CONTAINER (box)); -} - static const gchar * gtk_statusbar_accessible_get_name (AtkObject *obj) { const gchar *name; GtkWidget *widget; - GtkWidget *label; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); if (widget == NULL) @@ -104,11 +66,7 @@ gtk_statusbar_accessible_get_name (AtkObject *obj) if (name != NULL) return name; - label = get_label_from_statusbar (GTK_STATUSBAR (widget)); - if (GTK_IS_LABEL (label)) - return gtk_label_get_label (GTK_LABEL (label)); - - return NULL; + return gtk_statusbar_get_message (GTK_STATUSBAR (widget)); } static gint diff --git a/gtk/gtkcolorchooser.c b/gtk/gtkcolorchooser.c index f5389fa806..070f7fa20e 100644 --- a/gtk/gtkcolorchooser.c +++ b/gtk/gtkcolorchooser.c @@ -230,7 +230,7 @@ _gtk_color_chooser_snapshot_checkered_pattern (GtkSnapshot *snapshot, int height) { const GdkRGBA color1 = GDK_RGBA("A8A8A8"); - const GdkRGBA color2 = GDK_RGBA("545445"); + const GdkRGBA color2 = GDK_RGBA("545454"); gtk_snapshot_push_repeat (snapshot, &GRAPHENE_RECT_INIT (0, 0, width, height), NULL); gtk_snapshot_append_color (snapshot, &color1, &GRAPHENE_RECT_INIT (0, 0, 10, 10)); diff --git a/gtk/gtkcolorchooserwidget.c b/gtk/gtkcolorchooserwidget.c index 269c6a26e8..bda681e7ab 100644 --- a/gtk/gtkcolorchooserwidget.c +++ b/gtk/gtkcolorchooserwidget.c @@ -803,20 +803,16 @@ add_custom_color (GtkColorChooserWidget *cc, const GdkRGBA *color) { GtkColorChooserWidgetPrivate *priv = gtk_color_chooser_widget_get_instance_private (cc); - GtkWidget *last; GtkWidget *p; GList *children; children = gtk_container_get_children (GTK_CONTAINER (priv->custom)); if (g_list_length (children) >= 9) { - last = g_list_last (children)->data; - if (last == GTK_WIDGET (priv->current)) - priv->current = NULL; + GtkWidget *last = gtk_widget_get_last_child (priv->custom); - gtk_widget_destroy (last); + gtk_container_remove (GTK_CONTAINER (priv->custom), last); } - g_list_free (children); p = gtk_color_swatch_new (); diff --git a/gtk/gtkemojichooser.c b/gtk/gtkemojichooser.c index adc415ebc9..66915d31c9 100644 --- a/gtk/gtkemojichooser.c +++ b/gtk/gtkemojichooser.c @@ -210,13 +210,13 @@ add_recent_item (GtkEmojiChooser *chooser, if (modifier == modifier2 && g_variant_equal (item, item2)) { - gtk_widget_destroy (GTK_WIDGET (l->data)); + gtk_container_remove (GTK_CONTAINER (chooser->recent.box), l->data); i--; continue; } if (i >= MAX_RECENT) { - gtk_widget_destroy (GTK_WIDGET (l->data)); + gtk_container_remove (GTK_CONTAINER (chooser->recent.box), l->data); continue; } @@ -414,7 +414,8 @@ add_emoji (GtkWidget *box, if (pango_layout_get_unknown_glyphs_count (layout) > 0 || rect.width >= 1.5 * chooser->emoji_max_width) { - gtk_widget_destroy (label); + g_object_ref_sink (label); + g_object_unref (label); return; } diff --git a/gtk/gtkheaderbar.c b/gtk/gtkheaderbar.c index 0c708ee851..ca56f4fba1 100644 --- a/gtk/gtkheaderbar.c +++ b/gtk/gtkheaderbar.c @@ -383,11 +383,11 @@ _gtk_header_bar_update_window_buttons (GtkHeaderBar *bar) priv->titlebar_icon = button; gtk_widget_add_css_class (button, "titlebutton"); gtk_widget_add_css_class (button, "icon"); - gtk_widget_set_size_request (button, 20, 20); if (!_gtk_header_bar_update_window_icon (bar, window)) { - gtk_widget_destroy (button); + g_object_ref_sink (button); + g_object_unref (button); priv->titlebar_icon = NULL; button = NULL; } @@ -802,7 +802,7 @@ gtk_header_bar_dispose (GObject *object) if (priv->label_sizing_box) { - gtk_widget_destroy (priv->label_sizing_box); + g_object_ref_sink (priv->label_sizing_box); g_clear_object (&priv->label_sizing_box); } diff --git a/gtk/gtkmenusectionbox.c b/gtk/gtkmenusectionbox.c index 9aec305ec6..94760fdf9f 100644 --- a/gtk/gtkmenusectionbox.c +++ b/gtk/gtkmenusectionbox.c @@ -222,7 +222,8 @@ gtk_menu_section_box_remove_func (gint position, gtk_container_remove (GTK_CONTAINER (stack), subbox); } - gtk_widget_destroy (g_list_nth_data (children, position)); + gtk_container_remove (GTK_CONTAINER (box->item_box), + g_list_nth_data (children, position)); g_list_free (children); gtk_menu_section_box_schedule_separator_sync (box); diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c index 585fa3e46c..e1616a1383 100644 --- a/gtk/gtkmodelbutton.c +++ b/gtk/gtkmodelbutton.c @@ -60,7 +60,7 @@ * radio button. * * Model buttons are used when popovers from a menu model with - * gtk_popover_new_from_model(); they can also be used manually in + * gtk_popover_menu_new_from_model(); they can also be used manually in * a #GtkPopoverMenu. * * When the action is specified via the #GtkActionable:action-name diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c index e9477e349c..c9337b23f9 100644 --- a/gtk/gtkpathbar.c +++ b/gtk/gtkpathbar.c @@ -118,7 +118,7 @@ struct _ButtonData */ #define BUTTON_IS_FAKE_ROOT(button) ((button)->type == HOME_BUTTON) -G_DEFINE_TYPE_WITH_PRIVATE (GtkPathBar, gtk_path_bar, GTK_TYPE_CONTAINER) +G_DEFINE_TYPE_WITH_PRIVATE (GtkPathBar, gtk_path_bar, GTK_TYPE_WIDGET) static void gtk_path_bar_finalize (GObject *object); static void gtk_path_bar_dispose (GObject *object); @@ -133,21 +133,8 @@ static void gtk_path_bar_size_allocate (GtkWidget *widget, int width, int height, int baseline); -static void gtk_path_bar_add (GtkContainer *container, - GtkWidget *widget); -static void gtk_path_bar_remove (GtkContainer *container, - GtkWidget *widget); -static void gtk_path_bar_forall (GtkContainer *container, - GtkCallback callback, - gpointer callback_data); static void gtk_path_bar_scroll_up (GtkPathBar *path_bar); static void gtk_path_bar_scroll_down (GtkPathBar *path_bar); -static gboolean gtk_path_bar_slider_up_defocus (GtkWidget *widget, - GdkEvent *event, - GtkPathBar *path_bar); -static gboolean gtk_path_bar_slider_down_defocus (GtkWidget *widget, - GdkEvent *event, - GtkPathBar *path_bar); static void gtk_path_bar_update_button_appearance (GtkPathBar *path_bar, ButtonData *button_data, gboolean current_dir); @@ -216,13 +203,11 @@ gtk_path_bar_init (GtkPathBar *path_bar) priv = gtk_path_bar_get_instance_private (path_bar); - gtk_widget_init_template (GTK_WIDGET (path_bar)); + priv->up_slider_button = gtk_button_new_from_icon_name ("pan-start-symbolic"); + gtk_widget_set_parent (priv->up_slider_button, GTK_WIDGET (path_bar)); - /* Add the children manually because GtkPathBar derives from an abstract class, - * Glade cannot edit a