[gnome-flashback] idle-monitor: avoid deprecated GdkDeviceManager



commit cd068e0021217df273b7f12f719f20043b7c8e13
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Sat Dec 19 20:20:18 2015 +0200

    idle-monitor: avoid deprecated GdkDeviceManager

 configure.ac                                       |    2 +-
 .../libidle-monitor/flashback-idle-monitor.c       |   65 +++++++------------
 gnome-flashback/libidle-monitor/meta-backend.c     |   64 +++++++++----------
 3 files changed, 55 insertions(+), 76 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 9ef8e78..dcfd2b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,7 +85,7 @@ dnl **************************************************************************
 dnl Check for required packages
 dnl **************************************************************************
 
-GTK_REQUIRED=3.15.2
+GTK_REQUIRED=3.19.5
 LIBGNOME_DESKTOP_REQUIRED=3.12.0
 CANBERRA_REQUIRED=0.13
 GLIB_REQUIRED=2.44.0
diff --git a/gnome-flashback/libidle-monitor/flashback-idle-monitor.c 
b/gnome-flashback/libidle-monitor/flashback-idle-monitor.c
index 77cc37c..2b04400 100644
--- a/gnome-flashback/libidle-monitor/flashback-idle-monitor.c
+++ b/gnome-flashback/libidle-monitor/flashback-idle-monitor.c
@@ -218,9 +218,9 @@ create_monitor_skeleton (GDBusObjectManagerServer *server,
 }
 
 static void
