diff options
author | Milan Crha <mcrha@redhat.com> | 2009-08-03 19:32:55 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-08-11 04:36:09 +0800 |
commit | 8d32cc325ad6ce115c683342b7741816a69f41fa (patch) | |
tree | a55fa8ca2454c808e3d8990cc52e44dfc2a8e228 | |
parent | 22355521cd302d9cce088f7cbf27aa300a9dae3e (diff) | |
download | gsoc2013-evolution-8d32cc325ad6ce115c683342b7741816a69f41fa.tar.gz gsoc2013-evolution-8d32cc325ad6ce115c683342b7741816a69f41fa.tar.zst gsoc2013-evolution-8d32cc325ad6ce115c683342b7741816a69f41fa.zip |
Bug #314599 - Recurrence Tab Should Not Default To Forever
Added a GConf schema key definition.
Special value, -1, means forever.
-rw-r--r-- | calendar/gui/apps_evolution_calendar.schemas.in | 12 | ||||
-rw-r--r-- | calendar/gui/calendar-config.c | 2 | ||||
-rw-r--r-- | calendar/gui/dialogs/recurrence-page.c | 4 |
3 files changed, 16 insertions, 2 deletions
diff --git a/calendar/gui/apps_evolution_calendar.schemas.in b/calendar/gui/apps_evolution_calendar.schemas.in index f87c9a2b78..6a3b68a25f 100644 --- a/calendar/gui/apps_evolution_calendar.schemas.in +++ b/calendar/gui/apps_evolution_calendar.schemas.in @@ -587,6 +587,18 @@ </schema> <schema> + <key>/schemas/apps/evolution/calendar/other/def_recur_count</key> + <applyto>/apps/evolution/calendar/other/def_recur_count</applyto> + <owner>evolution-calendar</owner> + <type>int</type> + <default>2</default> + <locale name="C"> + <short>Default recurrence count</short> + <long>Count of default recurrence for a new event. -1 means forever.</long> + </locale> + </schema> + + <schema> <key>/schemas/apps/evolution/calendar/display/day_view_show_week_number</key> <applyto>/apps/evolution/calendar/display/day_view_show_week_number</applyto> <owner>evolution-calendar</owner> diff --git a/calendar/gui/calendar-config.c b/calendar/gui/calendar-config.c index 4a727f486a..088e0703cd 100644 --- a/calendar/gui/calendar-config.c +++ b/calendar/gui/calendar-config.c @@ -1017,7 +1017,7 @@ calendar_config_get_default_count (void) calendar_config_init (); res = gconf_client_get_int (config, CALENDAR_CONFIG_DEF_RECUR_COUNT, NULL); - if (res <= 0) + if (res <= 0 && res != -1) res = 2; return res; diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c index 4368e98209..ca53a41737 100644 --- a/calendar/gui/dialogs/recurrence-page.c +++ b/calendar/gui/dialogs/recurrence-page.c @@ -437,9 +437,11 @@ clear_widgets (RecurrencePage *rpage) g_signal_handlers_block_matched (priv->ending_combo, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, rpage); e_dialog_combo_box_set (priv->ending_combo, - ENDING_FOR, + priv->ending_count == -1 ? ENDING_FOREVER : ENDING_FOR, ending_types_map); g_signal_handlers_unblock_matched (priv->ending_combo, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, rpage); + if (priv->ending_count == -1) + priv->ending_count = 2; make_ending_special (rpage); /* Exceptions list */ e_date_time_list_clear (priv->exception_list_store); |