diff --git a/data/appdata/week-view.png b/data/appdata/week-view.png
new file mode 100644
index 00000000..7fde66e3
Binary files /dev/null and b/data/appdata/week-view.png differ
diff --git a/doc/reference/gnome-calendar-decl-list.txt b/doc/reference/gnome-calendar-decl-list.txt
index 22fc847e..fdf0fe86 100644
--- a/doc/reference/gnome-calendar-decl-list.txt
+++ b/doc/reference/gnome-calendar-decl-list.txt
@@ -76,6 +76,13 @@ gcal_application_set_initial_date
GcalApplication
+
+gcal-clock
+GCAL_TYPE_CLOCK
+gcal_clock_new
+GcalClock
+
+
gcal-date-chooser
GcalDateChooserDayOptions
@@ -174,6 +181,7 @@ gcal_event_get_date_start
gcal_event_set_date_start
gcal_event_get_description
gcal_event_set_description
+gcal_event_has_recurrence
gcal_event_has_alarms
gcal_event_get_alarms
gcal_event_add_alarm
@@ -244,6 +252,7 @@ gcal_manager_disable_source
gcal_manager_save_source
gcal_manager_get_events
gcal_manager_get_loading
+gcal_manager_get_clock
gcal_manager_get_goa_client
gcal_manager_get_event_from_shell_search
gcal_manager_setup_shell_search
@@ -475,6 +484,7 @@ format_utc_offset
get_alarm_trigger_minutes
should_change_date_for_scroll
is_source_enabled
+ask_recurrence_modification_type
diff --git a/doc/reference/gnome-calendar-decl.txt b/doc/reference/gnome-calendar-decl.txt
index cc59230d..05e28682 100644
--- a/doc/reference/gnome-calendar-decl.txt
+++ b/doc/reference/gnome-calendar-decl.txt
@@ -358,6 +358,11 @@ GcalEvent *self
GcalEvent *self, const gchar *description
+gcal_event_has_recurrence
+gboolean
+GcalEvent *self
+
+
gcal_event_has_alarms
gboolean
GcalEvent *self
@@ -1196,6 +1201,11 @@ gdouble *scroll_value, GdkEventScroll *scroll_event
gboolean
ESource *source
+
+ask_recurrence_modification_type
+gboolean
+GtkWidget *parent, ECalObjModType *modtype, ESource *source
+
E_TYPE_CAL_DATA_MODEL_SUBSCRIBER
#define E_TYPE_CAL_DATA_MODEL_SUBSCRIBER \
@@ -1360,12 +1370,12 @@ GcalManager *manager, GcalEvent *event
gcal_manager_update_event
void
-GcalManager *manager, GcalEvent *event
+GcalManager *manager, GcalEvent *event, ECalObjModType mod
gcal_manager_remove_event
void
-GcalManager *manager, GcalEvent *event
+GcalManager *manager, GcalEvent *event, ECalObjModType mod
gcal_manager_move_event_to_source
@@ -1403,6 +1413,11 @@ GcalManager *manager, icaltimetype *range_start, icaltimetype
GcalManager *self
+gcal_manager_get_clock
+GcalClock *
+GcalManager *self
+
+
gcal_manager_get_goa_client
GoaClient *
GcalManager *manager
@@ -1743,6 +1758,18 @@ void
GcalShellSearchProvider2SkeletonPrivate
+GCAL_TYPE_CLOCK
+#define GCAL_TYPE_CLOCK (gcal_clock_get_type())
+
+
+gcal_clock_new
+GcalClock *
+void
+
+
+GcalClock
+
+
GCAL_ENABLE_TRACE
# define GCAL_ENABLE_TRACE 0
diff --git a/doc/reference/gnome-calendar-undocumented.txt b/doc/reference/gnome-calendar-undocumented.txt
index cd04da6b..639f570b 100644
--- a/doc/reference/gnome-calendar-undocumented.txt
+++ b/doc/reference/gnome-calendar-undocumented.txt
@@ -1,5 +1,5 @@
-60% symbol docs coverage.
-324 symbols documented.
+61% symbol docs coverage.
+331 symbols documented.
107 symbols incomplete.
214 not documented.
@@ -92,8 +92,8 @@ build_component_from_details (summary, initial_date, final_date)
calendar_get_resource
e_cal_data_model_remove_client (data_model)
e_cal_data_model_subscriber_component_added (comp)
-e_strftime_fix_am_pm (fmt, tm, str, max)
-e_utf8_strftime_fix_am_pm (max, str, fmt, tm)
+e_strftime_fix_am_pm (tm, str, max, fmt)
+e_utf8_strftime_fix_am_pm (fmt, str, max, tm)
fix_popover_menu_icons (popover)
free_row_data (Returns)
gcal_application_get_manager ()
@@ -134,12 +134,12 @@ gcal_event_widget_set_date_start (date_start)
gcal_event_widget_set_has_reminders ()
gcal_event_widget_set_read_only ()
gcal_log_init
-gcal_manager_add_source (backend, name)
+gcal_manager_add_source (name, backend)
gcal_manager_get_default_source
gcal_manager_get_events (range_start, range_end)
gcal_manager_get_goa_client (manager)
gcal_manager_get_shell_search_events (manager)
-gcal_manager_query_client_data (manager, source, field)
+gcal_manager_query_client_data (manager, field, source)
gcal_manager_set_search_subscriber (manager)
gcal_manager_set_shell_search_subscriber (manager)
gcal_manager_set_subscriber (manager)
diff --git a/doc/reference/gnome-calendar-unused.txt b/doc/reference/gnome-calendar-unused.txt
index f29c4557..e67e8799 100644
--- a/doc/reference/gnome-calendar-unused.txt
+++ b/doc/reference/gnome-calendar-unused.txt
@@ -1,3 +1,9 @@
+GCAL_TYPE_CLOCK
+GcalClock
+ask_recurrence_modification_type
+gcal_clock_new
+gcal_event_has_recurrence
+gcal_manager_get_clock
gcal_week_grid_set_date
gcal_week_header_set_date
e_cal_data_model_submit_thread_job(description, alert_ident, alert_arg_0)
diff --git a/doc/reference/gnome-calendar.args b/doc/reference/gnome-calendar.args
index a9dc84a7..1cbdc03d 100644
--- a/doc/reference/gnome-calendar.args
+++ b/doc/reference/gnome-calendar.args
@@ -168,6 +168,16 @@
""
+
+GcalEvent::has-recurrence
+gboolean
+
+r
+If event has recurrence
+Whether the event has recurrence or not.
+FALSE
+
+
GcalEvent::location
gchar*
@@ -248,6 +258,16 @@
+
+GcalManager::clock
+GcalClock*
+
+rw
+Clock
+The internal clock of Calendar.
+
+
+
GcalManager::default-calendar
ESource*
diff --git a/doc/reference/gnome-calendar.hierarchy b/doc/reference/gnome-calendar.hierarchy
index bc548aba..badba47b 100644
--- a/doc/reference/gnome-calendar.hierarchy
+++ b/doc/reference/gnome-calendar.hierarchy
@@ -3,6 +3,7 @@ GObject
GApplication
GtkApplication
GcalApplication
+ GcalClock
GInitiallyUnowned
GtkWidget
GtkContainer
diff --git a/doc/reference/gnome-calendar.signals b/doc/reference/gnome-calendar.signals
index 4626300f..b94b4f8a 100644
--- a/doc/reference/gnome-calendar.signals
+++ b/doc/reference/gnome-calendar.signals
@@ -10,6 +10,27 @@ gchar *arg4
GError *arg5
+
+GcalClock::day-changed
+void
+l
+GcalClock *gcalclock
+
+
+
+GcalClock::hour-changed
+void
+l
+GcalClock *gcalclock
+
+
+
+GcalClock::minute-changed
+void
+l
+GcalClock *gcalclock
+
+
GcalDateChooserDay::selected
void
diff --git a/doc/reference/gnome-calendar.types b/doc/reference/gnome-calendar.types
index 954780f2..0079933f 100644
--- a/doc/reference/gnome-calendar.types
+++ b/doc/reference/gnome-calendar.types
@@ -1,6 +1,7 @@
e_cal_data_model_get_type
e_cal_data_model_subscriber_get_type
gcal_application_get_type
+gcal_clock_get_type
gcal_date_chooser_day_get_type
gcal_date_chooser_get_type
gcal_date_selector_get_type