[california/wip/732930-explain: 8/8] Merge branch 'master' into wip/732930-explain



commit b4988f508df5257323cb55d6cec19c0ddaa106dd
Merge: f54c747 c873fbc
Author: Jim Nelson <jim yorba org>
Date:   Fri Sep 5 15:10:15 2014 -0700

    Merge branch 'master' into wip/732930-explain

 .../backing-calendar-source-subscription.vala      |   30 ++++++++++--
 .../backing-eds-calendar-source-subscription.vala  |   53 +++++++++++++-------
 src/component/component-details-parser.vala        |   12 ++++-
 src/host/host-create-update-recurring.vala         |   14 ++++-
 src/host/host-main-window.vala                     |   40 ++++++++-------
 src/host/host-quick-create-event.vala              |   15 +++++-
 src/host/host-show-event.vala                      |   13 +++++
 src/rc/quick-create-event.ui                       |   42 ++++++++++++++-
 src/tests/tests-quick-add-recurring.vala           |   44 +++++++++++++++-
 src/toolkit/toolkit-deck-window.vala               |    1 +
 10 files changed, 212 insertions(+), 52 deletions(-)
---
diff --cc src/host/host-create-update-recurring.vala
index 09b905c,48683ee..ad49c4a
--- a/src/host/host-create-update-recurring.vala
+++ b/src/host/host-create-update-recurring.vala
@@@ -254,12 -243,18 +254,20 @@@ public class CreateUpdateRecurring : Gt
          start_date = event_span.start_date;
          end_date = event_span.end_date;
          
-         // Clear all "On days" checkboxes for sanity's sake
-         foreach (Gtk.CheckButton checkbutton in on_day_checkbuttons.values)
-             checkbutton.active = false;
+         // Clear all "On days" checkboxes for sanity's sake except for the start day of this event
+         // (iff it is a single-day event -- multiday events get hairy -- and this is a new RRULE,
+         // not an existing one)
+         foreach (Calendar.DayOfWeek dow in on_day_checkbuttons.keys) {
+             Gtk.CheckButton checkbutton = on_day_checkbuttons[dow];
+             
+             if (master.rrule == null && event_span.is_same_day && start_date.day_of_week.equal_to(dow))
+                 checkbutton.active = true;
+             else
+                 checkbutton.active = false;
+         }
          
 +        update_explanation(master.rrule, master.get_event_date_span(Calendar.Timezone.local).start_date);
 +        
          // set remaining defaults if not a recurring event
          if (master.rrule == null) {
              repeats_combobox.active = Repeats.DAILY;


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