diff options
author | Matthias Clasen <mclasen@redhat.com> | 2022-10-22 08:25:27 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-10-22 08:43:05 -0400 |
commit | 9dfa663990e19cd745ceef2974cc297d63b59371 (patch) | |
tree | 7f34aeccce288ba1a61fc16b3bca43c95eec1108 | |
parent | 831b1e1cdebe4baab3a6685c0a06f7d00c940c2a (diff) | |
download | gtk+-dropdown-strings.tar.gz |
filechooser: Use dropdown convenience apidropdown-strings
No need to do things the hard way.
-rw-r--r-- | gtk/gtkfilechooserwidget.c | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index 08220387d5..0066fa94b8 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -7338,8 +7338,6 @@ gtk_file_chooser_widget_add_choice (GtkFileChooser *chooser, gtk_box_append (GTK_BOX (box), gtk_label_new (label)); combo = gtk_drop_down_new_from_strings ((const char * const *)option_labels); - g_object_set_data_full (G_OBJECT (combo), "options", - g_strdupv ((char **)options), (GDestroyNotify)g_strfreev); g_hash_table_insert (impl->choices, g_strdup (id), combo); gtk_box_append (GTK_BOX (box), combo); @@ -7396,21 +7394,8 @@ gtk_file_chooser_widget_set_choice (GtkFileChooser *chooser, if (GTK_IS_BOX (widget)) { - guint i; - const char **options; - GtkWidget *dropdown; - - dropdown = gtk_widget_get_last_child (widget); - - options = (const char **) g_object_get_data (G_OBJECT (dropdown), "options"); - for (i = 0; options[i]; i++) - { - if (strcmp (option, options[i]) == 0) - { - gtk_drop_down_set_selected (GTK_DROP_DOWN (dropdown), i); - break; - } - } + GtkWidget *dropdown = gtk_widget_get_last_child (widget); + gtk_drop_down_set_selected_string (GTK_DROP_DOWN (dropdown), option); } else if (GTK_IS_CHECK_BUTTON (widget)) gtk_check_button_set_active (GTK_CHECK_BUTTON (widget), g_str_equal (option, "true")); @@ -7428,19 +7413,9 @@ gtk_file_chooser_widget_get_choice (GtkFileChooser *chooser, widget = (GtkWidget *)g_hash_table_lookup (impl->choices, id); if (GTK_IS_DROP_DOWN (widget)) - { - const char **options; - guint selected; - - options = (const char **) g_object_get_data (G_OBJECT (widget), "options"); - selected = gtk_drop_down_get_selected (GTK_DROP_DOWN (widget)); - - return options[selected]; - } + return gtk_drop_down_get_selected_string (GTK_DROP_DOWN (widget)); else if (GTK_IS_CHECK_BUTTON (widget)) - { - return gtk_check_button_get_active (GTK_CHECK_BUTTON (widget)) ? "true" : "false"; - } + return gtk_check_button_get_active (GTK_CHECK_BUTTON (widget)) ? "true" : "false"; return NULL; } |