Updating branch refs/heads/master
to 00f1f2ff03e9f5cccfd4940f474b2872702b305a (commit)
from 874d7150db66c120ea5aad7cccdd8d44bf4b86a3 (commit)
commit 00f1f2ff03e9f5cccfd4940f474b2872702b305a
Author: Jérôme Guelfucci <[email protected]>
Date: Wed Dec 23 13:10:50 2009 +0100
Allow the user to edit the property names if they are not empty.
xfce4-settings-editor/main_window.c | 26 +++++++++++++++++---
xfce4-settings-editor/xfce4-settings-editor.glade | 2 +-
2 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/xfce4-settings-editor/main_window.c
b/xfce4-settings-editor/main_window.c
index 5249210..907334d 100644
--- a/xfce4-settings-editor/main_window.c
+++ b/xfce4-settings-editor/main_window.c
@@ -531,6 +531,14 @@ cb_property_treeview_selection_changed (GtkTreeSelection
*selection, GtkBuilder
gtk_widget_set_sensitive (GTK_WIDGET (property_edit_button), !locked);
gtk_widget_set_sensitive (GTK_WIDGET (property_revert_button), !locked);
+
+ /* If type is Empty, we don't want the user to edit the property */
+ gtk_tree_selection_get_selected (selection, &model, &iter);
+ gtk_tree_model_get_value (model, &iter, 1, &value);
+
+ if (g_strcmp0 (g_value_get_string (&value), "Empty") == 0 )
+ gtk_widget_set_sensitive (GTK_WIDGET (property_edit_button), FALSE);
+ g_value_unset (&value);
}
static void
@@ -543,7 +551,6 @@ static void
cb_property_edit_button_clicked (GtkButton *button, gpointer user_data)
{
GValue value = {0, };
- gchar *prop_name = NULL;
GObject *dialog = gtk_builder_get_object (builder, "edit_settings_dialog");
GObject *prop_name_entry = gtk_builder_get_object (builder,
"property_name_entry");
@@ -638,6 +645,8 @@ cb_property_edit_button_clicked (GtkButton *button,
gpointer user_data)
if (gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_APPLY)
{
+ gchar *prop_name;
+
gtk_widget_hide (GTK_WIDGET (dialog));
switch (gtk_combo_box_get_active (GTK_COMBO_BOX (prop_type_combo)))
{
@@ -667,15 +676,24 @@ cb_property_edit_button_clicked (GtkButton *button,
gpointer user_data)
case PROP_TYPE_ARRAY:
break;
}
+
+ prop_name = g_strdup (gtk_entry_get_text (GTK_ENTRY
(prop_name_entry)));
+
+ if (g_strcmp0 (prop_name, current_property) != 0)
+ {
+ xfconf_channel_reset_property (current_channel, current_property,
FALSE);
+ g_free (current_property);
+ current_property = prop_name;
+ }
+ else
+ g_free (prop_name);
+
xfconf_channel_set_property (current_channel, current_property,
&value);
}
else
{
gtk_widget_hide (GTK_WIDGET (dialog));
}
-
- if (prop_name)
- g_free (prop_name);
}
/**
diff --git a/xfce4-settings-editor/xfce4-settings-editor.glade
b/xfce4-settings-editor/xfce4-settings-editor.glade
index a552131..6bd221b 100644
--- a/xfce4-settings-editor/xfce4-settings-editor.glade
+++ b/xfce4-settings-editor/xfce4-settings-editor.glade
@@ -163,7 +163,7 @@
<object class="GtkEntry" id="property_name_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="editable">False</property>
+ <property name="editable">True</property>
</object>
<packing>
<property name="left_attach">1</property>
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits