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-16 16:17:11 -0300
commitb4b825108cd7ff0aae01360f541a61919ee815bd (patch)
treea4938019039de30a0e0f7db1b80cbaef40ec3f25
parentebf8ef73649ea4d4a991e691c21a68f5735ed839 (diff)
downloadglade-b4b825108cd7ff0aae01360f541a61919ee815bd.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);