-on_device_added (GdkDeviceManager *device_manager,
-                 GdkDevice        *device,
-                 gpointer          user_data)
+on_device_added (GdkSeat   *seat,
+                 GdkDevice *device,
+                 gpointer   user_data)
 {
   FlashbackIdleMonitor *idle_monitor;
   MetaIdleMonitor *monitor;
@@ -238,9 +238,9 @@ on_device_added (GdkDeviceManager *device_manager,
 }
 
 static void
-on_device_removed (GdkDeviceManager *device_manager,
-                   GdkDevice        *device,
-                   gpointer          user_data)
+on_device_removed (GdkSeat   *seat,
+                   GdkDevice *device,
+                   gpointer   user_data)
 {
   FlashbackIdleMonitor *monitor;
   gint device_id;
@@ -256,21 +256,6 @@ on_device_removed (GdkDeviceManager *device_manager,
 }
 
 static void
-on_device_changed (GdkDeviceManager *device_manager,
-                   GdkDevice        *device,
-                   gpointer          user_data)
-{
-  FlashbackIdleMonitor *monitor;
-
-  monitor = FLASHBACK_IDLE_MONITOR (user_data);
-
-  if (gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_FLOATING)
-    on_device_removed (device_manager, device, monitor);
-  else
-    on_device_added (device_manager, device, monitor);
-}
-
-static void
 on_bus_acquired (GDBusConnection *connection,
                  const char      *name,
                  gpointer         user_data)
@@ -280,9 +265,7 @@ on_bus_acquired (GDBusConnection *connection,
   MetaIdleMonitor *monitor;
   const gchar *core_path;
   GdkDisplay *display;
-  GdkDeviceManager *device_manager;
-  GList *master;
-  GList *slave;
+  GdkSeat *seat;
   GList *devices;
   GList *iter;
 
@@ -296,10 +279,12 @@ on_bus_acquired (GDBusConnection *connection,
   create_monitor_skeleton (idle_monitor->server, monitor, core_path);
 
   display = gdk_display_get_default ();
-  device_manager = gdk_display_get_device_manager (display);
-  master = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER);
-  slave = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_SLAVE);
-  devices = g_list_concat (master, slave);
+  seat = gdk_display_get_default_seat (display);
+  devices = NULL;
+
+  devices = g_list_append (devices, gdk_seat_get_pointer (seat));
+  devices = g_list_append (devices, gdk_seat_get_keyboard (seat));
+  devices = g_list_concat (devices, gdk_seat_get_slaves (seat, GDK_SEAT_CAPABILITY_ALL));
 
   for (iter = devices; iter; iter = iter->next)
     {
@@ -307,17 +292,15 @@ on_bus_acquired (GDBusConnection *connection,
 
       device = (GdkDevice *) iter->data;
 
-      on_device_added (device_manager, device, idle_monitor);
+      on_device_added (seat, device, idle_monitor);
     }
 
   g_list_free (devices);
 
-  g_signal_connect_object (device_manager, "device-added",
+  g_signal_connect_object (seat, "device-added",
                            G_CALLBACK (on_device_added), idle_monitor, 0);
-  g_signal_connect_object (device_manager, "device-removed",
+  g_signal_connect_object (seat, "device-removed",
                            G_CALLBACK (on_device_removed), idle_monitor, 0);
-  g_signal_connect_object (device_manager, "device-changed",
-                           G_CALLBACK (on_device_changed), idle_monitor, 0);
 
   g_dbus_object_manager_server_set_connection (idle_monitor->server, connection);
 }
@@ -368,9 +351,7 @@ flashback_idle_monitor_dispose (GObject *object)
 {
   FlashbackIdleMonitor *monitor;
   GdkDisplay *display;
-  GdkDeviceManager *device_manager;
-  GList *master;
-  GList *slave;
+  GdkSeat *seat;
   GList *devices;
   GList *iter;
   const gchar *core_path;
@@ -384,10 +365,12 @@ flashback_idle_monitor_dispose (GObject *object)
     }
 
   display = gdk_display_get_default ();
-  device_manager = gdk_display_get_device_manager (display);
-  master = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER);
-  slave = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_SLAVE);
-  devices = g_list_concat (master, slave);
+  seat = gdk_display_get_default_seat (display);
+  devices = NULL;
+
+  devices = g_list_append (devices, gdk_seat_get_pointer (seat));
+  devices = g_list_append (devices, gdk_seat_get_keyboard (seat));
+  devices = g_list_concat (devices, gdk_seat_get_slaves (seat, GDK_SEAT_CAPABILITY_ALL));
 
   for (iter = devices; iter; iter = iter->next)
     {
@@ -395,7 +378,7 @@ flashback_idle_monitor_dispose (GObject *object)
 
       device = (GdkDevice *) iter->data;
 
-      on_device_removed (device_manager, device, monitor);
+      on_device_removed (seat, device, monitor);
     }
 
   g_list_free (devices);
diff --git a/gnome-flashback/libidle-monitor/meta-backend.c b/gnome-flashback/libidle-monitor/meta-backend.c
index 3a0fced..5b006e8 100644
--- a/gnome-flashback/libidle-monitor/meta-backend.c
+++ b/gnome-flashback/libidle-monitor/meta-backend.c
@@ -71,9 +71,9 @@ destroy_device_monitor (MetaBackend *backend,
 }
 
 static void
-on_device_added (GdkDeviceManager *device_manager,
-                 GdkDevice        *device,
-                 gpointer          user_data)
+on_device_added (GdkSeat   *seat,
+                 GdkDevice *device,
+                 gpointer   user_data)
 {
   MetaBackend *backend = META_BACKEND (user_data);
   int device_id = gdk_x11_device_get_id (device);
@@ -82,9 +82,9 @@ on_device_added (GdkDeviceManager *device_manager,
 }
 
 static void
-on_device_removed (GdkDeviceManager *device_manager,
-                   GdkDevice        *device,
-                   gpointer          user_data)
+on_device_removed (GdkSeat   *seat,
+                   GdkDevice *device,
+                   gpointer   user_data)
 {
   MetaBackend *backend = META_BACKEND (user_data);
   int device_id = gdk_x11_device_get_id (device);
@@ -93,19 +93,6 @@ on_device_removed (GdkDeviceManager *device_manager,
 }
 
 static void
-on_device_changed (GdkDeviceManager *device_manager,
-                   GdkDevice        *device,
-                   gpointer          user_data)
-{
-    MetaBackend *backend = META_BACKEND (user_data);
-
-       if (gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_FLOATING)
-               on_device_removed (device_manager, device, backend);
-       else
-               on_device_added (device_manager, device, backend);
-}
-
-static void
 meta_backend_class_init (MetaBackendClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
@@ -116,26 +103,35 @@ meta_backend_class_init (MetaBackendClass *klass)
 static void
 meta_backend_init (MetaBackend *backend)
 {
-       GdkDeviceManager *manager;
-       GList *devices, *l;
+  GdkDisplay *display;
+  GdkSeat *seat;
+  GList *devices;
+  GList *l;
 
-       /* Create the core device monitor. */
-       create_device_monitor (backend, 0);
+  /* Create the core device monitor. */
+  create_device_monitor (backend, 0);
 
-       manager = gdk_display_get_device_manager (gdk_display_get_default ());
-       g_signal_connect_object (manager, "device-added", G_CALLBACK (on_device_added), backend, 0);
-       g_signal_connect_object (manager, "device-removed", G_CALLBACK (on_device_removed), backend, 0);
-       g_signal_connect_object (manager, "device-changed", G_CALLBACK (on_device_changed), backend, 0);
+  display = gdk_display_get_default ();
+  seat = gdk_display_get_default_seat (display);
+  devices = NULL;
 
-       devices = gdk_device_manager_list_devices (manager, GDK_DEVICE_TYPE_MASTER);
-       devices = g_list_concat (devices, gdk_device_manager_list_devices (manager, GDK_DEVICE_TYPE_SLAVE));
+  g_signal_connect_object (seat, "device-added", G_CALLBACK (on_device_added), backend, 0);
+  g_signal_connect_object (seat, "device-removed", G_CALLBACK (on_device_removed), backend, 0);
 
-       for (l = devices; l != NULL; l = l->next) {
-               GdkDevice *device = l->data;
-               on_device_added (manager, device, backend);
-       }
+  devices = g_list_append (devices, gdk_seat_get_pointer (seat));
+  devices = g_list_append (devices, gdk_seat_get_keyboard (seat));
+  devices = g_list_concat (devices, gdk_seat_get_slaves (seat, GDK_SEAT_CAPABILITY_ALL));
+
+  for (l = devices; l != NULL; l = l->next)
+    {
+      GdkDevice *device;
+
+      device = (GdkDevice *) l->data;
+
+      on_device_added (seat, device, backend);
+    }
 
-       g_list_free (devices);
+  g_list_free (devices);
 }
 
 MetaBackend *


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