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
|
static void
|
||||||
clear_and_hide_dialog (GcalEventEditorDialog *self)
|
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));
|
gtk_widget_hide (GTK_WIDGET (self));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -459,7 +459,7 @@ gcal_event_editor_dialog_set_property (GObject *object,
|
|||||||
switch (prop_id)
|
switch (prop_id)
|
||||||
{
|
{
|
||||||
case PROP_EVENT:
|
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;
|
break;
|
||||||
|
|
||||||
case PROP_CONTEXT:
|
case PROP_CONTEXT:
|
||||||
@@ -593,23 +593,6 @@ gcal_event_editor_dialog_new (void)
|
|||||||
return g_object_new (GCAL_TYPE_EVENT_EDITOR_DIALOG, NULL);
|
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:
|
* gcal_event_editor_dialog_set_event:
|
||||||
* @dialog: a #GcalDialog
|
* @dialog: a #GcalDialog
|
||||||
@@ -620,7 +603,8 @@ gcal_event_editor_dialog_set_event_is_new (GcalEventEditorDialog *self,
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gcal_event_editor_dialog_set_event (GcalEventEditorDialog *self,
|
gcal_event_editor_dialog_set_event (GcalEventEditorDialog *self,
|
||||||
GcalEvent *event)
|
GcalEvent *event,
|
||||||
|
gboolean new_event)
|
||||||
{
|
{
|
||||||
g_autoptr (GcalEvent) cloned_event = NULL;
|
g_autoptr (GcalEvent) cloned_event = NULL;
|
||||||
GcalEventEditorFlags flags;
|
GcalEventEditorFlags flags;
|
||||||
@@ -671,10 +655,13 @@ gcal_event_editor_dialog_set_event (GcalEventEditorDialog *self,
|
|||||||
|
|
||||||
set_writable (self, !gcal_calendar_is_read_only (calendar));
|
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:
|
out:
|
||||||
flags = GCAL_EVENT_EDITOR_FLAG_NONE;
|
flags = GCAL_EVENT_EDITOR_FLAG_NONE;
|
||||||
|
|
||||||
if (self->event_is_new)
|
if (new_event)
|
||||||
flags |= GCAL_EVENT_EDITOR_FLAG_NEW_EVENT;
|
flags |= GCAL_EVENT_EDITOR_FLAG_NEW_EVENT;
|
||||||
|
|
||||||
for (i = 0; i < G_N_ELEMENTS (self->sections); i++)
|
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);
|
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,
|
void gcal_event_editor_dialog_set_event (GcalEventEditorDialog *self,
|
||||||
GcalEvent *event);
|
GcalEvent *event,
|
||||||
|
gboolean new_event);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
+4
-10
@@ -392,8 +392,7 @@ on_window_new_event_cb (GSimpleAction *action,
|
|||||||
default_calendar = gcal_manager_get_default_calendar (manager);
|
default_calendar = gcal_manager_get_default_calendar (manager);
|
||||||
event = gcal_event_new (default_calendar, comp, NULL);
|
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, TRUE);
|
||||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (self->event_editor), event);
|
|
||||||
|
|
||||||
gtk_widget_show (self->event_editor);
|
gtk_widget_show (self->event_editor);
|
||||||
}
|
}
|
||||||
@@ -610,9 +609,7 @@ edit_event (GcalQuickAddPopover *popover,
|
|||||||
GcalEvent *event,
|
GcalEvent *event,
|
||||||
GcalWindow *window)
|
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, TRUE);
|
||||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), event);
|
|
||||||
|
|
||||||
gtk_widget_show (window->event_editor);
|
gtk_widget_show (window->event_editor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -633,9 +630,7 @@ create_event_detailed_cb (GcalView *view,
|
|||||||
default_calendar = gcal_manager_get_default_calendar (manager);
|
default_calendar = gcal_manager_get_default_calendar (manager);
|
||||||
event = gcal_event_new (default_calendar, comp, NULL);
|
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, TRUE);
|
||||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), event);
|
|
||||||
|
|
||||||
gtk_widget_show (window->event_editor);
|
gtk_widget_show (window->event_editor);
|
||||||
|
|
||||||
g_clear_object (&comp);
|
g_clear_object (&comp);
|
||||||
@@ -650,8 +645,7 @@ event_activated (GcalView *view,
|
|||||||
GcalEvent *event;
|
GcalEvent *event;
|
||||||
|
|
||||||
event = gcal_event_widget_get_event (event_widget);
|
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, FALSE);
|
||||||
gcal_event_editor_dialog_set_event (GCAL_EVENT_EDITOR_DIALOG (window->event_editor), event);
|
|
||||||
|
|
||||||
gtk_widget_show (window->event_editor);
|
gtk_widget_show (window->event_editor);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user