[goffice] GOArrowSel: set spins sensitive as appropriate.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [goffice] GOArrowSel: set spins sensitive as appropriate.
- Date: Thu, 12 Feb 2015 13:05:19 +0000 (UTC)
commit 36bd98d9eff973e8bdceb8fda9e5cabbbc14862f
Author: Morten Welinder <terra gnome org>
Date: Wed Feb 11 14:13:04 2015 -0500
GOArrowSel: set spins sensitive as appropriate.
goffice/gtk/go-arrow-sel.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/goffice/gtk/go-arrow-sel.c b/goffice/gtk/go-arrow-sel.c
index 75711fe..0a9e65d 100644
--- a/goffice/gtk/go-arrow-sel.c
+++ b/goffice/gtk/go-arrow-sel.c
@@ -51,6 +51,19 @@ enum {
static GObjectClass *as_parent_class;
static void
+set_actives (GOArrowSel *as)
+{
+ static guint8 active_sliders[3] = { 0, 7, 3 };
+
+ gtk_widget_set_sensitive (GTK_WIDGET (as->spin_a),
+ (active_sliders[as->arrow.typ] & 1) != 0);
+ gtk_widget_set_sensitive (GTK_WIDGET (as->spin_b),
+ (active_sliders[as->arrow.typ] & 2) != 0);
+ gtk_widget_set_sensitive (GTK_WIDGET (as->spin_c),
+ (active_sliders[as->arrow.typ] & 4) != 0);
+}
+
+static void
cb_changed (GOArrowSel *as)
{
GOArrow arr = as->arrow;
@@ -63,7 +76,6 @@ cb_changed (GOArrowSel *as)
arr.b = gtk_spin_button_get_value (as->spin_b);
arr.c = gtk_spin_button_get_value (as->spin_c);
-
go_arrow_sel_set_arrow (as, &arr);
}
@@ -114,6 +126,7 @@ go_arrow_sel_constructor (GType type,
as->type_selector = go_gtk_builder_get_widget (as->gui, "type-selector");
gtk_combo_box_set_active (GTK_COMBO_BOX (as->type_selector), GO_ARROW_NONE);
+ set_actives (as);
g_signal_connect_swapped (as->type_selector, "changed", G_CALLBACK (cb_changed), as);
as->preview = go_gtk_builder_get_widget (as->gui, "preview");
@@ -239,6 +252,7 @@ go_arrow_sel_set_arrow (GOArrowSel *as, GOArrow const *arrow)
gtk_spin_button_set_value (as->spin_a, arrow->a);
gtk_spin_button_set_value (as->spin_b, arrow->b);
gtk_spin_button_set_value (as->spin_c, arrow->c);
+ set_actives (as);
g_object_thaw_notify (G_OBJECT (as));
gtk_widget_queue_draw (as->preview);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]