[gtk/inspector-list-model: 1/4] inspector: Remove list model support from the property editor
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/inspector-list-model: 1/4] inspector: Remove list model support from the property editor
- Date: Tue, 30 Jun 2020 21:11:25 +0000 (UTC)
commit bbb28196e51d2d8293e9d145a16003b3edd505eb
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Jun 30 14:22:01 2020 -0400
inspector: Remove list model support from the property editor
This makes the inspector lock up when used with any production
size list model, and blocks access to properties of the model
itself. Instead, we'll make the model available as an object
and add a data tab for list model contents, like we already
do for tree models.
gtk/inspector/prop-editor.c | 63 ---------------------------------------------
1 file changed, 63 deletions(-)
---
diff --git a/gtk/inspector/prop-editor.c b/gtk/inspector/prop-editor.c
index 3ee82ef1b8..cfa98a0734 100644
--- a/gtk/inspector/prop-editor.c
+++ b/gtk/inspector/prop-editor.c
@@ -769,36 +769,6 @@ font_changed (GObject *object, GParamSpec *pspec, gpointer data)
pango_font_description_free (fb_font_desc);
}
-static void
-item_properties (GtkButton *button, GtkInspectorPropEditor *self)
-{
- GObject *item;
- item = g_object_get_data (G_OBJECT (button), "item");
- g_signal_emit (self, signals[SHOW_OBJECT], 0, item, "Item", "properties");
-}
-
-static GtkWidget *
-create_row (gpointer item,
- gpointer user_data)
-{
- GtkWidget *row, *label, *button;
- char *name;
-
- name = object_label (G_OBJECT (item), NULL);
- label = gtk_label_new (name);
- g_free (name);
-
- button = gtk_button_new_with_label (_("Properties"));
- g_object_set_data (G_OBJECT (button), "item", item);
- g_signal_connect (button, "clicked", G_CALLBACK (item_properties), user_data);
-
- row = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
- gtk_box_append (GTK_BOX (row), label);
- gtk_box_append (GTK_BOX (row), button);
-
- return row;
-}
-
static GtkWidget *
property_editor (GObject *object,
GParamSpec *spec,
@@ -1003,39 +973,6 @@ property_editor (GObject *object,
G_CALLBACK (pointer_changed),
prop_edit, G_OBJECT (prop_edit));
}
- else if (type == G_TYPE_PARAM_OBJECT &&
- g_type_is_a (G_PARAM_SPEC_VALUE_TYPE (spec), G_TYPE_LIST_MODEL))
- {
- GtkWidget *popover;
- GtkWidget *box;
- GtkWidget *sw;
- GListModel *model;
-
- popover = gtk_popover_new ();
- prop_edit = gtk_menu_button_new ();
- gtk_menu_button_set_popover (GTK_MENU_BUTTON (prop_edit), popover);
-
- sw = gtk_scrolled_window_new ();
- gtk_popover_set_child (GTK_POPOVER (popover), sw);
- g_object_set (sw,
- "hexpand", TRUE,
- "vexpand", TRUE,
- "hscrollbar-policy", GTK_POLICY_NEVER,
- "vscrollbar-policy", GTK_POLICY_NEVER,
- NULL);
-
- g_object_get (object, spec->name, &model, NULL);
-
- if (g_list_model_get_n_items (model) >= 10)
- g_object_set (prop_edit, "vscrollbar-policy", GTK_POLICY_AUTOMATIC, NULL);
-
- box = gtk_list_box_new ();
- gtk_list_box_set_selection_mode (GTK_LIST_BOX (box), GTK_SELECTION_NONE);
- gtk_list_box_bind_model (GTK_LIST_BOX (box), model, create_row, self, NULL);
- g_object_unref (model);
-
- gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (sw), box);
- }
else if (type == G_TYPE_PARAM_OBJECT)
{
GtkWidget *label, *button;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]