gpointing-device-settings r257 - in trunk: modules src



Author: hiikezoe
Date: Tue Mar 24 03:14:22 2009
New Revision: 257
URL: http://svn.gnome.org/viewvc/gpointing-device-settings?rev=257&view=rev

Log:
added GPDS_XINPUT_UI_DEFINE_SCALE_VALUE_CHANGED_CALLBACK macro.

Modified:
   trunk/modules/gpds-touchpad-ui.c
   trunk/src/gpds-xinput-ui.h

Modified: trunk/modules/gpds-touchpad-ui.c
==============================================================================
--- trunk/modules/gpds-touchpad-ui.c	(original)
+++ trunk/modules/gpds-touchpad-ui.c	Tue Mar 24 03:14:22 2009
@@ -204,25 +204,6 @@
 }
 
 static void
-set_range_property (GpdsXInput *xinput, GtkRange *range, GpdsTouchpadProperty property)
-{
-    GError *error = NULL;
-    gint properties[1];
-
-    properties[0] = (gint)gtk_range_get_value(range);
-    if (!gpds_xinput_set_int_properties(xinput,
-                                        property,
-                                        &error,
-                                        properties,
-                                        1)) {
-        if (error) {
-            show_error(error);
-            g_error_free(error);
-        }
-    }
-}
-
-static void
 set_scrolling_distance_range_property (GpdsXInput *xinput, GtkBuilder *builder)
 {
     GError *error = NULL;
@@ -272,39 +253,8 @@
     }
 }
 
-static void
-cb_tapping_time_scale_value_changed (GtkRange *range, gpointer user_data)
-{
-    GpdsTouchpadUI *ui = GPDS_TOUCHPAD_UI(user_data);
-    gdouble time;
-    GpdsXInput *xinput;
-
-    xinput = gpds_xinput_ui_get_xinput(GPDS_XINPUT_UI(ui));
-    if (!xinput)
-        return;
-
-    set_range_property(xinput, range, GPDS_TOUCHPAD_TAP_TIME);
-
-    time = gtk_range_get_value(range);
-    gpds_ui_set_gconf_int(GPDS_UI(ui), GPDS_TOUCHPAD_TAP_TIME_KEY, (gint)time);
-}
-
-static void
-cb_tapping_move_scale_value_changed (GtkRange *range, gpointer user_data)
-{
-    GpdsTouchpadUI *ui = GPDS_TOUCHPAD_UI(user_data);
-    gdouble distance;
-    GpdsXInput *xinput;
-
-    xinput = gpds_xinput_ui_get_xinput(GPDS_XINPUT_UI(ui));
-    if (!xinput)
-        return;
-
-    set_range_property(xinput, range, GPDS_TOUCHPAD_TAP_MOVE);
-
-    distance = gtk_range_get_value(range);
-    gpds_ui_set_gconf_int(GPDS_UI(ui), GPDS_TOUCHPAD_TAP_MOVE_KEY, (gint)distance);
-}
+GPDS_XINPUT_UI_DEFINE_SCALE_VALUE_CHANGED_CALLBACK(tapping_time_scale, GPDS_TOUCHPAD_TAP_TIME)
+GPDS_XINPUT_UI_DEFINE_SCALE_VALUE_CHANGED_CALLBACK(tapping_move_scale, GPDS_TOUCHPAD_TAP_MOVE)
 
 static void
 cb_vertical_scrolling_scale_value_changed (GtkRange *range, gpointer user_data)

Modified: trunk/src/gpds-xinput-ui.h
==============================================================================
--- trunk/src/gpds-xinput-ui.h	(original)
+++ trunk/src/gpds-xinput-ui.h	Tue Mar 24 03:14:22 2009
@@ -91,6 +91,32 @@
     gtk_widget_set_sensitive(GTK_WIDGET(depend_widget), enable);                                        \
 }
 
+#define GPDS_XINPUT_UI_DEFINE_SCALE_VALUE_CHANGED_CALLBACK(function_name, PROPERTY_NAME)    \
+static void                                                                                 \
+cb_ ## function_name ## _value_changed (GtkRange *range, gpointer user_data)                \
+{                                                                                           \
+    gdouble value;                                                                          \
+    GpdsXInput *xinput;                                                                     \
+    GError *error = NULL;                                                                   \
+    gint properties[1];                                                                     \
+    xinput = gpds_xinput_ui_get_xinput(GPDS_XINPUT_UI(user_data));                          \
+    if (!xinput)                                                                            \
+        return;                                                                             \
+    value = gtk_range_get_value(range);                                                     \
+    properties[0] = (gint)value;                                                            \
+    if (!gpds_xinput_set_int_properties(xinput,                                             \
+                                        PROPERTY_NAME,                                      \
+                                        &error,                                             \
+                                        properties,                                         \
+                                        1)) {                                               \
+        if (error) {                                                                        \
+            show_error(error);                                                              \
+            g_error_free(error);                                                            \
+        }                                                                                   \
+    }                                                                                       \
+    gpds_ui_set_gconf_int(GPDS_UI(user_data), PROPERTY_NAME ## _KEY, (gint)value);          \
+}
+
 G_END_DECLS
 
 #endif /* __GPDS_XINPUT_UI_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]