diff options
author | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2015-06-04 15:44:48 -0300 |
---|---|---|
committer | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2015-06-04 15:44:48 -0300 |
commit | 1f666ba40527363e6777e7817ca4e5ce290ba437 (patch) | |
tree | 725bbbbc8fadd2721605223edacc1502ba1fc08e | |
parent | 5381dc77a4abe12dce9f0c8b240237aad4c02b65 (diff) | |
download | gnome-calendar-wip/keyboard-navigation.tar.gz |
window: move forward/backward according to localewip/keyboard-navigation
-rw-r--r-- | src/gcal-window.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gcal-window.c b/src/gcal-window.c index 5cd4bb9a..a0d89cc9 100644 --- a/src/gcal-window.c +++ b/src/gcal-window.c @@ -97,6 +97,7 @@ typedef struct icaltimetype *active_date; icaltimetype *current_date; + gboolean rtl; /* states */ gboolean new_event_mode; @@ -429,8 +430,10 @@ date_updated (GtkButton *button, icaltimetype *new_date; gboolean move_back, move_today; + gint factor; priv = gcal_window_get_instance_private (GCAL_WINDOW (user_data)); + factor = priv->rtl ? - 1 : 1; move_today = priv->today_button == (GtkWidget*) button; move_back = priv->back_button == (GtkWidget*) button; @@ -446,17 +449,17 @@ date_updated (GtkButton *button, switch (priv->active_view) { case GCAL_WINDOW_VIEW_DAY: - new_date->day += 1 * (move_back ? -1 : 1); + new_date->day += 1 * factor * (move_back ? -1 : 1); break; case GCAL_WINDOW_VIEW_WEEK: - new_date->day += 7 * (move_back ? -1 : 1); + new_date->day += 7 * factor * (move_back ? -1 : 1); break; case GCAL_WINDOW_VIEW_MONTH: new_date->day = 1; - new_date->month += 1 * (move_back ? -1 : 1); + new_date->month += 1 * factor * (move_back ? -1 : 1); break; case GCAL_WINDOW_VIEW_YEAR: - new_date->year += 1 * (move_back ? -1 : 1); + new_date->year += 1 * factor * (move_back ? -1 : 1); break; case GCAL_WINDOW_VIEW_LIST: case GCAL_WINDOW_VIEW_SEARCH: @@ -1410,6 +1413,7 @@ gcal_window_init (GcalWindow *self) GcalWindowPrivate *priv = gcal_window_get_instance_private (self); priv->active_date = g_new0 (icaltimetype, 1); + priv->rtl = gtk_widget_get_direction (GTK_WIDGET (self)) == GTK_TEXT_DIR_RTL; gtk_widget_init_template (GTK_WIDGET (self)); } |