manager: Move GSettings to GcalContext
This commit is contained in:
@@ -28,6 +28,7 @@ struct _GcalContext
|
|||||||
|
|
||||||
GcalClock *clock;
|
GcalClock *clock;
|
||||||
GcalManager *manager;
|
GcalManager *manager;
|
||||||
|
GSettings *settings;
|
||||||
GcalWeatherService *weather_service;
|
GcalWeatherService *weather_service;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -38,6 +39,7 @@ enum
|
|||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_CLOCK,
|
PROP_CLOCK,
|
||||||
PROP_MANAGER,
|
PROP_MANAGER,
|
||||||
|
PROP_SETTINGS,
|
||||||
PROP_WEATHER_SERVICE,
|
PROP_WEATHER_SERVICE,
|
||||||
N_PROPS
|
N_PROPS
|
||||||
};
|
};
|
||||||
@@ -79,6 +81,10 @@ gcal_context_get_property (GObject *object,
|
|||||||
g_value_set_object (value, self->manager);
|
g_value_set_object (value, self->manager);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PROP_SETTINGS:
|
||||||
|
g_value_set_object (value, self->settings);
|
||||||
|
break;
|
||||||
|
|
||||||
case PROP_WEATHER_SERVICE:
|
case PROP_WEATHER_SERVICE:
|
||||||
g_value_set_object (value, self->weather_service);
|
g_value_set_object (value, self->weather_service);
|
||||||
break;
|
break;
|
||||||
@@ -98,6 +104,7 @@ gcal_context_set_property (GObject *object,
|
|||||||
{
|
{
|
||||||
case PROP_CLOCK:
|
case PROP_CLOCK:
|
||||||
case PROP_MANAGER:
|
case PROP_MANAGER:
|
||||||
|
case PROP_SETTINGS:
|
||||||
case PROP_WEATHER_SERVICE:
|
case PROP_WEATHER_SERVICE:
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
@@ -125,6 +132,12 @@ gcal_context_class_init (GcalContextClass *klass)
|
|||||||
GCAL_TYPE_MANAGER,
|
GCAL_TYPE_MANAGER,
|
||||||
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
|
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
|
properties[PROP_SETTINGS] = g_param_spec_object ("settings",
|
||||||
|
"GNOME Calendar settings",
|
||||||
|
"GNOME Calendar settings",
|
||||||
|
G_TYPE_SETTINGS,
|
||||||
|
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
|
||||||
|
|
||||||
properties[PROP_WEATHER_SERVICE] = g_param_spec_object ("weather-service",
|
properties[PROP_WEATHER_SERVICE] = g_param_spec_object ("weather-service",
|
||||||
"Weather service",
|
"Weather service",
|
||||||
"Weather service",
|
"Weather service",
|
||||||
@@ -139,6 +152,7 @@ gcal_context_init (GcalContext *self)
|
|||||||
{
|
{
|
||||||
self->clock = gcal_clock_new ();
|
self->clock = gcal_clock_new ();
|
||||||
self->manager = gcal_manager_new ();
|
self->manager = gcal_manager_new ();
|
||||||
|
self->settings = g_settings_new ("org.gnome.calendar");
|
||||||
self->weather_service = gcal_weather_service_new ();
|
self->weather_service = gcal_weather_service_new ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,6 +200,21 @@ gcal_context_get_manager (GcalContext *self)
|
|||||||
return self->manager;
|
return self->manager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gcal_context_get_settings:
|
||||||
|
*
|
||||||
|
* Retrieves the #GSettings from @self.
|
||||||
|
*
|
||||||
|
* Returns: (transfer none): a #GSettings
|
||||||
|
*/
|
||||||
|
GSettings*
|
||||||
|
gcal_context_get_settings (GcalContext *self)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (GCAL_IS_CONTEXT (self), NULL);
|
||||||
|
|
||||||
|
return self->settings;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gcal_context_get_weather_service:
|
* gcal_context_get_weather_service:
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ GcalClock* gcal_context_get_clock (GcalContext
|
|||||||
|
|
||||||
GcalManager* gcal_context_get_manager (GcalContext *self);
|
GcalManager* gcal_context_get_manager (GcalContext *self);
|
||||||
|
|
||||||
|
GSettings* gcal_context_get_settings (GcalContext *self);
|
||||||
|
|
||||||
GcalWeatherService* gcal_context_get_weather_service (GcalContext *self);
|
GcalWeatherService* gcal_context_get_weather_service (GcalContext *self);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
@@ -96,9 +96,6 @@ struct _GcalManager
|
|||||||
|
|
||||||
/* timezone */
|
/* timezone */
|
||||||
icaltimezone *system_timezone;
|
icaltimezone *system_timezone;
|
||||||
|
|
||||||
/* property */
|
|
||||||
GSettings *settings;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE (GcalManager, gcal_manager, G_TYPE_OBJECT)
|
G_DEFINE_TYPE (GcalManager, gcal_manager, G_TYPE_OBJECT)
|
||||||
@@ -108,7 +105,6 @@ enum
|
|||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_DEFAULT_CALENDAR,
|
PROP_DEFAULT_CALENDAR,
|
||||||
PROP_LOADING,
|
PROP_LOADING,
|
||||||
PROP_SETTINGS,
|
|
||||||
NUM_PROPS
|
NUM_PROPS
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -773,7 +769,6 @@ gcal_manager_finalize (GObject *object)
|
|||||||
|
|
||||||
GCAL_ENTRY;
|
GCAL_ENTRY;
|
||||||
|
|
||||||
g_clear_object (&self->settings);
|
|
||||||
g_clear_object (&self->goa_client);
|
g_clear_object (&self->goa_client);
|
||||||
g_clear_object (&self->e_data_model);
|
g_clear_object (&self->e_data_model);
|
||||||
g_clear_object (&self->search_data_model);
|
g_clear_object (&self->search_data_model);
|
||||||
@@ -845,10 +840,6 @@ gcal_manager_get_property (GObject *object,
|
|||||||
g_value_set_boolean (value, gcal_manager_get_loading (self));
|
g_value_set_boolean (value, gcal_manager_get_loading (self));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_SETTINGS:
|
|
||||||
g_value_set_object (value, self->settings);
|
|
||||||
return;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
}
|
}
|
||||||
@@ -889,17 +880,6 @@ gcal_manager_class_init (GcalManagerClass *klass)
|
|||||||
TRUE,
|
TRUE,
|
||||||
G_PARAM_READABLE);
|
G_PARAM_READABLE);
|
||||||
|
|
||||||
/**
|
|
||||||
* GcalManager:settings:
|
|
||||||
*
|
|
||||||
* The settings.
|
|
||||||
*/
|
|
||||||
properties[PROP_SETTINGS] = g_param_spec_object ("settings",
|
|
||||||
"Application settings",
|
|
||||||
"The settings of the application passed down from GcalApplication",
|
|
||||||
G_TYPE_SETTINGS,
|
|
||||||
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
|
|
||||||
|
|
||||||
g_object_class_install_properties (object_class, NUM_PROPS, properties);
|
g_object_class_install_properties (object_class, NUM_PROPS, properties);
|
||||||
|
|
||||||
/* signals */
|
/* signals */
|
||||||
@@ -949,7 +929,6 @@ gcal_manager_class_init (GcalManagerClass *klass)
|
|||||||
static void
|
static void
|
||||||
gcal_manager_init (GcalManager *self)
|
gcal_manager_init (GcalManager *self)
|
||||||
{
|
{
|
||||||
self->settings = g_settings_new ("org.gnome.calendar");
|
|
||||||
self->system_timezone = e_cal_util_get_system_timezone ();
|
self->system_timezone = e_cal_util_get_system_timezone ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -967,22 +946,6 @@ gcal_manager_new (void)
|
|||||||
return g_object_new (GCAL_TYPE_MANAGER, NULL);
|
return g_object_new (GCAL_TYPE_MANAGER, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* gcal_manager_get_settings:
|
|
||||||
* @self: a #GcalManager
|
|
||||||
*
|
|
||||||
* Retrieves the #GSetting of @self.
|
|
||||||
*
|
|
||||||
* Returns: (transfer none): a #GSettings
|
|
||||||
*/
|
|
||||||
GSettings*
|
|
||||||
gcal_manager_get_settings (GcalManager *self)
|
|
||||||
{
|
|
||||||
g_return_val_if_fail (GCAL_IS_MANAGER (self), NULL);
|
|
||||||
|
|
||||||
return self->settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gcal_manager_get_source:
|
* gcal_manager_get_source:
|
||||||
* @self: a #GcalManager
|
* @self: a #GcalManager
|
||||||
|
|||||||
@@ -33,8 +33,6 @@ G_DECLARE_FINAL_TYPE (GcalManager, gcal_manager, GCAL, MANAGER, GObject)
|
|||||||
|
|
||||||
GcalManager* gcal_manager_new (void);
|
GcalManager* gcal_manager_new (void);
|
||||||
|
|
||||||
GSettings* gcal_manager_get_settings (GcalManager *self);
|
|
||||||
|
|
||||||
ESource* gcal_manager_get_source (GcalManager *self,
|
ESource* gcal_manager_get_source (GcalManager *self,
|
||||||
const gchar *uid);
|
const gchar *uid);
|
||||||
|
|
||||||
|
|||||||
@@ -52,14 +52,12 @@ on_night_light_proxy_properties_changed_cb (GcalNightLightMonitor *self,
|
|||||||
const gchar * const *invalidated,
|
const gchar * const *invalidated,
|
||||||
GDBusProxy *proxy)
|
GDBusProxy *proxy)
|
||||||
{
|
{
|
||||||
GcalManager *manager;
|
|
||||||
GSettings *settings;
|
GSettings *settings;
|
||||||
|
|
||||||
g_assert (GCAL_IS_NIGHT_LIGHT_MONITOR (self));
|
g_assert (GCAL_IS_NIGHT_LIGHT_MONITOR (self));
|
||||||
g_assert (G_IS_DBUS_PROXY (proxy));
|
g_assert (G_IS_DBUS_PROXY (proxy));
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
settings = gcal_context_get_settings (self->context);
|
||||||
settings = gcal_manager_get_settings (manager);
|
|
||||||
|
|
||||||
if (g_settings_get_boolean (settings, "follow-night-light"))
|
if (g_settings_get_boolean (settings, "follow-night-light"))
|
||||||
{
|
{
|
||||||
|
|||||||
+3
-7
@@ -523,13 +523,11 @@ calendar_listbox_sort_func (GtkListBoxRow *row1,
|
|||||||
static void
|
static void
|
||||||
load_geometry (GcalWindow *self)
|
load_geometry (GcalWindow *self)
|
||||||
{
|
{
|
||||||
GcalManager *manager;
|
|
||||||
GSettings *settings;
|
GSettings *settings;
|
||||||
|
|
||||||
GCAL_ENTRY;
|
GCAL_ENTRY;
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
settings = gcal_context_get_settings (self->context);
|
||||||
settings = gcal_manager_get_settings (manager);
|
|
||||||
|
|
||||||
self->is_maximized = g_settings_get_boolean (settings, "window-maximized");
|
self->is_maximized = g_settings_get_boolean (settings, "window-maximized");
|
||||||
g_settings_get (settings, "window-size", "(ii)", &self->width, &self->height);
|
g_settings_get (settings, "window-size", "(ii)", &self->width, &self->height);
|
||||||
@@ -552,13 +550,11 @@ load_geometry (GcalWindow *self)
|
|||||||
static void
|
static void
|
||||||
save_geometry (GcalWindow *self)
|
save_geometry (GcalWindow *self)
|
||||||
{
|
{
|
||||||
GcalManager *manager;
|
|
||||||
GSettings *settings;
|
GSettings *settings;
|
||||||
|
|
||||||
GCAL_ENTRY;
|
GCAL_ENTRY;
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
settings = gcal_context_get_settings (self->context);
|
||||||
settings = gcal_manager_get_settings (manager);
|
|
||||||
|
|
||||||
g_settings_set_boolean (settings, "window-maximized", self->is_maximized);
|
g_settings_set_boolean (settings, "window-maximized", self->is_maximized);
|
||||||
g_settings_set (settings, "window-size", "(ii)", self->width, self->height);
|
g_settings_set (settings, "window-size", "(ii)", self->width, self->height);
|
||||||
@@ -1310,7 +1306,7 @@ gcal_window_set_property (GObject *object,
|
|||||||
{
|
{
|
||||||
GcalManager *manager = gcal_context_get_manager (self->context);
|
GcalManager *manager = gcal_context_get_manager (self->context);
|
||||||
|
|
||||||
g_settings_bind (gcal_manager_get_settings (manager),
|
g_settings_bind (gcal_context_get_settings (self->context),
|
||||||
"active-view",
|
"active-view",
|
||||||
self,
|
self,
|
||||||
"active-view",
|
"active-view",
|
||||||
|
|||||||
@@ -73,7 +73,6 @@ load_weather_settings (GcalWeatherSettings *self)
|
|||||||
g_autoptr (GVariant) location = NULL;
|
g_autoptr (GVariant) location = NULL;
|
||||||
g_autoptr (GVariant) value = NULL;
|
g_autoptr (GVariant) value = NULL;
|
||||||
g_autofree gchar *location_name = NULL;
|
g_autofree gchar *location_name = NULL;
|
||||||
GcalManager *manager;
|
|
||||||
GSettings *settings;
|
GSettings *settings;
|
||||||
gboolean show_weather;
|
gboolean show_weather;
|
||||||
gboolean auto_location;
|
gboolean auto_location;
|
||||||
@@ -83,8 +82,7 @@ load_weather_settings (GcalWeatherSettings *self)
|
|||||||
if (!self->context)
|
if (!self->context)
|
||||||
GCAL_RETURN ();
|
GCAL_RETURN ();
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
settings = gcal_context_get_settings (self->context);
|
||||||
settings = gcal_manager_get_settings (manager);
|
|
||||||
value = g_settings_get_value (settings, "weather-settings");
|
value = g_settings_get_value (settings, "weather-settings");
|
||||||
|
|
||||||
g_variant_get (value, "(bbsmv)",
|
g_variant_get (value, "(bbsmv)",
|
||||||
@@ -130,7 +128,6 @@ static void
|
|||||||
save_weather_settings (GcalWeatherSettings *self)
|
save_weather_settings (GcalWeatherSettings *self)
|
||||||
{
|
{
|
||||||
g_autoptr (GWeatherLocation) location = NULL;
|
g_autoptr (GWeatherLocation) location = NULL;
|
||||||
GcalManager *manager;
|
|
||||||
GSettings *settings;
|
GSettings *settings;
|
||||||
GVariant *value;
|
GVariant *value;
|
||||||
GVariant *vlocation;
|
GVariant *vlocation;
|
||||||
@@ -144,8 +141,7 @@ save_weather_settings (GcalWeatherSettings *self)
|
|||||||
location = gweather_location_entry_get_location (GWEATHER_LOCATION_ENTRY (self->weather_location_entry));
|
location = gweather_location_entry_get_location (GWEATHER_LOCATION_ENTRY (self->weather_location_entry));
|
||||||
vlocation = location ? gweather_location_serialize (location) : NULL;
|
vlocation = location ? gweather_location_serialize (location) : NULL;
|
||||||
|
|
||||||
manager = gcal_context_get_manager (self->context);
|
settings = gcal_context_get_settings (self->context);
|
||||||
settings = gcal_manager_get_settings (manager);
|
|
||||||
value = g_variant_new ("(bbsmv)",
|
value = g_variant_new ("(bbsmv)",
|
||||||
gtk_switch_get_active (self->show_weather_switch),
|
gtk_switch_get_active (self->show_weather_switch),
|
||||||
gtk_switch_get_active (self->weather_auto_location_switch),
|
gtk_switch_get_active (self->weather_auto_location_switch),
|
||||||
|
|||||||
Reference in New Issue
Block a user