]> www.fi.muni.cz Git - evince.git/blobdiff - libmisc/ev-page-action-widget.c
Update page action when entry text changes but not current page
[evince.git] / libmisc / ev-page-action-widget.c
index 2b29e785ddcbc6300db4c750a50dea79981c85a7..a355187100b05c0c594b35e2726d141cc67f4df8 100644 (file)
@@ -132,6 +132,10 @@ activate_cb (EvPageActionWidget *action_widget)
        EvLinkAction *link_action;
        EvLink *link;
        gchar *link_text;
+       gint current_page;
+
+       model = action_widget->doc_model;
+       current_page = ev_document_model_get_page (model);
 
        text = gtk_entry_get_text (GTK_ENTRY (action_widget->entry));
 
@@ -145,14 +149,8 @@ activate_cb (EvPageActionWidget *action_widget)
        g_object_unref (link);
        g_free (link_text);
 
-       /* rest the entry to the current page if we were unable to
-        * change it */
-       model = action_widget->doc_model;
-       page_label = ev_document_get_page_label (action_widget->document,
-                                                ev_document_model_get_page (model));
-       gtk_entry_set_text (GTK_ENTRY (action_widget->entry), page_label);
-       gtk_editable_set_position (GTK_EDITABLE (action_widget->entry), -1);
-       g_free (page_label);
+       if (current_page == ev_document_model_get_page (model))
+               ev_page_action_widget_set_current_page (action_widget, current_page);
 }
 
 static void