[mutter] clutter/input-pointer-a11y: Include success boolean in stop signals
- From: Olivier Fourdan <ofourdan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] clutter/input-pointer-a11y: Include success boolean in stop signals
- Date: Tue, 27 Aug 2019 08:03:31 +0000 (UTC)
commit a51437ee2beede3d4d64f14d68df3ec557d0fdd0
Author: Jonas Dreßler <verdre v0yd nl>
Date: Thu Aug 22 11:39:15 2019 +0200
clutter/input-pointer-a11y: Include success boolean in stop signals
Add a boolean parameter to the signal to inform the handler whether the
timeout completed successfully or not. This allows the shell to
gracefully end the pie timer animation and show a success animation when
the click happens.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/745
clutter/clutter/clutter-device-manager.c | 8 +++++---
clutter/clutter/clutter-input-pointer-a11y.c | 15 ++++++++++-----
clutter/clutter/clutter-marshal.list | 1 +
3 files changed, 16 insertions(+), 8 deletions(-)
---
diff --git a/clutter/clutter/clutter-device-manager.c b/clutter/clutter/clutter-device-manager.c
index 13f809724..33d488a8d 100644
--- a/clutter/clutter/clutter-device-manager.c
+++ b/clutter/clutter/clutter-device-manager.c
@@ -282,6 +282,7 @@ clutter_device_manager_class_init (ClutterDeviceManagerClass *klass)
* @manager: the #ClutterDeviceManager that emitted the signal
* @device: the core pointer #ClutterInputDevice
* @timeout_type: the type of timeout #ClutterPointerA11yTimeoutType
+ * @clicked: %TRUE if the timeout finished and triggered a click
*
* The ::ptr-a11y-timeout-stopped signal is emitted when a running
* pointer accessibility timeout delay is stopped, either because
@@ -293,10 +294,11 @@ clutter_device_manager_class_init (ClutterDeviceManagerClass *klass)
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0, NULL, NULL,
- _clutter_marshal_VOID__OBJECT_FLAGS,
- G_TYPE_NONE, 2,
+ _clutter_marshal_VOID__OBJECT_FLAGS_BOOLEAN,
+ G_TYPE_NONE, 3,
CLUTTER_TYPE_INPUT_DEVICE,
- CLUTTER_TYPE_POINTER_A11Y_TIMEOUT_TYPE);
+ CLUTTER_TYPE_POINTER_A11Y_TIMEOUT_TYPE,
+ G_TYPE_BOOLEAN);
}
static void
diff --git a/clutter/clutter/clutter-input-pointer-a11y.c b/clutter/clutter/clutter-input-pointer-a11y.c
index e31cbb670..f5bc86dca 100644
--- a/clutter/clutter/clutter-input-pointer-a11y.c
+++ b/clutter/clutter/clutter-input-pointer-a11y.c
@@ -171,7 +171,8 @@ trigger_secondary_click (gpointer data)
g_signal_emit_by_name (device->device_manager,
"ptr-a11y-timeout-stopped",
device,
- CLUTTER_A11Y_TIMEOUT_TYPE_SECONDARY_CLICK);
+ CLUTTER_A11Y_TIMEOUT_TYPE_SECONDARY_CLICK,
+ TRUE);
return G_SOURCE_REMOVE;
}
@@ -202,7 +203,8 @@ stop_secondary_click_timeout (ClutterInputDevice *device)
g_signal_emit_by_name (device->device_manager,
"ptr-a11y-timeout-stopped",
device,
- CLUTTER_A11Y_TIMEOUT_TYPE_SECONDARY_CLICK);
+ CLUTTER_A11Y_TIMEOUT_TYPE_SECONDARY_CLICK,
+ FALSE);
}
device->ptr_a11y_data->secondary_click_triggered = FALSE;
}
@@ -438,7 +440,8 @@ trigger_dwell_gesture (gpointer data)
g_signal_emit_by_name (device->device_manager,
"ptr-a11y-timeout-stopped",
device,
- CLUTTER_A11Y_TIMEOUT_TYPE_GESTURE);
+ CLUTTER_A11Y_TIMEOUT_TYPE_GESTURE,
+ TRUE);
return G_SOURCE_REMOVE;
}
@@ -469,7 +472,8 @@ trigger_dwell_click (gpointer data)
g_signal_emit_by_name (device->device_manager,
"ptr-a11y-timeout-stopped",
device,
- CLUTTER_A11Y_TIMEOUT_TYPE_DWELL);
+ CLUTTER_A11Y_TIMEOUT_TYPE_DWELL,
+ TRUE);
if (get_dwell_mode (device) == CLUTTER_A11Y_DWELL_MODE_GESTURE)
{
@@ -514,7 +518,8 @@ stop_dwell_timeout (ClutterInputDevice *device)
g_signal_emit_by_name (device->device_manager,
"ptr-a11y-timeout-stopped",
device,
- CLUTTER_A11Y_TIMEOUT_TYPE_DWELL);
+ CLUTTER_A11Y_TIMEOUT_TYPE_DWELL,
+ FALSE);
}
}
diff --git a/clutter/clutter/clutter-marshal.list b/clutter/clutter/clutter-marshal.list
index b872001eb..cb64b2dfa 100644
--- a/clutter/clutter/clutter-marshal.list
+++ b/clutter/clutter/clutter-marshal.list
@@ -19,6 +19,7 @@ VOID:INT,POINTER
VOID:FLOAT,FLOAT
VOID:INT,INT,INT,INT
VOID:OBJECT,FLAGS
+VOID:OBJECT,FLAGS,BOOLEAN
VOID:OBJECT,FLAGS,UINT
VOID:OBJECT,FLOAT,FLOAT
VOID:OBJECT,FLOAT,FLOAT,FLAGS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]