[gnome-calendar/gnome-3-36] edit-dialog: Fake a cancel response when moving



commit 37dbc05aa85f19f6e42ac26f0234212055ae2c47
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Jun 17 20:45:12 2020 -0300

    edit-dialog: Fake a cancel response when moving
    
    When moving an event to another calendar, the GcalEvent instance
    that is being held by GcalEditDialog is not valid one. On the other
    hand, moving an event shouldn't trigger an update either.
    
    For now, simply fake a GTK_RESPONSE_CANCEL. In the future, it'll
    be better to move most of the GcalWindow code to GcalEventDialog
    itself.

 src/gui/gcal-edit-dialog.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/src/gui/gcal-edit-dialog.c b/src/gui/gcal-edit-dialog.c
index e49b61aa..46344c9c 100644
--- a/src/gui/gcal-edit-dialog.c
+++ b/src/gui/gcal-edit-dialog.c
@@ -926,11 +926,15 @@ on_action_button_clicked_cb (GtkWidget *widget,
   else
     {
       GcalCalendar *calendar;
+      gint response;
 
       apply_changes_to_event (self);
 
+      response = self->event_is_new ? GCAL_RESPONSE_CREATE_EVENT : GCAL_RESPONSE_SAVE_EVENT;
+
       /* Update the source if needed */
       calendar = gcal_event_get_calendar (self->event);
+
       if (self->selected_calendar && calendar != self->selected_calendar)
         {
           if (self->event_is_new)
@@ -942,14 +946,14 @@ on_action_button_clicked_cb (GtkWidget *widget,
               gcal_manager_move_event_to_source (gcal_context_get_manager (self->context),
                                                  self->event,
                                                  gcal_calendar_get_source (self->selected_calendar));
+              response = GTK_RESPONSE_CANCEL;
             }
         }
 
       self->selected_calendar = NULL;
 
       /* Send the response */
-      gtk_dialog_response (GTK_DIALOG (self),
-                           self->event_is_new ? GCAL_RESPONSE_CREATE_EVENT : GCAL_RESPONSE_SAVE_EVENT);
+      gtk_dialog_response (GTK_DIALOG (self), response);
     }
 
   GCAL_EXIT;


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