diff options
Diffstat (limited to 'modules/calendar')
-rw-r--r-- | modules/calendar/e-cal-shell-content.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/modules/calendar/e-cal-shell-content.c b/modules/calendar/e-cal-shell-content.c index 7a8e659cbb..4409c1fc08 100644 --- a/modules/calendar/e-cal-shell-content.c +++ b/modules/calendar/e-cal-shell-content.c @@ -177,6 +177,9 @@ cal_shell_content_get_focus_location (ECalShellContent *cal_shell_content) if (GNOME_CANVAS (day_view->main_canvas)->focused_item != NULL) return FOCUS_CALENDAR; + if (GTK_WIDGET_HAS_FOCUS (day_view)) + return FOCUS_CALENDAR; + } else if (E_IS_WEEK_VIEW (calendar_view)) { EWeekView *week_view = E_WEEK_VIEW (calendar_view); @@ -186,12 +189,18 @@ cal_shell_content_get_focus_location (ECalShellContent *cal_shell_content) if (GNOME_CANVAS (week_view->main_canvas)->focused_item != NULL) return FOCUS_CALENDAR; + if (GTK_WIDGET_HAS_FOCUS (week_view)) + return FOCUS_CALENDAR; + } else if (E_IS_CAL_LIST_VIEW (calendar_view)) { ECalListView *list_view = E_CAL_LIST_VIEW (widget); table = e_table_scrolled_get_table (list_view->table_scrolled); if (GTK_WIDGET_HAS_FOCUS (table)) return FOCUS_CALENDAR; + + if (GTK_WIDGET_HAS_FOCUS (list_view)) + return FOCUS_CALENDAR; } return FOCUS_OTHER; |