feedback-theme: Allow to set name

This commit is contained in:
Guido Günther
2022-12-08 10:05:47 +01:00
parent 1d21bfa0dc
commit 82a8b91096
+16 -3
View File
@@ -123,8 +123,7 @@ fbd_feedback_theme_set_property (GObject *object,
switch (property_id) { switch (property_id) {
case PROP_NAME: case PROP_NAME:
g_free (self->name); fbd_feedback_theme_set_name (self, g_value_get_string (value));
self->name = g_value_dup_string (value);
break; break;
case PROP_PROFILES: case PROP_PROFILES:
if (self->profiles) if (self->profiles)
@@ -203,7 +202,7 @@ fbd_feedback_theme_class_init (FbdFeedbackThemeClass *klass)
"Name", "Name",
"The theme name", "The theme name",
NULL, NULL,
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
props[PROP_PROFILES] = props[PROP_PROFILES] =
g_param_spec_boxed ( g_param_spec_boxed (
@@ -257,6 +256,20 @@ fbd_feedback_theme_new_from_file (const gchar *filename, GError **error)
return fbd_feedback_theme_new_from_data (data, error); return fbd_feedback_theme_new_from_data (data, error);
} }
void
fbd_feedback_theme_set_name (FbdFeedbackTheme *self, const char *name)
{
g_return_if_fail (FBD_IS_FEEDBACK_THEME (self));
if (g_strcmp0 (self->name, name) == 0)
return;
g_free (self->name);
self->name = g_strdup (name);
g_object_notify_by_pspec (G_OBJECT (self), props[PROP_NAME]);
}
const char * const char *
fbd_feedback_theme_get_name (FbdFeedbackTheme *self) fbd_feedback_theme_get_name (FbdFeedbackTheme *self)
{ {