event-editor/event-editor-dialog: Replace "context" property with context getter method

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/702>
This commit is contained in:
Hari Rana
2026-03-23 19:30:01 +00:00
committed by Marge Bot
parent f44a1ee942
commit 9b4c166a18
2 changed files with 11 additions and 32 deletions
+11 -31
View File
@@ -75,7 +75,6 @@ struct _GcalEventEditorDialog
GMenu *sources_menu;
GcalContext *context;
GcalEvent *event;
GBinding *event_title_binding;
@@ -95,7 +94,6 @@ G_DEFINE_TYPE (GcalEventEditorDialog, gcal_event_editor_dialog, ADW_TYPE_DIALOG)
enum
{
PROP_0,
PROP_CONTEXT,
PROP_EVENT,
PROP_WRITABLE,
N_PROPS
@@ -190,18 +188,20 @@ apply_event_properties_to_template_event (GcalEvent *template_event,
}
static void
setup_context (GcalEventEditorDialog *self)
set_up_context (GcalEventEditorDialog *self)
{
g_autoptr (GtkFlattenListModel) flatten_model = NULL;
g_autoptr (GListModel) writable_calendars = NULL;
g_autoptr (GListStore) all_calendars = NULL;
GcalContext *context;
GcalManager *manager;
GCAL_ENTRY;
g_assert (GCAL_IS_EVENT_EDITOR_DIALOG (self));
manager = gcal_context_get_manager (self->context);
context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION);
manager = gcal_context_get_manager (context);
writable_calendars = gcal_create_writable_calendars_model (manager);
self->read_only_calendar_model = g_list_store_new (GCAL_TYPE_CALENDAR);
@@ -226,9 +226,11 @@ save_event_and_close_dialog (GcalEventEditorDialog *self)
gboolean can_show_mod_all;
gboolean was_recurrent;
gboolean calendar_changed;
GcalContext *context;
gint i;
manager = gcal_context_get_manager (self->context);
context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION);
manager = gcal_context_get_manager (context);
calendar = gcal_event_get_calendar (self->event);
if (gcal_calendar_is_read_only (calendar))
@@ -394,11 +396,13 @@ on_ask_recurrence_response_save_cb (GcalEvent *event,
gpointer user_data)
{
GcalEventEditorDialog *self = GCAL_EVENT_EDITOR_DIALOG (user_data);
GcalContext *context;
GcalManager *manager;
GCAL_ENTRY;
manager = gcal_context_get_manager (self->context);
context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION);
manager = gcal_context_get_manager (context);
switch (mod_type)
{
@@ -476,7 +480,6 @@ gcal_event_editor_dialog_finalize (GObject *object)
g_clear_object (&self->read_only_calendar_model);
g_clear_object (&self->action_group);
g_clear_object (&self->context);
g_clear_object (&self->event);
self->attendees_model = NULL; /* not owned */
@@ -500,10 +503,6 @@ gcal_event_editor_dialog_get_property (GObject *object,
g_value_set_object (value, self->event);
break;
case PROP_CONTEXT:
g_value_set_object (value, self->context);
break;
case PROP_WRITABLE:
g_value_set_boolean (value, self->writable);
break;
@@ -523,13 +522,6 @@ gcal_event_editor_dialog_set_property (GObject *object,
switch (prop_id)
{
case PROP_CONTEXT:
g_assert (self->context == NULL);
self->context = g_value_dup_object (value);
setup_context (self);
g_object_notify_by_pspec (object, properties[PROP_CONTEXT]);
break;
case PROP_WRITABLE:
set_writable (self, g_value_get_boolean (value));
break;
@@ -577,17 +569,6 @@ gcal_event_editor_dialog_class_init (GcalEventEditorDialogClass *klass)
GCAL_TYPE_EVENT,
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/**
* GcalEventEditorDialog::manager:
*
* The #GcalManager of the dialog.
*/
properties[PROP_CONTEXT] = g_param_spec_object ("context",
"Context of the dialog",
"The context of the dialog",
GCAL_TYPE_CONTEXT,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/**
* GcalEventEditorDialog::writable:
*
@@ -645,8 +626,7 @@ gcal_event_editor_dialog_init (GcalEventEditorDialog *self)
self->sections[i++] = self->summary_section;
self->sections[i++] = self->attendees_section;
for (i = 0; i < G_N_ELEMENTS (self->sections); i++)
g_object_bind_property (self, "context", self->sections[i], "context", G_BINDING_DEFAULT);
set_up_context (self);
}
/**
-1
View File
@@ -1225,7 +1225,6 @@ gcal_window_constructed (GObject *object)
* FIXME: this is a hack around the issue that happens when trying to bind
* these properties using the GtkBuilder .ui file.
*/
g_object_bind_property (self, "context", self->event_editor, "context", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
g_object_bind_property (self, "context", self->quick_add_popover, "context", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
g_object_bind_property (self, "context", self->sync_indicator, "context", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
g_object_bind_property (self, "context", self->search_button, "context", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);