visualizergroup: port to GTK 4

This commit is contained in:
Christian Hergert
2021-09-30 19:16:01 -07:00
parent c7fc10b954
commit 307fa9c3f9

View File

@ -312,7 +312,7 @@ sysprof_visualizer_group_init (SysprofVisualizerGroup *self)
"orientation", GTK_ORIENTATION_VERTICAL, "orientation", GTK_ORIENTATION_VERTICAL,
"visible", TRUE, "visible", TRUE,
NULL); NULL);
gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (priv->visualizers)); gtk_list_box_row_set_child (GTK_LIST_BOX_ROW (self), GTK_WIDGET (priv->visualizers));
} }
void void
@ -328,7 +328,6 @@ _sysprof_visualizer_group_set_header (SysprofVisualizerGroup *self,
{ {
if (header != NULL) if (header != NULL)
{ {
GList *children;
guint position = 0; guint position = 0;
gtk_widget_insert_action_group (GTK_WIDGET (header), gtk_widget_insert_action_group (GTK_WIDGET (header),
@ -336,11 +335,11 @@ _sysprof_visualizer_group_set_header (SysprofVisualizerGroup *self,
G_ACTION_GROUP (priv->actions)); G_ACTION_GROUP (priv->actions));
gtk_size_group_add_widget (priv->size_group, GTK_WIDGET (header)); gtk_size_group_add_widget (priv->size_group, GTK_WIDGET (header));
children = gtk_container_get_children (GTK_CONTAINER (priv->visualizers)); for (GtkWidget *child = gtk_widget_get_first_child (GTK_WIDGET (priv->visualizers));
child;
for (const GList *iter = children; iter; iter = iter->next) child = gtk_widget_get_next_sibling (child))
{ {
SysprofVisualizer *vis = iter->data; SysprofVisualizer *vis = SYSPROF_VISUALIZER (child);
const gchar *title; const gchar *title;
GMenuModel *menu = NULL; GMenuModel *menu = NULL;
@ -362,19 +361,10 @@ _sysprof_visualizer_group_set_header (SysprofVisualizerGroup *self,
position++; position++;
} }
g_list_free (children);
} }
} }
} }
static void
sysprof_visualizer_group_set_reader_cb (SysprofVisualizer *visualizer,
SysprofCaptureReader *reader)
{
sysprof_visualizer_set_reader (visualizer, reader);
}
void void
_sysprof_visualizer_group_set_reader (SysprofVisualizerGroup *self, _sysprof_visualizer_group_set_reader (SysprofVisualizerGroup *self,
SysprofCaptureReader *reader) SysprofCaptureReader *reader)
@ -384,9 +374,10 @@ _sysprof_visualizer_group_set_reader (SysprofVisualizerGroup *self,
g_return_if_fail (SYSPROF_IS_VISUALIZER_GROUP (self)); g_return_if_fail (SYSPROF_IS_VISUALIZER_GROUP (self));
g_return_if_fail (reader != NULL); g_return_if_fail (reader != NULL);
gtk_container_foreach (GTK_CONTAINER (priv->visualizers), for (GtkWidget *child = gtk_widget_get_first_child (GTK_WIDGET (priv->visualizers));
(GtkCallback) sysprof_visualizer_group_set_reader_cb, child;
reader); child = gtk_widget_get_next_sibling (child))
sysprof_visualizer_set_reader (SYSPROF_VISUALIZER (child), reader);
} }
void void
@ -396,13 +387,18 @@ sysprof_visualizer_group_insert (SysprofVisualizerGroup *self,
gboolean can_toggle) gboolean can_toggle)
{ {
SysprofVisualizerGroupPrivate *priv = sysprof_visualizer_group_get_instance_private (self); SysprofVisualizerGroupPrivate *priv = sysprof_visualizer_group_get_instance_private (self);
GtkWidget *sibling = NULL;
g_return_if_fail (SYSPROF_IS_VISUALIZER_GROUP (self)); g_return_if_fail (SYSPROF_IS_VISUALIZER_GROUP (self));
g_return_if_fail (SYSPROF_IS_VISUALIZER (visualizer)); g_return_if_fail (SYSPROF_IS_VISUALIZER (visualizer));
gtk_container_add_with_properties (GTK_CONTAINER (priv->visualizers), GTK_WIDGET (visualizer), sibling = gtk_widget_get_first_child (GTK_WIDGET (priv->visualizers));
"position", position, while (position > 1 && sibling)
NULL); {
sibling = gtk_widget_get_next_sibling (sibling);
position--;
}
gtk_box_insert_child_after (priv->visualizers, GTK_WIDGET (visualizer), sibling);
if (can_toggle) if (can_toggle)
{ {