summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2012-06-23 12:55:01 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2012-06-23 12:55:01 +0000
commit3105af2e1edcb50e3d2e67f04f859165de2f5951 (patch)
tree68822dae76f1ff07ec91b8b958e28e7b265cfe5a /src/widgets
parentFix missing glibmm header (diff)
downloadinkscape-3105af2e1edcb50e3d2e67f04f859165de2f5951.tar.gz
inkscape-3105af2e1edcb50e3d2e67f04f859165de2f5951.zip
Migrate to new device pointer API for GTK+ 3
(bzr r11511)
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/sp-color-slider.cpp18
-rw-r--r--src/widgets/stroke-style.cpp5
2 files changed, 20 insertions, 3 deletions
diff --git a/src/widgets/sp-color-slider.cpp b/src/widgets/sp-color-slider.cpp
index 1d3d81ba1..7934a4118 100644
--- a/src/widgets/sp-color-slider.cpp
+++ b/src/widgets/sp-color-slider.cpp
@@ -306,10 +306,21 @@ sp_color_slider_button_press (GtkWidget *widget, GdkEventButton *event)
slider->oldvalue = slider->value;
ColorScales::setScaled( slider->adjustment, CLAMP ((gfloat) (event->x - cx) / cw, 0.0, 1.0) );
g_signal_emit (G_OBJECT (slider), slider_signals[DRAGGED], 0);
+
+#if GTK_CHECK_VERSION(3,0,0)
+ gdk_device_grab(gdk_event_get_device((GdkEvent*)event),
+ gtk_widget_get_window(widget),
+ GDK_OWNERSHIP_NONE,
+ FALSE,
+ (GdkEventMask)(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK),
+ NULL,
+ event->time);
+#else
gdk_pointer_grab(gtk_widget_get_window(widget), FALSE,
(GdkEventMask)(GDK_POINTER_MOTION_MASK |
GDK_BUTTON_RELEASE_MASK),
NULL, NULL, event->time);
+#endif
}
return FALSE;
@@ -323,7 +334,14 @@ sp_color_slider_button_release (GtkWidget *widget, GdkEventButton *event)
slider = SP_COLOR_SLIDER (widget);
if (event->button == 1) {
+
+#if GTK_CHECK_VERSION(3,0,0)
+ gdk_device_ungrab(gdk_event_get_device((GdkEvent *)event),
+ gdk_event_get_time((GdkEvent *)event));
+#else
gdk_pointer_ungrab (event->time);
+#endif
+
slider->dragging = FALSE;
g_signal_emit (G_OBJECT (slider), slider_signals[RELEASED], 0);
if (slider->value != slider->oldvalue) g_signal_emit (G_OBJECT (slider), slider_signals[CHANGED], 0);
diff --git a/src/widgets/stroke-style.cpp b/src/widgets/stroke-style.cpp
index 90634fe87..d6168ca04 100644
--- a/src/widgets/stroke-style.cpp
+++ b/src/widgets/stroke-style.cpp
@@ -341,13 +341,12 @@ Gtk::Container *sp_stroke_style_line_widget_new(void)
#if WITH_GTKMM_3_0
Glib::RefPtr<Gtk::Adjustment> *a = new Glib::RefPtr<Gtk::Adjustment>(Gtk::Adjustment::create(1.0, 0.0, 1000.0, 0.1, 10.0, 0.0));
- spw->set_data("width", a);
- sb = new Inkscape::UI::Widget::SpinButton(*a, 0.1, 3);
#else
Gtk::Adjustment *a = new Gtk::Adjustment(1.0, 0.0, 1000.0, 0.1, 10.0, 0.0);
+#endif
+
spw->set_data("width", a);
sb = new Inkscape::UI::Widget::SpinButton(*a, 0.1, 3);
-#endif
sb->set_tooltip_text(_("Stroke width"));
sb->show();
spw_label(t, C_("Stroke width", "_Width:"), 0, i, sb);