diff options
author | Bastien Nocera <hadess@hadess.net> | 2011-11-25 15:57:40 +0000 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2011-11-25 17:04:01 +0000 |
commit | 989acf8b7cd3a01de301f7ccf23cdacc7441f901 (patch) | |
tree | 8b9f8933ba77c77674e6cd1ccd27f63454c8aedf | |
parent | b51b86005843a5bb12036838056a101210e73453 (diff) | |
download | gnome-settings-daemon-989acf8b7cd3a01de301f7ccf23cdacc7441f901.tar.gz |
wacom: Split device listing function
-rw-r--r-- | plugins/wacom/list-wacom.c | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/plugins/wacom/list-wacom.c b/plugins/wacom/list-wacom.c index aa61a4c5..d707b7fb 100644 --- a/plugins/wacom/list-wacom.c +++ b/plugins/wacom/list-wacom.c @@ -46,23 +46,16 @@ get_loc (GSettings *settings) #define BOOL_AS_STR(x) (x ? "yes" : "no") static void -list_actual_devices (void) +list_devices (GList *devices) { - GdkDeviceManager *mgr; - GList *list, *l; - - mgr = gdk_display_get_device_manager (gdk_display_get_default ()); + GList *l; - list = gdk_device_manager_list_devices (mgr, GDK_DEVICE_TYPE_SLAVE); - for (l = list; l ; l = l->next) { + for (l = devices; l ; l = l->next) { GsdWacomDevice *device; char *loc; - device = gsd_wacom_device_new (l->data); - if (gsd_wacom_device_get_device_type (device) == WACOM_TYPE_INVALID) { - g_object_unref (device); - continue; - } + device = l->data; + g_message ("*** Device '%s' (type: %s)", gsd_wacom_device_get_name (device), gsd_wacom_device_type_to_string (gsd_wacom_device_get_device_type (device))); @@ -92,7 +85,32 @@ list_actual_devices (void) } g_object_unref (device); } + g_list_free (devices); +} + +static void +list_actual_devices (void) +{ + GdkDeviceManager *mgr; + GList *list, *l, *devices; + + mgr = gdk_display_get_device_manager (gdk_display_get_default ()); + + list = gdk_device_manager_list_devices (mgr, GDK_DEVICE_TYPE_SLAVE); + devices = NULL; + for (l = list; l ; l = l->next) { + GsdWacomDevice *device; + + device = gsd_wacom_device_new (l->data); + if (gsd_wacom_device_get_device_type (device) == WACOM_TYPE_INVALID) { + g_object_unref (device); + continue; + } + devices = g_list_prepend (devices, device); + } g_list_free (list); + + list_devices (devices); } int main (int argc, char **argv) |