|
Matej Habrnal |
34dad7 |
From 5d544028c3dd3f4af9d4da83a4c57d2c05c09014 Mon Sep 17 00:00:00 2001
|
|
Matej Habrnal |
34dad7 |
From: Jakub Filak <jfilak@redhat.com>
|
|
Matej Habrnal |
34dad7 |
Date: Sat, 16 May 2015 06:51:09 +0200
|
|
Matej Habrnal |
34dad7 |
Subject: [PATCH] config UI: enable options without config files
|
|
Matej Habrnal |
34dad7 |
|
|
Matej Habrnal |
34dad7 |
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
|
Matej Habrnal |
34dad7 |
---
|
|
Matej Habrnal |
34dad7 |
src/configuration-gui/abrt-config-widget.c | 14 ++++++++++++--
|
|
Matej Habrnal |
34dad7 |
1 file changed, 12 insertions(+), 2 deletions(-)
|
|
Matej Habrnal |
34dad7 |
|
|
Matej Habrnal |
34dad7 |
diff --git a/src/configuration-gui/abrt-config-widget.c b/src/configuration-gui/abrt-config-widget.c
|
|
Matej Habrnal |
34dad7 |
index 2c75429..8bfc269 100644
|
|
Matej Habrnal |
34dad7 |
--- a/src/configuration-gui/abrt-config-widget.c
|
|
Matej Habrnal |
34dad7 |
+++ b/src/configuration-gui/abrt-config-widget.c
|
|
Matej Habrnal |
34dad7 |
@@ -175,10 +175,13 @@ on_switch_activate(GObject *object,
|
|
Matej Habrnal |
34dad7 |
GParamSpec *spec,
|
|
Matej Habrnal |
34dad7 |
AbrtConfigWidget *config)
|
|
Matej Habrnal |
34dad7 |
{
|
|
Matej Habrnal |
34dad7 |
+ AbrtConfigWidgetOption *option = g_object_get_data(G_OBJECT(object), "abrt-option");
|
|
Matej Habrnal |
34dad7 |
+ if (option->config == NULL)
|
|
Matej Habrnal |
34dad7 |
+ return;
|
|
Matej Habrnal |
34dad7 |
+
|
|
Matej Habrnal |
34dad7 |
const gboolean state = gtk_switch_get_active(GTK_SWITCH(object));
|
|
Matej Habrnal |
34dad7 |
const char *const val = state ? "yes" : "no";
|
|
Matej Habrnal |
34dad7 |
|
|
Matej Habrnal |
34dad7 |
- AbrtConfigWidgetOption *option = g_object_get_data(G_OBJECT(object), "abrt-option");
|
|
Matej Habrnal |
34dad7 |
log_debug("%s : %s", option->name, val);
|
|
Matej Habrnal |
34dad7 |
abrt_app_configuration_set_value(option->config, option->name, val);
|
|
Matej Habrnal |
34dad7 |
abrt_app_configuration_save(option->config);
|
|
Matej Habrnal |
34dad7 |
@@ -191,7 +194,11 @@ update_option_current_value(AbrtConfigWidget *self, enum AbrtOptions opid)
|
|
Matej Habrnal |
34dad7 |
assert((opid >= _ABRT_OPT_BEGIN_ && opid < _ABRT_OPT_END_) || !"Out of range Option ID value");
|
|
Matej Habrnal |
34dad7 |
|
|
Matej Habrnal |
34dad7 |
AbrtConfigWidgetOption *option = &(self->priv->options[opid]);
|
|
Matej Habrnal |
34dad7 |
- const char *val = abrt_app_configuration_get_value(option->config, option->name);
|
|
Matej Habrnal |
34dad7 |
+
|
|
Matej Habrnal |
34dad7 |
+ const char *val = NULL;
|
|
Matej Habrnal |
34dad7 |
+ if (option->config != NULL)
|
|
Matej Habrnal |
34dad7 |
+ val = abrt_app_configuration_get_value(option->config, option->name);
|
|
Matej Habrnal |
34dad7 |
+
|
|
Matej Habrnal |
34dad7 |
option->current_value = val ? string_to_bool(val) : option->default_value;
|
|
Matej Habrnal |
34dad7 |
}
|
|
Matej Habrnal |
34dad7 |
|
|
Matej Habrnal |
34dad7 |
@@ -209,6 +216,9 @@ connect_switch_with_option(AbrtConfigWidget *self, enum AbrtOptions opid, const
|
|
Matej Habrnal |
34dad7 |
g_object_set_data(G_OBJECT(gsw), "abrt-option", option);
|
|
Matej Habrnal |
34dad7 |
g_signal_connect(G_OBJECT(gsw), "notify::active",
|
|
Matej Habrnal |
34dad7 |
G_CALLBACK(on_switch_activate), self);
|
|
Matej Habrnal |
34dad7 |
+
|
|
Matej Habrnal |
34dad7 |
+ if (option->config == NULL)
|
|
Matej Habrnal |
34dad7 |
+ gtk_widget_set_sensitive(GTK_WIDGET(gsw), FALSE);
|
|
Matej Habrnal |
34dad7 |
}
|
|
Matej Habrnal |
34dad7 |
|
|
Matej Habrnal |
34dad7 |
static void
|
|
Matej Habrnal |
34dad7 |
--
|
|
Matej Habrnal |
34dad7 |
2.4.1
|
|
Matej Habrnal |
34dad7 |
|