Code

gtk-tpdfv: Added _get_n_pages() and _get_current_page().
[tpdfview.git] / src / tpdfview.c
index b98332d178032382ac7bfb9fccf30ab9cb474073..e6fee214669f91edc7a8f68fa661d361229ef402 100644 (file)
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 
+/*
+ * Global variables.
+ */
+static gtk_tpdfv_screens_t *screens = NULL;
+
 static void
 exit_usage(char *name, int status)
 {
@@ -181,6 +186,18 @@ key_press(GtkWidget *window, GdkEventKey *event, gpointer data)
                case GDK_Right:
                        gtk_tpdfv_scroll_right(tpdfv);
                        break;
+
+               /* screen management */
+               case GDK_M:
+                       {
+                               gint n_screens = gtk_tpdfv_screens_number(screens);
+                               gint screen = gtk_tpdfv_screens_window_get(screens,
+                                               GTK_WINDOW(window));
+
+                               gtk_tpdfv_screens_window_set(screens,
+                                               GTK_WINDOW(window), (screen + 1) % n_screens);
+                       }
+                       break;
        }
        return FALSE;
 } /* key_press */
@@ -232,6 +249,10 @@ main(int argc, char **argv)
        if (! win)
                return 1;
 
+       screens = gtk_tpdfv_screens_init(/* display = */ NULL);
+       if (! screens)
+               return 1;
+
        snprintf(win_title, sizeof(win_title), "tpdfview: %s",
                        basename(filename));
        gtk_window_set_title(GTK_WINDOW(win), win_title);
@@ -250,6 +271,8 @@ main(int argc, char **argv)
        gtk_widget_show_all(win);
 
        gtk_main();
+
+       gtk_tpdfv_screens_destroy(screens);
        return 0;
 } /* main */