summaryrefslogtreecommitdiff
path: root/gladeui
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-10-29 18:29:58 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-10-29 18:29:58 +0900
commit26b63379678d76763c08a014abea755a6f0483ad (patch)
tree3e8f010ce7d38740d83567a5c77eb3e84c888803 /gladeui
parent7f67005a6000a3fd5acf5bfc27074fc23e3623e6 (diff)
downloadglade-26b63379678d76763c08a014abea755a6f0483ad.tar.gz
Bug 351645 - glade-editor-property.c: Use glade_util_remove_scroll_events()
Use the new shared function for handling scroll events. From patch contributed by Lukas K <lu@0x83.eu>
Diffstat (limited to 'gladeui')
-rw-r--r--gladeui/glade-editor-property.c42
1 files changed, 4 insertions, 38 deletions
diff --git a/gladeui/glade-editor-property.c b/gladeui/glade-editor-property.c
index 3d09e228..cc3eded5 100644
--- a/gladeui/glade-editor-property.c
+++ b/gladeui/glade-editor-property.c
@@ -920,40 +920,6 @@ glade_eprop_numeric_force_update (GtkSpinButton *spin,
g_free (text);
}
-/* Use this to disable scroll events on property editors,
- * we dont want them handling scroll because they are inside
- * a scrolled window and interrupt workflow causing unexpected
- * results when scrolled.
- */
-static gint
-abort_scroll_events (GtkWidget *widget,
- GdkEvent *event,
- gpointer user_data)
-{
- GtkWidget *parent = gtk_widget_get_parent (widget);
-
- /* Removing the events from the mask doesnt work for
- * stubborn combo boxes which call gtk_widget_add_events()
- * in it's gtk_combo_box_init() - so handle the event and propagate
- * it up the tree so the scrollwindow still handles the scroll event.
- */
- gtk_propagate_event (parent, event);
-
- return TRUE;
-}
-
-static void
-remove_scroll_events (GtkWidget *widget)
-{
- gint events = gtk_widget_get_events (widget);
-
- events &= ~(GDK_SCROLL_MASK | GDK_SMOOTH_SCROLL_MASK);
- gtk_widget_set_events (widget, events);
-
- g_signal_connect (G_OBJECT (widget), "scroll-event",
- G_CALLBACK (abort_scroll_events), NULL);
-}
-
static GtkWidget *
glade_eprop_numeric_create_input (GladeEditorProperty *eprop)
{
@@ -974,7 +940,7 @@ glade_eprop_numeric_create_input (GladeEditorProperty *eprop)
gtk_entry_set_activates_default (GTK_ENTRY (eprop_numeric->spin), TRUE);
gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (eprop_numeric->spin), TRUE);
- remove_scroll_events (eprop_numeric->spin);
+ glade_util_remove_scroll_events (eprop_numeric->spin);
gtk_widget_show (eprop_numeric->spin);
/* Limit the size of the spin if max allowed value is too big */
@@ -1128,7 +1094,7 @@ glade_eprop_enum_create_input (GladeEditorProperty *eprop)
g_signal_connect (G_OBJECT (eprop_enum->combo_box), "changed",
G_CALLBACK (glade_eprop_enum_changed), eprop);
- remove_scroll_events (eprop_enum->combo_box);
+ glade_util_remove_scroll_events (eprop_enum->combo_box);
gtk_widget_show_all (eprop_enum->combo_box);
g_type_class_unref (eclass);
@@ -2394,7 +2360,7 @@ glade_eprop_text_create_input (GladeEditorProperty *eprop)
gtk_widget_set_halign (hbox, GTK_ALIGN_START);
gtk_widget_set_valign (hbox, GTK_ALIGN_CENTER);
gtk_widget_set_hexpand (combo, TRUE);
- remove_scroll_events (combo);
+ glade_util_remove_scroll_events (combo);
eprop_text->store = (GtkTreeModel *)
glade_eprop_text_create_store (glade_property_class_stock (klass) ?
@@ -2444,7 +2410,7 @@ glade_eprop_text_create_input (GladeEditorProperty *eprop)
GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (swindow),
GTK_SHADOW_IN);
- remove_scroll_events (swindow);
+ glade_util_remove_scroll_events (swindow);
eprop_text->text_entry = gtk_text_view_new ();
gtk_scrollable_set_hscroll_policy (GTK_SCROLLABLE (eprop_text->text_entry), GTK_SCROLL_MINIMUM);