summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <juanpablougarte@gmail.com>2013-09-13 23:55:32 -0300
committerJuan Pablo Ugarte <juanpablougarte@gmail.com>2013-09-13 23:55:32 -0300
commit1fd9d318d3e60313ba33f9dc9000bfc4c8a3f182 (patch)
tree44d69c6498a10e30839bb70013a3d39fc6d0fc4a
parent06d14dce9ec631b0eaf76097bc6dcbbad09fe060 (diff)
downloadglade-1fd9d318d3e60313ba33f9dc9000bfc4c8a3f182.tar.gz
Improved pango text integer attributes editors.
Make the spin button numeric and clear the attr if the new text is an empty string! This should be enough to close Bug 679006 "The "size" attribute for labels only accepts integer values (not strings like "larger")"
-rw-r--r--plugins/gtk+/glade-attributes.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/plugins/gtk+/glade-attributes.c b/plugins/gtk+/glade-attributes.c
index 41cc75fe..33e7e2b0 100644
--- a/plugins/gtk+/glade-attributes.c
+++ b/plugins/gtk+/glade-attributes.c
@@ -820,7 +820,7 @@ value_combo_spin_edited (GtkCellRendererText *cell,
gtk_tree_model_get (eprop_attrs->model, &iter, COLUMN_TYPE, &type, -1);
/* Reset the column */
- if (new_text && strcmp (new_text, _("None")) == 0)
+ if (new_text && (*new_text == '\0' || strcmp (new_text, _("None")) == 0))
{
gtk_list_store_set (GTK_LIST_STORE (eprop_attrs->model), &iter,
COLUMN_TEXT, _("<Enter Value>"),
@@ -839,6 +839,15 @@ value_combo_spin_edited (GtkCellRendererText *cell,
}
+static void
+value_combo_spin_editing_started (GtkCellRenderer *cell,
+ GtkCellEditable *editable,
+ const gchar *path)
+{
+ if (GTK_IS_SPIN_BUTTON (editable))
+ gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (editable), TRUE);
+}
+
static GtkWidget *
glade_eprop_attrs_view (GladeEditorProperty *eprop)
{
@@ -953,6 +962,8 @@ glade_eprop_attrs_view (GladeEditorProperty *eprop)
"digits", COLUMN_SPIN_DIGITS, NULL);
g_signal_connect (G_OBJECT (renderer), "edited",
G_CALLBACK (value_combo_spin_edited), eprop);
+ g_signal_connect (G_OBJECT (renderer), "editing-started",
+ G_CALLBACK (value_combo_spin_editing_started), NULL);
gtk_tree_view_column_set_expand (GTK_TREE_VIEW_COLUMN (column), TRUE);
gtk_tree_view_append_column (GTK_TREE_VIEW (view_widget), column);