]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-window.c
Fixes bug #542924. Makes enums static to fix Solaris build.
[evince.git] / shell / ev-window.c
index 81efe3d78b83bfc0573b79cebbcf335ac8f22d90..d8d48ab13e39d456c8f89202c8f2e32357503f03 100644 (file)
@@ -68,6 +68,9 @@
 #include "ev-message-area.h"
 #include "ev-mount-operation.h"
 #include "ev-file-monitor.h"
+#ifdef ENABLE_DBUS
+#include "ev-media-player-keys.h"
+#endif /* ENABLE_DBUS */
 
 #include <gtk/gtkprintunixdialog.h>
 
@@ -3231,6 +3234,12 @@ ev_window_cmd_go_previous_page (GtkAction *action, EvWindow *ev_window)
        ev_view_previous_page (EV_VIEW (ev_window->priv->view));
 }
 
+void
+ev_window_go_previous_page (EvWindow *ev_window)
+{
+       ev_window_cmd_go_previous_page (NULL, ev_window);
+}
+
 static void
 ev_window_cmd_go_next_page (GtkAction *action, EvWindow *ev_window)
 {
@@ -3239,6 +3248,12 @@ ev_window_cmd_go_next_page (GtkAction *action, EvWindow *ev_window)
        ev_view_next_page (EV_VIEW (ev_window->priv->view));
 }
 
+void
+ev_window_go_next_page (EvWindow *ev_window)
+{
+       ev_window_cmd_go_next_page (NULL, ev_window);
+}
+
 static void
 ev_window_cmd_go_first_page (GtkAction *action, EvWindow *ev_window)
 {
@@ -3247,6 +3262,12 @@ ev_window_cmd_go_first_page (GtkAction *action, EvWindow *ev_window)
        ev_page_cache_set_current_page (ev_window->priv->page_cache, 0);
 }
 
+void
+ev_window_go_first_page (EvWindow *ev_window)
+{
+       ev_window_cmd_go_first_page (NULL, ev_window);
+}
+
 static void
 ev_window_cmd_go_last_page (GtkAction *action, EvWindow *ev_window)
 {
@@ -3258,6 +3279,12 @@ ev_window_cmd_go_last_page (GtkAction *action, EvWindow *ev_window)
        ev_page_cache_set_current_page (ev_window->priv->page_cache, n_pages - 1);
 }
 
+void
+ev_window_go_last_page (EvWindow *ev_window)
+{
+       ev_window_cmd_go_last_page (NULL, ev_window);
+}
+
 static void
 ev_window_cmd_go_forward (GtkAction *action, EvWindow *ev_window)
 {
@@ -3358,6 +3385,12 @@ ev_window_cmd_start_presentation (GtkAction *action, EvWindow *window)
        ev_window_run_presentation (window);
 }
 
+void
+ev_window_start_presentation (EvWindow *ev_window)
+{
+       ev_window_run_presentation (ev_window);
+}
+
 static gboolean
 ev_window_enumerate_printer_cb (GtkPrinter *printer,
                                EvWindow   *window)
@@ -4101,6 +4134,15 @@ ev_window_dispose (GObject *object)
 {
        EvWindow *window = EV_WINDOW (object);
        EvWindowPrivate *priv = window->priv;
+#ifdef ENABLE_DBUS
+       GObject *keys;
+
+       keys = ev_application_get_media_keys (EV_APP);
+       if (keys) {
+               ev_media_player_keys_focused (EV_MEDIA_PLAYER_KEYS (keys), NULL);
+               g_object_unref (keys);
+       }
+#endif /* ENABLE_DBUS */
 
        if (priv->monitor) {
                g_object_unref (priv->monitor);
@@ -4323,9 +4365,9 @@ static const GtkActionEntry entries[] = {
          G_CALLBACK (ev_window_cmd_edit_find_previous) },
         { "EditToolbar", NULL, N_("T_oolbar"), NULL, NULL,
           G_CALLBACK (ev_window_cmd_edit_toolbar) },
-       { "EditRotateLeft", EV_STOCK_ROTATE_LEFT, N_("Rotate _Left"), NULL, NULL,
+       { "EditRotateLeft", EV_STOCK_ROTATE_LEFT, N_("Rotate _Left"), "<alt>Left", NULL,
          G_CALLBACK (ev_window_cmd_edit_rotate_left) },
-       { "EditRotateRight", EV_STOCK_ROTATE_RIGHT, N_("Rotate _Right"), NULL, NULL,
+       { "EditRotateRight", EV_STOCK_ROTATE_RIGHT, N_("Rotate _Right"), "<alt>Right", NULL,
          G_CALLBACK (ev_window_cmd_edit_rotate_right) },
 
         /* View menu */
@@ -4624,6 +4666,16 @@ sidebar_widget_model_set (EvSidebarLinks *ev_sidebar_links,
 static gboolean
 view_actions_focus_in_cb (GtkWidget *widget, GdkEventFocus *event, EvWindow *window)
 {
+#ifdef ENABLE_DBUS
+       GObject *keys;
+
+       keys = ev_application_get_media_keys (EV_APP);
+       if (keys) {
+               ev_media_player_keys_focused (EV_MEDIA_PLAYER_KEYS (keys), window);
+               g_object_unref (keys);
+       }
+#endif /* ENABLE_DBUS */
+
        update_chrome_flag (window, EV_CHROME_RAISE_TOOLBAR, FALSE);
        ev_window_set_action_sensitive (window, "ViewToolbar", TRUE);