From 48e86c7f3de896b38b9211f973edc47b1c7167e9 Mon Sep 17 00:00:00 2001 From: Hari Rana Date: Mon, 2 Mar 2026 09:51:24 -0500 Subject: [PATCH] search/search-engine: Replace "context" property with context getter method Part-of: --- src/core/gcal-context.c | 4 +- src/search/gcal-search-engine.c | 79 ++++----------------------------- src/search/gcal-search-engine.h | 2 +- 3 files changed, 12 insertions(+), 73 deletions(-) diff --git a/src/core/gcal-context.c b/src/core/gcal-context.c index f140d17c..91c0e97f 100644 --- a/src/core/gcal-context.c +++ b/src/core/gcal-context.c @@ -164,7 +164,6 @@ gcal_context_constructed (GObject *object) G_OBJECT_CLASS (gcal_context_parent_class)->constructed (object); self->manager = gcal_manager_new (); - self->search_engine = gcal_search_engine_new (self); } static void @@ -466,4 +465,7 @@ gcal_context_startup (GcalContext *self) } gcal_manager_startup (self->manager); + + g_assert_nonnull (g_application_get_default ()); + self->search_engine = gcal_search_engine_new (); } diff --git a/src/search/gcal-search-engine.c b/src/search/gcal-search-engine.c index be66987d..c108a6bf 100644 --- a/src/search/gcal-search-engine.c +++ b/src/search/gcal-search-engine.c @@ -20,7 +20,7 @@ #define G_LOG_DOMAIN "GcalSearchEngine" -#include "gcal-context.h" +#include "gcal-utils.h" #include "gcal-date-time-utils.h" #include "gcal-debug.h" #include "gcal-search-engine.h" @@ -34,21 +34,10 @@ struct _GcalSearchEngine GObject parent; GcalTimeline *timeline; - - GcalContext *context; }; G_DEFINE_TYPE (GcalSearchEngine, gcal_search_engine, G_TYPE_OBJECT) -enum -{ - PROP_0, - PROP_CONTEXT, - N_PROPS -}; - -static GParamSpec *properties [N_PROPS]; - /* * Callbacks @@ -109,7 +98,6 @@ gcal_search_engine_finalize (GObject *object) { GcalSearchEngine *self = (GcalSearchEngine *)object; - g_clear_object (&self->context); g_clear_object (&self->timeline); G_OBJECT_CLASS (gcal_search_engine_parent_class)->finalize (object); @@ -119,6 +107,7 @@ static void gcal_search_engine_constructed (GObject *object) { GcalSearchEngine *self = (GcalSearchEngine *)object; + GcalContext *context; GcalManager *manager; G_OBJECT_CLASS (gcal_search_engine_parent_class)->constructed (object); @@ -126,50 +115,12 @@ gcal_search_engine_constructed (GObject *object) /* Setup the data model */ self->timeline = gcal_timeline_new (); - manager = gcal_context_get_manager (self->context); + context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION); + manager = gcal_context_get_manager (context); g_signal_connect_object (manager, "calendar-added", G_CALLBACK (on_manager_calendar_added_cb), self, 0); g_signal_connect_object (manager, "calendar-removed", G_CALLBACK (on_manager_calendar_removed_cb), self, 0); } -static void -gcal_search_engine_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - GcalSearchEngine *self = GCAL_SEARCH_ENGINE (object); - - switch (prop_id) - { - case PROP_CONTEXT: - g_value_set_object (value, self->context); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - } -} - -static void -gcal_search_engine_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - GcalSearchEngine *self = GCAL_SEARCH_ENGINE (object); - - switch (prop_id) - { - case PROP_CONTEXT: - g_assert (self->context == NULL); - self->context = g_value_dup_object (value); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - } -} - static void gcal_search_engine_class_init (GcalSearchEngineClass *klass) { @@ -177,21 +128,6 @@ gcal_search_engine_class_init (GcalSearchEngineClass *klass) object_class->finalize = gcal_search_engine_finalize; object_class->constructed = gcal_search_engine_constructed; - object_class->get_property = gcal_search_engine_get_property; - object_class->set_property = gcal_search_engine_set_property; - - /** - * GcalSearchEngine::context: - * - * The #GcalContext of the application. - */ - properties[PROP_CONTEXT] = g_param_spec_object ("context", - "Data context", - "Data context", - GCAL_TYPE_CONTEXT, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS); - - g_object_class_install_properties (object_class, N_PROPS, properties); } static void @@ -200,10 +136,9 @@ gcal_search_engine_init (GcalSearchEngine *self) } GcalSearchEngine * -gcal_search_engine_new (GcalContext *context) +gcal_search_engine_new (void) { return g_object_new (GCAL_TYPE_SEARCH_ENGINE, - "context", context, NULL); } @@ -219,12 +154,14 @@ gcal_search_engine_search (GcalSearchEngine *self, g_autoptr (GDateTime) range_end = NULL; g_autoptr (GDateTime) now = NULL; g_autoptr (GTask) task = NULL; + GcalContext *context; GTimeZone *timezone; g_return_if_fail (GCAL_IS_SEARCH_ENGINE (self)); g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable)); - timezone = gcal_context_get_timezone (self->context); + context = gcal_application_get_context (GCAL_DEFAULT_APPLICATION); + timezone = gcal_context_get_timezone (context); now = g_date_time_new_now (timezone); range_start = g_date_time_add_months (now, -N_WEEKDAYS - 1); range_end = g_date_time_add_months (now, N_WEEKDAYS - 1); diff --git a/src/search/gcal-search-engine.h b/src/search/gcal-search-engine.h index 63f2e6a0..879d14f3 100644 --- a/src/search/gcal-search-engine.h +++ b/src/search/gcal-search-engine.h @@ -29,7 +29,7 @@ G_BEGIN_DECLS #define GCAL_TYPE_SEARCH_ENGINE (gcal_search_engine_get_type()) G_DECLARE_FINAL_TYPE (GcalSearchEngine, gcal_search_engine, GCAL, SEARCH_ENGINE, GObject) -GcalSearchEngine* gcal_search_engine_new (GcalContext *context); +GcalSearchEngine* gcal_search_engine_new (void); void gcal_search_engine_search (GcalSearchEngine *self, const gchar *search_query,