application: move GSettings object to GcalManager

The first outcome of the test suite. This separation does
not make much sense now, and GcalManager is basically a
holder for all data types.

This commit moves the GSettings to the GcalManager instance
of the application. Of course, in the future, the plan is to
split GcalManager nicely.
This commit is contained in:
Georges Basile Stavracas Neto
2017-09-07 12:52:49 -03:00
parent 1d29fd4944
commit a0b6bdb04a
6 changed files with 43 additions and 43 deletions
+13 -14
View File
@@ -43,7 +43,6 @@ struct _GcalApplication
GtkWidget *window;
GSettings *settings;
GcalManager *manager;
GtkCssProvider *provider;
@@ -168,7 +167,6 @@ gcal_application_finalize (GObject *object)
g_clear_object (&(self->provider));
g_clear_object (&self->colors_provider);
g_clear_object (&self->settings);
g_clear_object (&self->manager);
g_clear_object (&self->search_provider);
@@ -182,10 +180,12 @@ static void
gcal_application_activate (GApplication *application)
{
GcalApplication *self;
GSettings *settings;
GCAL_ENTRY;
self = GCAL_APPLICATION (application);
settings = gcal_manager_get_settings (self->manager);
if (!self->provider)
{
@@ -216,12 +216,12 @@ gcal_application_activate (GApplication *application)
}
self->window = gcal_window_new_with_view_and_date (GCAL_APPLICATION (application),
g_settings_get_enum (self->settings, "active-view"),
g_settings_get_enum (settings, "active-view"),
self->initial_date);
g_signal_connect (self->window, "destroy", G_CALLBACK (gtk_widget_destroyed), &(self->window));
g_settings_bind (self->settings,
g_settings_bind (settings,
"active-view",
self->window,
"active-view",
@@ -398,10 +398,9 @@ gcal_application_init (GcalApplication *self)
{
g_application_add_main_option_entries (G_APPLICATION (self), gcal_application_goptions);
self->settings = g_settings_new ("org.gnome.calendar");
self->colors_provider = gtk_css_provider_new ();
self->manager = gcal_manager_new_with_settings (self->settings);
self->manager = gcal_manager_new ();
g_signal_connect_swapped (self->manager, "source-added", G_CALLBACK (process_sources), self);
g_signal_connect_swapped (self->manager, "source-changed", G_CALLBACK (process_sources), self);
@@ -513,6 +512,14 @@ gcal_application_new (void)
NULL);
}
/**
* gcal_application_get_manager:
* @self: a #GcalApplication
*
* Retrieves the #GcalManager of the application.
*
* Returns: (transfer none): a #GcalManager
*/
GcalManager*
gcal_application_get_manager (GcalApplication *self)
{
@@ -521,14 +528,6 @@ gcal_application_get_manager (GcalApplication *self)
return self->manager;
}
GSettings*
gcal_application_get_settings (GcalApplication *self)
{
g_return_val_if_fail (GCAL_IS_APPLICATION (self), NULL);
return self->settings;
}
void
gcal_application_set_uuid (GcalApplication *self,
const gchar *app_uuid)
-2
View File
@@ -34,8 +34,6 @@ GcalApplication* gcal_application_new (void);
GcalManager* gcal_application_get_manager (GcalApplication *self);
GSettings* gcal_application_get_settings (GcalApplication *self);
void gcal_application_set_uuid (GcalApplication *self,
const gchar *app_uuid);
+22 -13
View File
@@ -954,11 +954,6 @@ gcal_manager_set_property (GObject *object,
}
break;
case PROP_SETTINGS:
if (g_set_object (&self->settings, g_value_get_object (value)))
g_object_notify (object, "settings");
return;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
@@ -1051,7 +1046,7 @@ gcal_manager_class_init (GcalManagerClass *klass)
"Application settings",
"The settings of the application passed down from GcalApplication",
G_TYPE_SETTINGS,
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (object_class, NUM_PROPS, properties);
@@ -1103,23 +1098,37 @@ static void
gcal_manager_init (GcalManager *self)
{
self->clock = gcal_clock_new ();
self->settings = g_settings_new ("org.gnome.calendar");
}
/* Public API */
/**
* gcal_manager_new_with_settings:
* @settings: a #GSettings
* gcal_manager_new:
*
* Creates a new #GcalManager with @settings.
* Creates a new #GcalManager.
*
* Returns: (transfer full): a newly created #GcalManager
*/
GcalManager*
gcal_manager_new_with_settings (GSettings *settings)
gcal_manager_new (void)
{
return g_object_new (GCAL_TYPE_MANAGER,
"settings", settings,
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;
}
/**
+3 -1
View File
@@ -33,7 +33,9 @@ G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE (GcalManager, gcal_manager, GCAL, MANAGER, GObject)
GcalManager* gcal_manager_new_with_settings (GSettings *settings);
GcalManager* gcal_manager_new (void);
GSettings* gcal_manager_get_settings (GcalManager *self);
ESource* gcal_manager_get_source (GcalManager *self,
const gchar *uid);
+2 -8
View File
@@ -522,7 +522,6 @@ calendar_listbox_sort_func (GtkListBoxRow *row1,
static void
load_geometry (GcalWindow *window)
{
GcalApplication *app;
GSettings *settings;
GVariant *variant;
gboolean maximized;
@@ -532,8 +531,7 @@ load_geometry (GcalWindow *window)
GCAL_ENTRY;
app = GCAL_APPLICATION (gtk_window_get_application (GTK_WINDOW (window)));
settings = gcal_application_get_settings (app);
settings = gcal_manager_get_settings (window->manager);
/* load window settings: size */
variant = g_settings_get_value (settings,
@@ -576,7 +574,6 @@ save_geometry (gpointer user_data)
GtkWindow *self;
GdkWindow *win;
GdkWindowState state;
GcalApplication *app;
GSettings *settings;
gboolean maximized;
GVariant *variant;
@@ -589,10 +586,7 @@ save_geometry (gpointer user_data)
window = GCAL_WINDOW (self);
win = gtk_widget_get_window (GTK_WIDGET (self));
state = gdk_window_get_state (win);
app = GCAL_APPLICATION (gtk_window_get_application (self));
settings = gcal_application_get_settings (app);
settings = gcal_manager_get_settings (window->manager);
/* save window's state */
maximized = state & GDK_WINDOW_STATE_MAXIMIZED;
+3 -5
View File
@@ -23,13 +23,11 @@
/*********************************************************************************************************************/
static void
manager_new_with_settings (void)
manager_new (void)
{
g_autoptr (GcalManager) manager;
g_autoptr (GSettings) settings;
settings = g_settings_new ("org.gnome.calendar");
manager = gcal_manager_new_with_settings (settings);
manager = gcal_manager_new ();
g_assert_nonnull (manager);
}
@@ -42,7 +40,7 @@ main (gint argc,
{
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/manager/new_with_settings", manager_new_with_settings);
g_test_add_func ("/manager/new", manager_new);
return g_test_run ();
}