event-editor-dialog: Unify set_event and set_event_is_new
The split is annoying, and a relic of time.
This commit is contained in:
@@ -208,7 +208,7 @@ set_writable (GcalEventEditorDialog *self,
|
||||
static void
|
||||
clear_and_hide_dialog (GcalEventEditorDialog *self)
|
||||
{
|
||||
gcal_event_editor_dialog_set_event (self, NULL);
|
||||
gcal_event_editor_dialog_set_event (self, NULL, FALSE);
|
||||
gtk_widget_hide (GTK_WIDGET (self));
|
||||
}
|
||||
|
||||
@@ -459,7 +459,7 @@ gcal_event_editor_dialog_set_property (GObject *object,
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_EVENT:
|
||||
gcal_event_editor_dialog_set_event (self, g_value_get_object (value));
|
||||
gcal_event_editor_dialog_set_event (self, g_value_get_object (value), FALSE);
|
||||
break;
|
||||
|
||||
case PROP_CONTEXT:
|
||||
@@ -593,23 +593,6 @@ gcal_event_editor_dialog_new (void)
|
||||
return g_object_new (GCAL_TYPE_EVENT_EDITOR_DIALOG, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* gcal_event_editor_dialog_set_event_is_new:
|
||||
* @dialog: a #GcalDialog
|
||||
* @event_is_new: %TRUE if the event is new, %FALSE otherwise
|
||||
*
|
||||
* Sets whether the currently edited event is a new event, or not.
|
||||
* The @dialog will adapt it's UI elements to reflect that.
|
||||
*/
|
||||
void
|
||||
gcal_event_editor_dialog_set_event_is_new (GcalEventEditorDialog *self,
|
||||
gboolean event_is_new)
|
||||
{
|
||||
self->event_is_new = event_is_new;
|
||||
|
||||
gtk_widget_set_visible (self->delete_button, !event_is_new);
|
||||
}
|
||||
|
||||
/**
|
||||
* gcal_event_editor_dialog_set_event:
|
||||
* @dialog: a #GcalDialog
|
||||
@@ -620,7 +603,8 @@ gcal_event_editor_dialog_set_event_is_new (GcalEventEditorDialog *self,
|
||||
*/
|
||||
void
|
||||
gcal_event_editor_dialog_set_event (GcalEventEditorDialog *self,
|
||||
GcalEvent *event)
|
||||
GcalEvent *event,
|
||||
gboolean new_event)
|
||||
{
|
||||
g_autoptr (GcalEvent) cloned_event = NULL;
|
||||
GcalEventEditorFlags flags;
|
||||
@@ -671,10 +655,13 @@ gcal_event_editor_dialog_set_event (GcalEventEditorDialog *self,
|
||||
|
||||
set_writable (self, !gcal_calendar_is_read_only (calendar));
|
||||
|
||||
self->event_is_new = new_event;
|
||||
gtk_widget_set_visible (self->delete_button, !new_event);
|
||||
|
||||
out:
|
||||
flags = GCAL_EVENT_EDITOR_FLAG_NONE;
|
||||
|
||||
if (self->event_is_new)
|
||||
if (new_event)
|
||||
flags |= GCAL_EVENT_EDITOR_FLAG_NEW_EVENT;
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS (self->sections); i++)
|
||||
|
||||
@@ -30,10 +30,8 @@ G_DECLARE_FINAL_TYPE (GcalEventEditorDialog, gcal_event_editor_dialog, GCAL, EVE
|
||||
|
||||
GtkWidget* gcal_event_editor_dialog_new (void);
|
||||
|
||||
void gcal_event_editor_dialog_set_event_is_new (GcalEventEditorDialog *dialog,
|
||||
gboolean event_is_new);
|
||||
|
||||
void gcal_event_editor_dialog_set_event (GcalEventEditorDialog *self,
|
||||
GcalEvent *event);
|
||||
GcalEvent *event,
|
||||
gboolean new_event);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
+4
-10
@@ -392,8 +392,7 @@ on_window_new_event_cb (GSimpleAction *action,
|
||||
default_calendar = gcal_manager_get_default_calendar (manager);
|
||||
event = gcal_event_new (default_calendar, comp, NULL);
|
||||
|
||||
gcal_event_editor_dialog_set_event_is_new (GCAL_EVENT_EDITOR_DIALOG (self->event_editor), TRUE);
|
||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (self->event_editor), event);
|
||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (self->event_editor), event, TRUE);
|
||||
|
||||
gtk_widget_show (self->event_editor);
|
||||
}
|
||||
@@ -610,9 +609,7 @@ edit_event (GcalQuickAddPopover *popover,
|
||||
GcalEvent *event,
|
||||
GcalWindow *window)
|
||||
{
|
||||
gcal_event_editor_dialog_set_event_is_new (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), TRUE);
|
||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), event);
|
||||
|
||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), event, TRUE);
|
||||
gtk_widget_show (window->event_editor);
|
||||
}
|
||||
|
||||
@@ -633,9 +630,7 @@ create_event_detailed_cb (GcalView *view,
|
||||
default_calendar = gcal_manager_get_default_calendar (manager);
|
||||
event = gcal_event_new (default_calendar, comp, NULL);
|
||||
|
||||
gcal_event_editor_dialog_set_event_is_new (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), TRUE);
|
||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), event);
|
||||
|
||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), event, TRUE);
|
||||
gtk_widget_show (window->event_editor);
|
||||
|
||||
g_clear_object (&comp);
|
||||
@@ -650,8 +645,7 @@ event_activated (GcalView *view,
|
||||
GcalEvent *event;
|
||||
|
||||
event = gcal_event_widget_get_event (event_widget);
|
||||
gcal_event_editor_dialog_set_event_is_new (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), FALSE);
|
||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), event);
|
||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), event, FALSE);
|
||||
|
||||
gtk_widget_show (window->event_editor);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user