[gnome-calendar] window: add more shortcuts



commit 78eb9a7435d4d9df9148f0fc187719c8506ec62f
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Thu Apr 13 07:31:03 2017 -0300

    window: add more shortcuts
    
    Add the following new shortcuts:
    
     - Home: moves to today
     - PageUp: previous week/month/year
     - PageDn: next week/month/year
    
    https://bugzilla.gnome.org/show_bug.cgi?id=740844

 data/ui/help-overlay.ui |    6 +++---
 src/gcal-window.c       |   30 ++++++++++++++++--------------
 2 files changed, 19 insertions(+), 17 deletions(-)
---
diff --git a/data/ui/help-overlay.ui b/data/ui/help-overlay.ui
index 1b92fbc..2f5ef32 100644
--- a/data/ui/help-overlay.ui
+++ b/data/ui/help-overlay.ui
@@ -56,21 +56,21 @@
               <object class="GtkShortcutsShortcut">
                 <property name="visible">True</property>
                 <property name="title" translatable="yes" context="shortcut window">Go back</property>
-                <property name="accelerator">&lt;alt&gt;Left</property>
+                <property name="accelerator">&lt;alt&gt;Left Page_Up</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
                 <property name="visible">True</property>
                 <property name="title" translatable="yes" context="shortcut window">Go forward</property>
-                <property name="accelerator">&lt;alt&gt;Right</property>
+                <property name="accelerator">&lt;alt&gt;Right Page_Down</property>
               </object>
             </child>
             <child>
               <object class="GtkShortcutsShortcut">
                 <property name="visible">True</property>
                 <property name="title" translatable="yes" context="shortcut window">Show today</property>
-                <property name="accelerator">&lt;alt&gt;Down &lt;Primary&gt;T</property>
+                <property name="accelerator">&lt;alt&gt;Down &lt;Primary&gt;T Home</property>
               </object>
             </child>
             <child>
diff --git a/src/gcal-window.c b/src/gcal-window.c
index 89750c9..b0e39fa 100644
--- a/src/gcal-window.c
+++ b/src/gcal-window.c
@@ -176,8 +176,8 @@ enum
 #define FAST_REFRESH_TIMEOUT     900000 /* ms */
 #define SLOW_REFRESH_TIMEOUT     3600000 /* ms */
 
-#define gcal_window_add_accelerator(app,action,accel) {\
-  const gchar *tmp[] = {accel, NULL};\
+#define gcal_window_add_accelerator(app,action,...) {\
+  const gchar *tmp[] = {__VA_ARGS__, NULL};\
   gtk_application_set_accels_for_action (GTK_APPLICATION (app), action, tmp);\
 }
 
@@ -1535,6 +1535,7 @@ gcal_window_class_init(GcalWindowClass *klass)
 static void
 gcal_window_init (GcalWindow *self)
 {
+  GApplication *app;
   GtkBuilder *builder;
   GMenuModel *winmenu;
   GSettings *helper_settings;
@@ -1601,6 +1602,19 @@ gcal_window_init (GcalWindow *self)
 
   self->active_date = g_new0 (icaltimetype, 1);
   self->rtl = gtk_widget_get_direction (GTK_WIDGET (self)) == GTK_TEXT_DIR_RTL;
+
+  /* setup accels */
+  app = g_application_get_default ();
+
+  gcal_window_add_accelerator (app, "win.next",     "<Alt>Right", "Page_Down");
+  gcal_window_add_accelerator (app, "win.previous", "<Alt>Left", "Page_Up");
+  gcal_window_add_accelerator (app, "win.today",    "<Alt>Down", "<Ctrl>t", "Home");
+
+  gcal_window_add_accelerator (app, "win.change-view(-1)", "<Ctrl>Page_Down");
+  gcal_window_add_accelerator (app, "win.change-view(-2)", "<Ctrl>Page_Up");
+  gcal_window_add_accelerator (app, "win.change-view(1)",  "<Ctrl>1")
+  gcal_window_add_accelerator (app, "win.change-view(2)",  "<Ctrl>2");
+  gcal_window_add_accelerator (app, "win.change-view(3)",  "<Ctrl>3");
 }
 
 /* Public API */
@@ -1630,18 +1644,6 @@ gcal_window_new_with_view_and_date (GcalApplication    *app,
                       "active-date", date,
                       NULL);
 
-  /* setup accels */
-  gcal_window_add_accelerator (app, "win.next",     "<Alt>Right");
-  gcal_window_add_accelerator (app, "win.previous", "<Alt>Left");
-  gcal_window_add_accelerator (app, "win.today",    "<Alt>Down");
-  gcal_window_add_accelerator (app, "win.today",    "<Ctrl>t");
-
-  gcal_window_add_accelerator (app, "win.change-view(-1)", "<Ctrl>Page_Down");
-  gcal_window_add_accelerator (app, "win.change-view(-2)", "<Ctrl>Page_Up");
-  gcal_window_add_accelerator (app, "win.change-view(1)",  "<Ctrl>1")
-  gcal_window_add_accelerator (app, "win.change-view(2)",  "<Ctrl>2");
-  gcal_window_add_accelerator (app, "win.change-view(3)",  "<Ctrl>3");
-
   /* loading size */
   load_geometry (win);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]