]> www.fi.muni.cz Git - evince.git/commitdiff
libview: Use has-entry GtkComboBox instead of GtkComboBoxEntry
authorChristian Persch <chpe@gnome.org>
Sun, 24 Oct 2010 19:21:36 +0000 (21:21 +0200)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 7 Nov 2010 09:26:09 +0000 (10:26 +0100)
libview/ev-view.c

index 892b5017816cfe2dc9aa771701f6e234b6d31ed9..d6b949a49ae752db1e938987f7f3008df66bbdb5 100644 (file)
@@ -2221,14 +2221,14 @@ ev_view_form_field_choice_changed (GtkWidget   *widget,
                        field->changed = TRUE;
                }
 
-               if (GTK_IS_COMBO_BOX_ENTRY (widget)) {
-                       gchar *text;
-                       
-                       text = gtk_combo_box_get_active_text (GTK_COMBO_BOX (widget));
+               if (gtk_combo_box_get_has_entry (GTK_COMBO_BOX (widget))) {
+                       const gchar *text;
+
+                       text = gtk_entry_get_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (widget))));
                        if (!field_choice->text ||
                            (field_choice->text && g_ascii_strcasecmp (field_choice->text, text) != 0)) {
                                g_free (field_choice->text);
-                               field_choice->text = text;
+                               field_choice->text = g_strdup (text);
                                field->changed = TRUE;
                        }
                }
@@ -2335,8 +2335,10 @@ ev_view_form_field_choice_create_widget (EvView      *view,
                                        view);
        } else if (field_choice->is_editable) { /* ComboBoxEntry */
                gchar *text;
-               
-               choice = gtk_combo_box_entry_new_with_model (model, 0);
+
+                /* FIXME once gtk bug 633050 is fixed */
+                choice = g_object_new (GTK_TYPE_COMBO_BOX, "has-entry", TRUE, "model", model, NULL);
+
                text = ev_document_forms_form_field_choice_get_text (EV_DOCUMENT_FORMS (view->document), field);
                if (text) {
                        gtk_entry_set_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (choice))), text);