]> www.fi.muni.cz Git - evince.git/blobdiff - ps/ps-document.c
expand the selection widget to be always as wide as the sidebar
[evince.git] / ps / ps-document.c
index fda942b25ed36d6b0c44168b56bd421ca20f95ba..dea5ddf5ac63743d73ed851efc64bd26fdb1a05c 100644 (file)
@@ -1678,7 +1678,8 @@ ps_document_set_zoom(PSDocument * gs, gfloat zoom)
     set_up_page(gs);
     gs->changed = TRUE;
   }
-
+  
+  gs->scaling = TRUE;
   ps_document_goto_page(gs, gs->current_page);
 }
 
@@ -1734,7 +1735,7 @@ static void
 ps_document_set_page (EvDocument  *document,
                       int          page)
 {
-       ps_document_goto_page (PS_DOCUMENT (document), page);
+       ps_document_goto_page (PS_DOCUMENT (document), page - 1);
 }
 
 static int
@@ -1744,7 +1745,7 @@ ps_document_get_page (EvDocument  *document)
 
        g_return_val_if_fail (ps != NULL, -1);
 
-       return ps->current_page;
+       return ps->current_page + 1;
 }
 
 static gboolean
@@ -1760,7 +1761,13 @@ ps_document_widget_event (GtkWidget *widget, GdkEvent *event, gpointer data)
        if (event->client.message_type == gs_class->page_atom) {
                LOG ("GS rendered the document");
                gs->busy = FALSE;
-               ev_document_changed (EV_DOCUMENT (gs));
+
+               if (gs->scaling) {
+                       ev_document_scale_changed (EV_DOCUMENT (gs));
+                       gs->scaling = FALSE;
+               } else {
+                       ev_document_page_changed (EV_DOCUMENT (gs));
+               }
        }
 
        return TRUE;