commit e0a2e6db6f5e0c6a20aa46cc39a2e6cda5b269b3
Author: Amandeep Singh <newtodisworld@yandex.com>
Date:   Fri Sep 22 11:35:58 2017 +0530

    edit-dialog: Event's time is off by local Timezone for non-all day events
    
    Whenever user toggles the all day check, the timezone event should be
    changed accordingly to utc or lmt

diff --git a/src/gcal-edit-dialog.c b/src/gcal-edit-dialog.c
index 9ea1759..7548385 100644
--- a/src/gcal-edit-dialog.c
+++ b/src/gcal-edit-dialog.c
@@ -471,20 +471,6 @@ action_button_clicked (GtkWidget *widget,
 
       gcal_event_set_all_day (dialog->event, all_day);
 
-      /* By definition, all day events are always UTC */
-      if (all_day)
-        {
-          GTimeZone *utc = g_time_zone_new_utc ();
-
-          gcal_event_set_timezone (dialog->event, utc);
-
-          g_clear_pointer (&utc, g_time_zone_unref);
-        }
-
-      /*
-       * Update start & end dates. The dates are already translated to the current
-       * timezone.
-       */
       start_date = gcal_edit_dialog_get_date_start (dialog);
       end_date = gcal_edit_dialog_get_date_end (dialog);
 
@@ -625,9 +611,13 @@ all_day_changed_cb (GtkToggleButton *button,
                     GcalEditDialog  *self)
 {
   gboolean active = gtk_toggle_button_get_active (button);
+  GTimeZone *tz;
 
+  tz  = active ? g_time_zone_new_utc () : g_time_zone_new_local ();
+  gcal_event_set_timezone (self->event, tz);
   gtk_widget_set_sensitive (self->start_time_selector, !active);
   gtk_widget_set_sensitive (self->end_time_selector, !active);
+  g_clear_pointer (&tz, g_time_zone_unref);
 }
 
 
