forked from rpms/gnome-shell
1340 lines
49 KiB
Diff
1340 lines
49 KiB
Diff
From 8423ba44feddcf06404e10806e910dfba22f26d9 Mon Sep 17 00:00:00 2001
|
|
From: Carlos Garnacho <carlosg@gnome.org>
|
|
Date: Tue, 8 Aug 2023 18:14:04 +0200
|
|
Subject: [PATCH 1/3] js: Mass move to Clutter.Event getter methods in
|
|
Clutter.Actor vfuncs
|
|
|
|
These traditionally got the various ClutterEvent subtype structs as their
|
|
argument, so it was not allowed to use ClutterEvent generic getter methods
|
|
in these vfuncs. These methods used direct access to struct fields instead.
|
|
|
|
This got spoiled with the move to make ClutterEvent opaque types, since
|
|
these are no longer public structs so GNOME Shell most silently failed to
|
|
fetch the expected values from event fields. But since they are not
|
|
ClutterEvents either, the getters could not be used on them.
|
|
|
|
Mutter is changing so that these vmethods all contain an alias to the
|
|
one and only Clutter.Event type, thus lifting those barriers, and making
|
|
it possible to use the ClutterEvent methods in these vfuncs.
|
|
|
|
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2950
|
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>
|
|
---
|
|
js/gdm/authPrompt.js | 6 ++--
|
|
js/ui/appDisplay.js | 23 +++++++------
|
|
js/ui/ibusCandidatePopup.js | 4 +--
|
|
js/ui/layout.js | 4 +--
|
|
js/ui/lookingGlass.js | 14 ++++----
|
|
js/ui/messageList.js | 24 ++++++-------
|
|
js/ui/panel.js | 12 +++----
|
|
js/ui/popupMenu.js | 14 ++++----
|
|
js/ui/runDialog.js | 2 +-
|
|
js/ui/screenshot.js | 66 ++++++++++++++++++++----------------
|
|
js/ui/shellMountOperation.js | 4 +--
|
|
js/ui/slider.js | 6 ++--
|
|
js/ui/switcherPopup.js | 16 ++++-----
|
|
js/ui/unlockDialog.js | 6 ++--
|
|
js/ui/windowPreview.js | 20 +++++------
|
|
15 files changed, 114 insertions(+), 107 deletions(-)
|
|
|
|
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
|
|
index 71917346d67..dd31fb07a50 100644
|
|
--- a/js/gdm/authPrompt.js
|
|
+++ b/js/gdm/authPrompt.js
|
|
@@ -133,10 +133,10 @@ export const AuthPrompt = GObject.registerClass({
|
|
this._userVerifier = null;
|
|
}
|
|
|
|
- vfunc_key_press_event(keyPressEvent) {
|
|
- if (keyPressEvent.keyval == Clutter.KEY_Escape)
|
|
+ vfunc_key_press_event(event) {
|
|
+ if (event.get_key_symbol() === Clutter.KEY_Escape)
|
|
this.cancel();
|
|
- return super.vfunc_key_press_event(keyPressEvent);
|
|
+ return super.vfunc_key_press_event(event);
|
|
}
|
|
|
|
_initInputRow() {
|
|
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
|
|
index 88673b0a54e..6a63355a933 100644
|
|
--- a/js/ui/appDisplay.js
|
|
+++ b/js/ui/appDisplay.js
|
|
@@ -2805,7 +2805,7 @@ export const AppFolderDialog = GObject.registerClass({
|
|
this._zoomAndFadeIn();
|
|
}
|
|
|
|
- vfunc_key_press_event(keyEvent) {
|
|
+ vfunc_key_press_event(event) {
|
|
if (global.stage.get_key_focus() != this)
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
@@ -2828,7 +2828,7 @@ export const AppFolderDialog = GObject.registerClass({
|
|
// languages
|
|
let direction;
|
|
let isLtr = Clutter.get_default_text_direction() == Clutter.TextDirection.LTR;
|
|
- switch (keyEvent.keyval) {
|
|
+ switch (event.get_key_symbol()) {
|
|
case Clutter.KEY_Down:
|
|
direction = St.DirectionType.TAB_FORWARD;
|
|
break;
|
|
@@ -3078,28 +3078,29 @@ export const AppIcon = GObject.registerClass({
|
|
GLib.Source.set_name_by_id(this._menuTimeoutId, '[gnome-shell] this.popupMenu');
|
|
}
|
|
|
|
- vfunc_leave_event(crossingEvent) {
|
|
- const ret = super.vfunc_leave_event(crossingEvent);
|
|
+ vfunc_leave_event(event) {
|
|
+ const ret = super.vfunc_leave_event(event);
|
|
|
|
this.fake_release();
|
|
this._removeMenuTimeout();
|
|
return ret;
|
|
}
|
|
|
|
- vfunc_button_press_event(buttonEvent) {
|
|
- const ret = super.vfunc_button_press_event(buttonEvent);
|
|
- if (buttonEvent.button == 1) {
|
|
+ vfunc_button_press_event(event) {
|
|
+ const ret = super.vfunc_button_press_event(event);
|
|
+ const button = event.get_button();
|
|
+ if (button === 1) {
|
|
this._setPopupTimeout();
|
|
- } else if (buttonEvent.button == 3) {
|
|
+ } else if (button === 3) {
|
|
this.popupMenu();
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
- vfunc_touch_event(touchEvent) {
|
|
- const ret = super.vfunc_touch_event(touchEvent);
|
|
- if (touchEvent.type == Clutter.EventType.TOUCH_BEGIN)
|
|
+ vfunc_touch_event(event) {
|
|
+ const ret = super.vfunc_touch_event(event);
|
|
+ if (event.type() === Clutter.EventType.TOUCH_BEGIN)
|
|
this._setPopupTimeout();
|
|
|
|
return ret;
|
|
diff --git a/js/ui/ibusCandidatePopup.js b/js/ui/ibusCandidatePopup.js
|
|
index 785e1d1521c..0b853a894e0 100644
|
|
--- a/js/ui/ibusCandidatePopup.js
|
|
+++ b/js/ui/ibusCandidatePopup.js
|
|
@@ -82,8 +82,8 @@ const CandidateArea = GObject.registerClass({
|
|
this._cursorPosition = 0;
|
|
}
|
|
|
|
- vfunc_scroll_event(scrollEvent) {
|
|
- switch (scrollEvent.direction) {
|
|
+ vfunc_scroll_event(event) {
|
|
+ switch (event.get_scroll_direction()) {
|
|
case Clutter.ScrollDirection.UP:
|
|
this.emit('cursor-up');
|
|
break;
|
|
diff --git a/js/ui/layout.js b/js/ui/layout.js
|
|
index f7aa47d7c1e..6150e40648c 100644
|
|
--- a/js/ui/layout.js
|
|
+++ b/js/ui/layout.js
|
|
@@ -1291,8 +1291,8 @@ class HotCorner extends Clutter.Actor {
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
|
|
- vfunc_leave_event(crossingEvent) {
|
|
- if (crossingEvent.related != this._corner)
|
|
+ vfunc_leave_event(event) {
|
|
+ if (event.get_related() !== this._corner)
|
|
this._entered = false;
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js
|
|
index 8c1696c79a6..2b1cc072156 100644
|
|
--- a/js/ui/lookingGlass.js
|
|
+++ b/js/ui/lookingGlass.js
|
|
@@ -502,13 +502,13 @@ class ObjInspector extends St.ScrollView {
|
|
this._obj = null;
|
|
}
|
|
|
|
- vfunc_key_press_event(keyPressEvent) {
|
|
- const symbol = keyPressEvent.keyval;
|
|
+ vfunc_key_press_event(event) {
|
|
+ const symbol = event.get_key_symbol();
|
|
if (symbol === Clutter.KEY_Escape) {
|
|
this.close();
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
- return super.vfunc_key_press_event(keyPressEvent);
|
|
+ return super.vfunc_key_press_event(event);
|
|
}
|
|
|
|
_onInsert() {
|
|
@@ -1604,20 +1604,20 @@ class LookingGlass extends St.BoxLayout {
|
|
}
|
|
|
|
// Handle key events which are relevant for all tabs of the LookingGlass
|
|
- vfunc_key_press_event(keyPressEvent) {
|
|
- let symbol = keyPressEvent.keyval;
|
|
+ vfunc_key_press_event(event) {
|
|
+ let symbol = event.get_key_symbol();
|
|
if (symbol == Clutter.KEY_Escape) {
|
|
this.close();
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
// Ctrl+PgUp and Ctrl+PgDown switches tabs in the notebook view
|
|
- if (keyPressEvent.modifier_state & Clutter.ModifierType.CONTROL_MASK) {
|
|
+ if (event.get_state() & Clutter.ModifierType.CONTROL_MASK) {
|
|
if (symbol == Clutter.KEY_Page_Up)
|
|
this._notebook.prevTab();
|
|
else if (symbol == Clutter.KEY_Page_Down)
|
|
this._notebook.nextTab();
|
|
}
|
|
- return super.vfunc_key_press_event(keyPressEvent);
|
|
+ return super.vfunc_key_press_event(event);
|
|
}
|
|
|
|
open() {
|
|
diff --git a/js/ui/messageList.js b/js/ui/messageList.js
|
|
index 1570676160f..cb6e185c71e 100644
|
|
--- a/js/ui/messageList.js
|
|
+++ b/js/ui/messageList.js
|
|
@@ -69,7 +69,7 @@ class URLHighlighter extends St.Label {
|
|
this.setMarkup(text, allowMarkup);
|
|
}
|
|
|
|
- vfunc_button_press_event(buttonEvent) {
|
|
+ vfunc_button_press_event(event) {
|
|
// Don't try to URL highlight when invisible.
|
|
// The MessageTray doesn't actually hide us, so
|
|
// we need to check for paint opacities as well.
|
|
@@ -79,14 +79,14 @@ class URLHighlighter extends St.Label {
|
|
// Keep Notification from seeing this and taking
|
|
// a pointer grab, which would block our button-release-event
|
|
// handler, if an URL is clicked
|
|
- return this._findUrlAtPos(buttonEvent) != -1;
|
|
+ return this._findUrlAtPos(event) !== -1;
|
|
}
|
|
|
|
- vfunc_button_release_event(buttonEvent) {
|
|
+ vfunc_button_release_event(event) {
|
|
if (!this.visible || this.get_paint_opacity() == 0)
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
- let urlId = this._findUrlAtPos(buttonEvent);
|
|
+ const urlId = this._findUrlAtPos(event);
|
|
if (urlId != -1) {
|
|
let url = this._urls[urlId].url;
|
|
if (!url.includes(':'))
|
|
@@ -99,11 +99,11 @@ class URLHighlighter extends St.Label {
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
|
|
- vfunc_motion_event(motionEvent) {
|
|
+ vfunc_motion_event(event) {
|
|
if (!this.visible || this.get_paint_opacity() == 0)
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
- let urlId = this._findUrlAtPos(motionEvent);
|
|
+ const urlId = this._findUrlAtPos(event);
|
|
if (urlId != -1 && !this._cursorChanged) {
|
|
global.display.set_cursor(Meta.Cursor.POINTING_HAND);
|
|
this._cursorChanged = true;
|
|
@@ -114,7 +114,7 @@ class URLHighlighter extends St.Label {
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
|
|
- vfunc_leave_event(crossingEvent) {
|
|
+ vfunc_leave_event(event) {
|
|
if (!this.visible || this.get_paint_opacity() == 0)
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
@@ -122,7 +122,7 @@ class URLHighlighter extends St.Label {
|
|
this._cursorChanged = false;
|
|
global.display.set_cursor(Meta.Cursor.DEFAULT);
|
|
}
|
|
- return super.vfunc_leave_event(crossingEvent);
|
|
+ return super.vfunc_leave_event(event);
|
|
}
|
|
|
|
setMarkup(text, allowMarkup) {
|
|
@@ -151,7 +151,7 @@ class URLHighlighter extends St.Label {
|
|
}
|
|
|
|
_findUrlAtPos(event) {
|
|
- let { x, y } = event;
|
|
+ let [x, y] = event.get_coords();
|
|
[, x, y] = this.transform_stage_point(x, y);
|
|
let findPos = -1;
|
|
for (let i = 0; i < this.clutter_text.text.length; i++) {
|
|
@@ -541,8 +541,8 @@ export const Message = GObject.registerClass({
|
|
_onDestroy() {
|
|
}
|
|
|
|
- vfunc_key_press_event(keyEvent) {
|
|
- let keysym = keyEvent.keyval;
|
|
+ vfunc_key_press_event(event) {
|
|
+ let keysym = event.get_key_symbol();
|
|
|
|
if (keysym == Clutter.KEY_Delete ||
|
|
keysym == Clutter.KEY_KP_Delete) {
|
|
@@ -551,7 +551,7 @@ export const Message = GObject.registerClass({
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
}
|
|
- return super.vfunc_key_press_event(keyEvent);
|
|
+ return super.vfunc_key_press_event(event);
|
|
}
|
|
});
|
|
|
|
diff --git a/js/ui/panel.js b/js/ui/panel.js
|
|
index f65657e7bfb..6b1b63eb15e 100644
|
|
--- a/js/ui/panel.js
|
|
+++ b/js/ui/panel.js
|
|
@@ -310,8 +310,8 @@ class ActivitiesButton extends PanelMenu.Button {
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
|
|
- vfunc_key_release_event(keyEvent) {
|
|
- let symbol = keyEvent.keyval;
|
|
+ vfunc_key_release_event(event) {
|
|
+ let symbol = event.get_key_symbol();
|
|
if (symbol == Clutter.KEY_Return || symbol == Clutter.KEY_space) {
|
|
if (Main.overview.shouldToggleByCornerOrButton()) {
|
|
Main.overview.toggle();
|
|
@@ -609,14 +609,14 @@ class Panel extends St.Widget {
|
|
return this._tryDragWindow(event);
|
|
}
|
|
|
|
- vfunc_key_press_event(keyEvent) {
|
|
- let symbol = keyEvent.keyval;
|
|
+ vfunc_key_press_event(event) {
|
|
+ let symbol = event.get_key_symbol();
|
|
if (symbol == Clutter.KEY_Escape) {
|
|
- global.display.focus_default_window(keyEvent.time);
|
|
+ global.display.focus_default_window(event.get_time());
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
|
|
- return super.vfunc_key_press_event(keyEvent);
|
|
+ return super.vfunc_key_press_event(event);
|
|
}
|
|
|
|
_toggleMenu(indicator) {
|
|
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
|
|
index fe547f416f2..f22e04c21cf 100644
|
|
--- a/js/ui/popupMenu.js
|
|
+++ b/js/ui/popupMenu.js
|
|
@@ -142,14 +142,14 @@ export const PopupBaseMenuItem = GObject.registerClass({
|
|
this._parent = parent;
|
|
}
|
|
|
|
- vfunc_key_press_event(keyEvent) {
|
|
+ vfunc_key_press_event(event) {
|
|
if (global.focus_manager.navigate_from_event(Clutter.get_current_event()))
|
|
return Clutter.EVENT_STOP;
|
|
|
|
if (!this._activatable)
|
|
- return super.vfunc_key_press_event(keyEvent);
|
|
+ return super.vfunc_key_press_event(event);
|
|
|
|
- let state = keyEvent.modifier_state;
|
|
+ let state = event.get_state();
|
|
|
|
// if user has a modifier down (except capslock and numlock)
|
|
// then don't handle the key press here
|
|
@@ -160,7 +160,7 @@ export const PopupBaseMenuItem = GObject.registerClass({
|
|
if (state)
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
- let symbol = keyEvent.keyval;
|
|
+ let symbol = event.get_key_symbol();
|
|
if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
|
|
this.activate(Clutter.get_current_event());
|
|
return Clutter.EVENT_STOP;
|
|
@@ -1244,8 +1244,8 @@ class PopupSubMenuMenuItem extends PopupBaseMenuItem {
|
|
return this.menu.isOpen;
|
|
}
|
|
|
|
- vfunc_key_press_event(keyPressEvent) {
|
|
- let symbol = keyPressEvent.keyval;
|
|
+ vfunc_key_press_event(event) {
|
|
+ let symbol = event.get_key_symbol();
|
|
|
|
if (symbol == Clutter.KEY_Right) {
|
|
this._setOpenState(true);
|
|
@@ -1256,7 +1256,7 @@ class PopupSubMenuMenuItem extends PopupBaseMenuItem {
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
|
|
- return super.vfunc_key_press_event(keyPressEvent);
|
|
+ return super.vfunc_key_press_event(event);
|
|
}
|
|
|
|
activate(_event) {
|
|
diff --git a/js/ui/runDialog.js b/js/ui/runDialog.js
|
|
index 2b4ea3d3357..5e242b6554d 100644
|
|
--- a/js/ui/runDialog.js
|
|
+++ b/js/ui/runDialog.js
|
|
@@ -123,7 +123,7 @@ class RunDialog extends ModalDialog.ModalDialog {
|
|
}
|
|
|
|
vfunc_key_release_event(event) {
|
|
- if (event.keyval === Clutter.KEY_Escape) {
|
|
+ if (event.get_key_symbol() === Clutter.KEY_Escape) {
|
|
this.close();
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
|
|
index 42e356846e3..829c28ee57d 100644
|
|
--- a/js/ui/screenshot.js
|
|
+++ b/js/ui/screenshot.js
|
|
@@ -430,19 +430,20 @@ const UIAreaSelector = GObject.registerClass({
|
|
if (this._dragButton)
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
- const cursor = this._computeCursorType(event.x, event.y);
|
|
+ const [x, y] = event.get_coords();
|
|
+ const cursor = this._computeCursorType(x, y);
|
|
|
|
// Clicking outside of the selection, or using the right mouse button,
|
|
// or with Ctrl results in dragging a new selection from scratch.
|
|
if (cursor === Meta.Cursor.CROSSHAIR ||
|
|
button === Clutter.BUTTON_SECONDARY ||
|
|
- (event.modifier_state & Clutter.ModifierType.CONTROL_MASK)) {
|
|
+ (event.get_state() & Clutter.ModifierType.CONTROL_MASK)) {
|
|
this._dragButton = button;
|
|
|
|
this._dragCursor = Meta.Cursor.CROSSHAIR;
|
|
global.display.set_cursor(Meta.Cursor.CROSSHAIR);
|
|
|
|
- [this._startX, this._startY] = [event.x, event.y];
|
|
+ [this._startX, this._startY] = event.get_coords();
|
|
this._lastX = this._startX = Math.floor(this._startX);
|
|
this._lastY = this._startY = Math.floor(this._startY);
|
|
|
|
@@ -452,8 +453,7 @@ const UIAreaSelector = GObject.registerClass({
|
|
this._dragButton = button;
|
|
|
|
this._dragCursor = cursor;
|
|
- this._dragStartX = event.x;
|
|
- this._dragStartY = event.y;
|
|
+ [this._dragStartX, this._dragStartY] = event.get_coords();
|
|
|
|
const [leftX, topY, width, height] = this.getGeometry();
|
|
const rightX = leftX + width - 1;
|
|
@@ -517,14 +517,16 @@ const UIAreaSelector = GObject.registerClass({
|
|
|
|
// We might have finished creating a new selection, so we need to
|
|
// update the cursor.
|
|
- this._updateCursor(event.x, event.y);
|
|
+ const [x, y] = event.get_coords();
|
|
+ this._updateCursor(x, y);
|
|
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
|
|
_onMotion(event, sequence) {
|
|
if (!this._dragButton) {
|
|
- this._updateCursor(event.x, event.y);
|
|
+ const [x, y] = event.get_coords();
|
|
+ this._updateCursor(x, y);
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
|
|
@@ -532,12 +534,13 @@ const UIAreaSelector = GObject.registerClass({
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
if (this._dragCursor === Meta.Cursor.CROSSHAIR) {
|
|
- [this._lastX, this._lastY] = [event.x, event.y];
|
|
+ [this._lastX, this._lastY] = event.get_coords();
|
|
this._lastX = Math.floor(this._lastX);
|
|
this._lastY = Math.floor(this._lastY);
|
|
} else {
|
|
- let dx = Math.round(event.x - this._dragStartX);
|
|
- let dy = Math.round(event.y - this._dragStartY);
|
|
+ const [x, y] = event.get_coords();
|
|
+ let dx = Math.round(x - this._dragStartX);
|
|
+ let dy = Math.round(y - this._dragStartY);
|
|
|
|
if (this._dragCursor === Meta.Cursor.MOVE_OR_RESIZE_WINDOW) {
|
|
const [,, selectionWidth, selectionHeight] = this.getGeometry();
|
|
@@ -658,17 +661,19 @@ const UIAreaSelector = GObject.registerClass({
|
|
}
|
|
|
|
vfunc_button_press_event(event) {
|
|
- if (event.button === Clutter.BUTTON_PRIMARY ||
|
|
- event.button === Clutter.BUTTON_SECONDARY)
|
|
- return this._onPress(event, event.button, null);
|
|
+ const button = event.get_button();
|
|
+ if (button === Clutter.BUTTON_PRIMARY ||
|
|
+ button === Clutter.BUTTON_SECONDARY)
|
|
+ return this._onPress(event, button, null);
|
|
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
|
|
vfunc_button_release_event(event) {
|
|
- if (event.button === Clutter.BUTTON_PRIMARY ||
|
|
- event.button === Clutter.BUTTON_SECONDARY)
|
|
- return this._onRelease(event, event.button, null);
|
|
+ const button = event.get_button();
|
|
+ if (button === Clutter.BUTTON_PRIMARY ||
|
|
+ button === Clutter.BUTTON_SECONDARY)
|
|
+ return this._onRelease(event, button, null);
|
|
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
@@ -678,12 +683,13 @@ const UIAreaSelector = GObject.registerClass({
|
|
}
|
|
|
|
vfunc_touch_event(event) {
|
|
- if (event.type === Clutter.EventType.TOUCH_BEGIN)
|
|
- return this._onPress(event, 'touch', event.sequence);
|
|
- else if (event.type === Clutter.EventType.TOUCH_END)
|
|
- return this._onRelease(event, 'touch', event.sequence);
|
|
- else if (event.type === Clutter.EventType.TOUCH_UPDATE)
|
|
- return this._onMotion(event, event.sequence);
|
|
+ const eventType = event.type();
|
|
+ if (eventType === Clutter.EventType.TOUCH_BEGIN)
|
|
+ return this._onPress(event, 'touch', event.get_event_sequence());
|
|
+ else if (eventType === Clutter.EventType.TOUCH_END)
|
|
+ return this._onRelease(event, 'touch', event.get_event_sequence());
|
|
+ else if (eventType === Clutter.EventType.TOUCH_UPDATE)
|
|
+ return this._onMotion(event, event.get_event_sequence());
|
|
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
@@ -1999,9 +2005,9 @@ export const ScreenshotUI = GObject.registerClass({
|
|
}
|
|
|
|
vfunc_key_press_event(event) {
|
|
- const symbol = event.keyval;
|
|
+ const symbol = event.get_key_symbol();
|
|
if (symbol === Clutter.KEY_Return || symbol === Clutter.KEY_space ||
|
|
- ((event.modifier_state & Clutter.ModifierType.CONTROL_MASK) &&
|
|
+ ((event.get_state() & Clutter.ModifierType.CONTROL_MASK) &&
|
|
(symbol === Clutter.KEY_c || symbol === Clutter.KEY_C))) {
|
|
this._onCaptureButtonClicked();
|
|
return Clutter.EVENT_STOP;
|
|
@@ -2656,11 +2662,11 @@ class SelectArea extends St.Widget {
|
|
});
|
|
}
|
|
|
|
- vfunc_motion_event(motionEvent) {
|
|
+ vfunc_motion_event(event) {
|
|
if (this._startX == -1 || this._startY == -1 || this._result)
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
- [this._lastX, this._lastY] = [motionEvent.x, motionEvent.y];
|
|
+ [this._lastX, this._lastY] = event.get_coords();
|
|
this._lastX = Math.floor(this._lastX);
|
|
this._lastY = Math.floor(this._lastY);
|
|
let geometry = this._getGeometry();
|
|
@@ -2672,11 +2678,11 @@ class SelectArea extends St.Widget {
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
|
|
- vfunc_button_press_event(buttonEvent) {
|
|
+ vfunc_button_press_event(event) {
|
|
if (this._result)
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
- [this._startX, this._startY] = [buttonEvent.x, buttonEvent.y];
|
|
+ [this._startX, this._startY] = event.get_coords();
|
|
this._startX = Math.floor(this._startX);
|
|
this._startY = Math.floor(this._startY);
|
|
this._rubberband.set_position(this._startX, this._startY);
|
|
@@ -2913,8 +2919,8 @@ class PickPixel extends St.Widget {
|
|
this._previewCursor.show();
|
|
}
|
|
|
|
- vfunc_motion_event(motionEvent) {
|
|
- const { x, y } = motionEvent;
|
|
+ vfunc_motion_event(event) {
|
|
+ const [x, y] = event.get_coords();
|
|
this._pickColor(x, y);
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
diff --git a/js/ui/shellMountOperation.js b/js/ui/shellMountOperation.js
|
|
index 035fd971df5..d8371dfa823 100644
|
|
--- a/js/ui/shellMountOperation.js
|
|
+++ b/js/ui/shellMountOperation.js
|
|
@@ -238,7 +238,7 @@ const ShellMountQuestionDialog = GObject.registerClass({
|
|
}
|
|
|
|
vfunc_key_release_event(event) {
|
|
- if (event.keyval === Clutter.KEY_Escape) {
|
|
+ if (event.get_key_symbol() === Clutter.KEY_Escape) {
|
|
this.emit('response', -1);
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
@@ -491,7 +491,7 @@ const ShellProcessesDialog = GObject.registerClass({
|
|
}
|
|
|
|
vfunc_key_release_event(event) {
|
|
- if (event.keyval === Clutter.KEY_Escape) {
|
|
+ if (event.get_key_symbol() === Clutter.KEY_Escape) {
|
|
this.emit('response', -1);
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
diff --git a/js/ui/slider.js b/js/ui/slider.js
|
|
index 4f60556aeac..7ca0e3fef70 100644
|
|
--- a/js/ui/slider.js
|
|
+++ b/js/ui/slider.js
|
|
@@ -177,14 +177,14 @@ export const Slider = GObject.registerClass({
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
|
|
- vfunc_key_press_event(keyPressEvent) {
|
|
- let key = keyPressEvent.keyval;
|
|
+ vfunc_key_press_event(event) {
|
|
+ let key = event.get_key_symbol();
|
|
if (key == Clutter.KEY_Right || key == Clutter.KEY_Left) {
|
|
let delta = key == Clutter.KEY_Right ? 0.1 : -0.1;
|
|
this.value = Math.max(0, Math.min(this._value + delta, this._maxValue));
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
- return super.vfunc_key_press_event(keyPressEvent);
|
|
+ return super.vfunc_key_press_event(event);
|
|
}
|
|
|
|
_moveHandle(absX, _absY) {
|
|
diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js
|
|
index a5eeee2ae52..e390fa44bb9 100644
|
|
--- a/js/ui/switcherPopup.js
|
|
+++ b/js/ui/switcherPopup.js
|
|
@@ -183,10 +183,10 @@ export const SwitcherPopup = GObject.registerClass({
|
|
throw new GObject.NotImplementedError(`_keyPressHandler in ${this.constructor.name}`);
|
|
}
|
|
|
|
- vfunc_key_press_event(keyEvent) {
|
|
- let keysym = keyEvent.keyval;
|
|
+ vfunc_key_press_event(event) {
|
|
+ let keysym = event.get_key_symbol();
|
|
let action = global.display.get_keybinding_action(
|
|
- keyEvent.hardware_keycode, keyEvent.modifier_state);
|
|
+ event.get_key_code(), event.get_state());
|
|
|
|
this._disableHover();
|
|
|
|
@@ -206,18 +206,18 @@ export const SwitcherPopup = GObject.registerClass({
|
|
keysym === Clutter.KEY_Return ||
|
|
keysym === Clutter.KEY_KP_Enter ||
|
|
keysym === Clutter.KEY_ISO_Enter)
|
|
- this._finish(keyEvent.time);
|
|
+ this._finish(event.get_time());
|
|
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
|
|
- vfunc_key_release_event(keyEvent) {
|
|
+ vfunc_key_release_event(event) {
|
|
if (this._modifierMask) {
|
|
let [x_, y_, mods] = global.get_pointer();
|
|
let state = mods & this._modifierMask;
|
|
|
|
if (state == 0)
|
|
- this._finish(keyEvent.time);
|
|
+ this._finish(event.get_time());
|
|
} else {
|
|
this._resetNoModsTimeout();
|
|
}
|
|
@@ -238,10 +238,10 @@ export const SwitcherPopup = GObject.registerClass({
|
|
this._select(this._next());
|
|
}
|
|
|
|
- vfunc_scroll_event(scrollEvent) {
|
|
+ vfunc_scroll_event(event) {
|
|
this._disableHover();
|
|
|
|
- this._scrollHandler(scrollEvent.direction);
|
|
+ this._scrollHandler(event.get_scroll_direction());
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
|
|
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
|
|
index 8859b3c3a7a..541e833ea9a 100644
|
|
--- a/js/ui/unlockDialog.js
|
|
+++ b/js/ui/unlockDialog.js
|
|
@@ -607,19 +607,19 @@ export const UnlockDialog = GObject.registerClass({
|
|
this.connect('destroy', this._onDestroy.bind(this));
|
|
}
|
|
|
|
- vfunc_key_press_event(keyEvent) {
|
|
+ vfunc_key_press_event(event) {
|
|
if (this._activePage === this._promptBox ||
|
|
(this._promptBox && this._promptBox.visible))
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
- const { keyval } = keyEvent;
|
|
+ const keyval = event.get_key_symbol();
|
|
if (keyval === Clutter.KEY_Shift_L ||
|
|
keyval === Clutter.KEY_Shift_R ||
|
|
keyval === Clutter.KEY_Shift_Lock ||
|
|
keyval === Clutter.KEY_Caps_Lock)
|
|
return Clutter.EVENT_PROPAGATE;
|
|
|
|
- let unichar = keyEvent.unicode_value;
|
|
+ let unichar = event.get_key_unicode();
|
|
|
|
this._showPrompt();
|
|
|
|
diff --git a/js/ui/windowPreview.js b/js/ui/windowPreview.js
|
|
index bc1d792e123..12f1e883e56 100644
|
|
--- a/js/ui/windowPreview.js
|
|
+++ b/js/ui/windowPreview.js
|
|
@@ -557,18 +557,18 @@ export const WindowPreview = GObject.registerClass({
|
|
this.emit('selected', global.get_current_time());
|
|
}
|
|
|
|
- vfunc_enter_event(crossingEvent) {
|
|
+ vfunc_enter_event(event) {
|
|
this.showOverlay(true);
|
|
- return super.vfunc_enter_event(crossingEvent);
|
|
+ return super.vfunc_enter_event(event);
|
|
}
|
|
|
|
- vfunc_leave_event(crossingEvent) {
|
|
+ vfunc_leave_event(event) {
|
|
if (this._destroyed)
|
|
- return super.vfunc_leave_event(crossingEvent);
|
|
+ return super.vfunc_leave_event(event);
|
|
|
|
- if ((crossingEvent.flags & Clutter.EventFlags.FLAG_GRAB_NOTIFY) !== 0 &&
|
|
+ if ((event.get_flags() & Clutter.EventFlags.FLAG_GRAB_NOTIFY) !== 0 &&
|
|
global.stage.get_grab_actor() === this._closeButton)
|
|
- return super.vfunc_leave_event(crossingEvent);
|
|
+ return super.vfunc_leave_event(event);
|
|
|
|
if (this._idleHideOverlayId > 0)
|
|
GLib.source_remove(this._idleHideOverlayId);
|
|
@@ -589,7 +589,7 @@ export const WindowPreview = GObject.registerClass({
|
|
|
|
GLib.Source.set_name_by_id(this._idleHideOverlayId, '[gnome-shell] this._idleHideOverlayId');
|
|
|
|
- return super.vfunc_leave_event(crossingEvent);
|
|
+ return super.vfunc_leave_event(event);
|
|
}
|
|
|
|
vfunc_key_focus_in() {
|
|
@@ -604,15 +604,15 @@ export const WindowPreview = GObject.registerClass({
|
|
this.hideOverlay(true);
|
|
}
|
|
|
|
- vfunc_key_press_event(keyEvent) {
|
|
- let symbol = keyEvent.keyval;
|
|
+ vfunc_key_press_event(event) {
|
|
+ let symbol = event.get_key_symbol();
|
|
let isEnter = symbol == Clutter.KEY_Return || symbol == Clutter.KEY_KP_Enter;
|
|
if (isEnter) {
|
|
this._activate();
|
|
return true;
|
|
}
|
|
|
|
- return super.vfunc_key_press_event(keyEvent);
|
|
+ return super.vfunc_key_press_event(event);
|
|
}
|
|
|
|
_restack() {
|
|
--
|
|
GitLab
|
|
|
|
|
|
From d56b05b5c3b9dffa44a513b67a15beb69e7c2190 Mon Sep 17 00:00:00 2001
|
|
From: Carlos Garnacho <carlosg@gnome.org>
|
|
Date: Tue, 8 Aug 2023 18:22:11 +0200
|
|
Subject: [PATCH 2/3] js: Avoid Clutter.get_current_event() in Clutter.Actor
|
|
event vfuncs
|
|
|
|
We sometimes obtained the current event through the general machinery
|
|
just so we could pass it along as a ClutterEvent instead of a specialized
|
|
subtype.
|
|
|
|
We now get that out of the box, so may avoid getting the current event
|
|
which is just a cast of the same current event we already have.
|
|
|
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>
|
|
---
|
|
js/ui/modalDialog.js | 4 ++--
|
|
js/ui/popupMenu.js | 4 ++--
|
|
js/ui/slider.js | 15 +++++++--------
|
|
3 files changed, 11 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js
|
|
index 18e1f34e7ca..df32fcca564 100644
|
|
--- a/js/ui/modalDialog.js
|
|
+++ b/js/ui/modalDialog.js
|
|
@@ -111,8 +111,8 @@ export const ModalDialog = GObject.registerClass({
|
|
this.notify('state');
|
|
}
|
|
|
|
- vfunc_key_press_event() {
|
|
- if (global.focus_manager.navigate_from_event(Clutter.get_current_event()))
|
|
+ vfunc_key_press_event(event) {
|
|
+ if (global.focus_manager.navigate_from_event(event))
|
|
return Clutter.EVENT_STOP;
|
|
|
|
return Clutter.EVENT_PROPAGATE;
|
|
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
|
|
index f22e04c21cf..c15b74c3dbd 100644
|
|
--- a/js/ui/popupMenu.js
|
|
+++ b/js/ui/popupMenu.js
|
|
@@ -143,7 +143,7 @@ export const PopupBaseMenuItem = GObject.registerClass({
|
|
}
|
|
|
|
vfunc_key_press_event(event) {
|
|
- if (global.focus_manager.navigate_from_event(Clutter.get_current_event()))
|
|
+ if (global.focus_manager.navigate_from_event(event))
|
|
return Clutter.EVENT_STOP;
|
|
|
|
if (!this._activatable)
|
|
@@ -162,7 +162,7 @@ export const PopupBaseMenuItem = GObject.registerClass({
|
|
|
|
let symbol = event.get_key_symbol();
|
|
if (symbol == Clutter.KEY_space || symbol == Clutter.KEY_Return) {
|
|
- this.activate(Clutter.get_current_event());
|
|
+ this.activate(event);
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
return Clutter.EVENT_PROPAGATE;
|
|
diff --git a/js/ui/slider.js b/js/ui/slider.js
|
|
index 7ca0e3fef70..cde2ebce345 100644
|
|
--- a/js/ui/slider.js
|
|
+++ b/js/ui/slider.js
|
|
@@ -61,8 +61,8 @@ export const Slider = GObject.registerClass({
|
|
cr.$dispose();
|
|
}
|
|
|
|
- vfunc_button_press_event() {
|
|
- return this.startDragging(Clutter.get_current_event());
|
|
+ vfunc_button_press_event(event) {
|
|
+ return this.startDragging(event);
|
|
}
|
|
|
|
startDragging(event) {
|
|
@@ -117,8 +117,7 @@ export const Slider = GObject.registerClass({
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
|
|
- vfunc_touch_event() {
|
|
- let event = Clutter.get_current_event();
|
|
+ vfunc_touch_event(event) {
|
|
let sequence = event.get_event_sequence();
|
|
|
|
if (!this._dragging &&
|
|
@@ -159,13 +158,13 @@ export const Slider = GObject.registerClass({
|
|
return Clutter.EVENT_STOP;
|
|
}
|
|
|
|
- vfunc_scroll_event() {
|
|
- return this.scroll(Clutter.get_current_event());
|
|
+ vfunc_scroll_event(event) {
|
|
+ return this.scroll(event);
|
|
}
|
|
|
|
- vfunc_motion_event() {
|
|
+ vfunc_motion_event(event) {
|
|
if (this._dragging && !this._grabbedSequence)
|
|
- return this._motionEvent(this, Clutter.get_current_event());
|
|
+ return this._motionEvent(this, event);
|
|
|
|
return Clutter.EVENT_PROPAGATE;
|
|
}
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 111a0a7fa1450070992adf0399e7322ed8ddcf72 Mon Sep 17 00:00:00 2001
|
|
From: Carlos Garnacho <carlosg@gnome.org>
|
|
Date: Wed, 9 Aug 2023 00:26:52 +0200
|
|
Subject: [PATCH 3/3] st: Mass update to ClutterActorClass event vmethod
|
|
changes
|
|
|
|
These are now forwarded as ClutterEvent in order to remain accessible
|
|
on the Javascript side. This also means all ClutterActor implementations
|
|
in ST need to update to this change.
|
|
|
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>
|
|
---
|
|
src/st/st-button.c | 48 +++++++++++++++----------------
|
|
src/st/st-entry.c | 28 +++++++++----------
|
|
src/st/st-scroll-bar.c | 62 ++++++++++++++++++++---------------------
|
|
src/st/st-scroll-view.c | 10 +++----
|
|
src/st/st-widget.c | 20 ++++++-------
|
|
5 files changed, 84 insertions(+), 84 deletions(-)
|
|
|
|
diff --git a/src/st/st-button.c b/src/st/st-button.c
|
|
index f1499cf43ea..687a54d2366 100644
|
|
--- a/src/st/st-button.c
|
|
+++ b/src/st/st-button.c
|
|
@@ -181,14 +181,14 @@ st_button_release (StButton *button,
|
|
}
|
|
|
|
static gboolean
|
|
-st_button_button_press (ClutterActor *actor,
|
|
- ClutterButtonEvent *event)
|
|
+st_button_button_press (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StButton *button = ST_BUTTON (actor);
|
|
StButtonPrivate *priv = st_button_get_instance_private (button);
|
|
- int button_nr = clutter_event_get_button ((ClutterEvent *) event);
|
|
+ int button_nr = clutter_event_get_button (event);
|
|
StButtonMask mask = ST_BUTTON_MASK_FROM_BUTTON (button_nr);
|
|
- ClutterInputDevice *device = clutter_event_get_device ((ClutterEvent*) event);
|
|
+ ClutterInputDevice *device = clutter_event_get_device (event);
|
|
|
|
if (priv->press_sequence)
|
|
return CLUTTER_EVENT_PROPAGATE;
|
|
@@ -212,14 +212,14 @@ st_button_button_press (ClutterActor *actor,
|
|
}
|
|
|
|
static gboolean
|
|
-st_button_button_release (ClutterActor *actor,
|
|
- ClutterButtonEvent *event)
|
|
+st_button_button_release (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StButton *button = ST_BUTTON (actor);
|
|
StButtonPrivate *priv = st_button_get_instance_private (button);
|
|
- int button_nr = clutter_event_get_button ((ClutterEvent *) event);
|
|
+ int button_nr = clutter_event_get_button (event);
|
|
StButtonMask mask = ST_BUTTON_MASK_FROM_BUTTON (button_nr);
|
|
- ClutterInputDevice *device = clutter_event_get_device ((ClutterEvent*) event);
|
|
+ ClutterInputDevice *device = clutter_event_get_device (event);
|
|
|
|
if (priv->button_mask & mask)
|
|
{
|
|
@@ -228,7 +228,7 @@ st_button_button_release (ClutterActor *actor,
|
|
gboolean is_click;
|
|
|
|
stage = CLUTTER_STAGE (clutter_actor_get_stage (actor));
|
|
- target = clutter_stage_get_event_actor (stage, (ClutterEvent *) event);
|
|
+ target = clutter_stage_get_event_actor (stage, event);
|
|
|
|
is_click = priv->grabbed && clutter_actor_contains (actor, target);
|
|
st_button_release (button, device, mask, is_click ? button_nr : 0, NULL);
|
|
@@ -247,8 +247,8 @@ st_button_button_release (ClutterActor *actor,
|
|
}
|
|
|
|
static gboolean
|
|
-st_button_touch_event (ClutterActor *actor,
|
|
- ClutterTouchEvent *event)
|
|
+st_button_touch_event (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StButton *button = ST_BUTTON (actor);
|
|
StButtonPrivate *priv = st_button_get_instance_private (button);
|
|
@@ -262,9 +262,9 @@ st_button_touch_event (ClutterActor *actor,
|
|
if ((priv->button_mask & mask) == 0)
|
|
return CLUTTER_EVENT_PROPAGATE;
|
|
|
|
- device = clutter_event_get_device ((ClutterEvent*) event);
|
|
- sequence = clutter_event_get_event_sequence ((ClutterEvent*) event);
|
|
- event_type = clutter_event_type ((ClutterEvent *) event);
|
|
+ device = clutter_event_get_device (event);
|
|
+ sequence = clutter_event_get_event_sequence (event);
|
|
+ event_type = clutter_event_type (event);
|
|
|
|
if (event_type == CLUTTER_TOUCH_BEGIN && !priv->grab && !priv->press_sequence)
|
|
{
|
|
@@ -287,8 +287,8 @@ st_button_touch_event (ClutterActor *actor,
|
|
}
|
|
|
|
static gboolean
|
|
-st_button_key_press (ClutterActor *actor,
|
|
- ClutterKeyEvent *event)
|
|
+st_button_key_press (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StButton *button = ST_BUTTON (actor);
|
|
StButtonPrivate *priv = st_button_get_instance_private (button);
|
|
@@ -296,7 +296,7 @@ st_button_key_press (ClutterActor *actor,
|
|
|
|
if (priv->button_mask & ST_BUTTON_ONE)
|
|
{
|
|
- keyval = clutter_event_get_key_symbol ((ClutterEvent *) event);
|
|
+ keyval = clutter_event_get_key_symbol (event);
|
|
|
|
if (keyval == CLUTTER_KEY_space ||
|
|
keyval == CLUTTER_KEY_Return ||
|
|
@@ -312,8 +312,8 @@ st_button_key_press (ClutterActor *actor,
|
|
}
|
|
|
|
static gboolean
|
|
-st_button_key_release (ClutterActor *actor,
|
|
- ClutterKeyEvent *event)
|
|
+st_button_key_release (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StButton *button = ST_BUTTON (actor);
|
|
StButtonPrivate *priv = st_button_get_instance_private (button);
|
|
@@ -321,7 +321,7 @@ st_button_key_release (ClutterActor *actor,
|
|
|
|
if (priv->button_mask & ST_BUTTON_ONE)
|
|
{
|
|
- keyval = clutter_event_get_key_symbol ((ClutterEvent *) event);
|
|
+ keyval = clutter_event_get_key_symbol (event);
|
|
|
|
if (keyval == CLUTTER_KEY_space ||
|
|
keyval == CLUTTER_KEY_Return ||
|
|
@@ -354,8 +354,8 @@ st_button_key_focus_out (ClutterActor *actor)
|
|
}
|
|
|
|
static gboolean
|
|
-st_button_enter (ClutterActor *actor,
|
|
- ClutterCrossingEvent *event)
|
|
+st_button_enter (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StButton *button = ST_BUTTON (actor);
|
|
StButtonPrivate *priv = st_button_get_instance_private (button);
|
|
@@ -377,8 +377,8 @@ st_button_enter (ClutterActor *actor,
|
|
}
|
|
|
|
static gboolean
|
|
-st_button_leave (ClutterActor *actor,
|
|
- ClutterCrossingEvent *event)
|
|
+st_button_leave (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StButton *button = ST_BUTTON (actor);
|
|
StButtonPrivate *priv = st_button_get_instance_private (button);
|
|
diff --git a/src/st/st-entry.c b/src/st/st-entry.c
|
|
index debc96dc9a0..0de195ebcf7 100644
|
|
--- a/src/st/st-entry.c
|
|
+++ b/src/st/st-entry.c
|
|
@@ -605,13 +605,13 @@ st_entry_clipboard_callback (StClipboard *clipboard,
|
|
}
|
|
|
|
static gboolean
|
|
-clutter_text_button_press_event (ClutterActor *actor,
|
|
- ClutterButtonEvent *event,
|
|
- gpointer user_data)
|
|
+clutter_text_button_press_event (ClutterActor *actor,
|
|
+ ClutterEvent *event,
|
|
+ gpointer user_data)
|
|
{
|
|
StEntryPrivate *priv = ST_ENTRY_PRIV (user_data);
|
|
|
|
- if (clutter_event_get_button ((ClutterEvent *) event) == 2 &&
|
|
+ if (clutter_event_get_button (event) == 2 &&
|
|
clutter_text_get_editable (CLUTTER_TEXT (priv->entry)))
|
|
{
|
|
StSettings *settings;
|
|
@@ -642,8 +642,8 @@ clutter_text_button_press_event (ClutterActor *actor,
|
|
}
|
|
|
|
static gboolean
|
|
-st_entry_key_press_event (ClutterActor *actor,
|
|
- ClutterKeyEvent *event)
|
|
+st_entry_key_press_event (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StEntryPrivate *priv = ST_ENTRY_PRIV (actor);
|
|
ClutterModifierType state;
|
|
@@ -654,8 +654,8 @@ st_entry_key_press_event (ClutterActor *actor,
|
|
didn't handle them */
|
|
|
|
/* paste */
|
|
- state = clutter_event_get_state ((ClutterEvent *) event);
|
|
- keyval = clutter_event_get_key_symbol ((ClutterEvent *) event);
|
|
+ state = clutter_event_get_state (event);
|
|
+ keyval = clutter_event_get_key_symbol (event);
|
|
|
|
if (((state & CLUTTER_CONTROL_MASK)
|
|
&& keyval == CLUTTER_KEY_v) ||
|
|
@@ -790,26 +790,26 @@ st_entry_set_cursor (StEntry *entry,
|
|
}
|
|
|
|
static gboolean
|
|
-st_entry_enter_event (ClutterActor *actor,
|
|
- ClutterCrossingEvent *event)
|
|
+st_entry_enter_event (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StEntryPrivate *priv = ST_ENTRY_PRIV (actor);
|
|
ClutterStage *stage;
|
|
ClutterActor *target;
|
|
|
|
stage = CLUTTER_STAGE (clutter_actor_get_stage (actor));
|
|
- target = clutter_stage_get_event_actor (stage, (ClutterEvent *) event);
|
|
+ target = clutter_stage_get_event_actor (stage, event);
|
|
|
|
if (target == priv->entry &&
|
|
- clutter_event_get_related ((ClutterEvent *) event) != NULL)
|
|
+ clutter_event_get_related (event) != NULL)
|
|
st_entry_set_cursor (ST_ENTRY (actor), TRUE);
|
|
|
|
return CLUTTER_ACTOR_CLASS (st_entry_parent_class)->enter_event (actor, event);
|
|
}
|
|
|
|
static gboolean
|
|
-st_entry_leave_event (ClutterActor *actor,
|
|
- ClutterCrossingEvent *event)
|
|
+st_entry_leave_event (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
st_entry_set_cursor (ST_ENTRY (actor), FALSE);
|
|
|
|
diff --git a/src/st/st-scroll-bar.c b/src/st/st-scroll-bar.c
|
|
index e2c09203e1b..270f3f2db6b 100644
|
|
--- a/src/st/st-scroll-bar.c
|
|
+++ b/src/st/st-scroll-bar.c
|
|
@@ -97,9 +97,9 @@ enum
|
|
static guint signals[LAST_SIGNAL] = { 0, };
|
|
|
|
static gboolean
|
|
-handle_button_press_event_cb (ClutterActor *actor,
|
|
- ClutterButtonEvent *event,
|
|
- StScrollBar *bar);
|
|
+handle_button_press_event_cb (ClutterActor *actor,
|
|
+ ClutterEvent *event,
|
|
+ StScrollBar *bar);
|
|
|
|
static void stop_scrolling (StScrollBar *bar);
|
|
|
|
@@ -462,26 +462,26 @@ adjust_with_direction (StAdjustment *adj,
|
|
}
|
|
|
|
static gboolean
|
|
-st_scroll_bar_scroll_event (ClutterActor *actor,
|
|
- ClutterScrollEvent *event)
|
|
+st_scroll_bar_scroll_event (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StScrollBarPrivate *priv = ST_SCROLL_BAR_PRIVATE (actor);
|
|
ClutterTextDirection direction;
|
|
ClutterScrollDirection scroll_dir;
|
|
|
|
- if (!!(clutter_event_get_flags ((ClutterEvent *) event) &
|
|
+ if (!!(clutter_event_get_flags (event) &
|
|
CLUTTER_EVENT_FLAG_POINTER_EMULATED))
|
|
return TRUE;
|
|
|
|
direction = clutter_actor_get_text_direction (actor);
|
|
- scroll_dir = clutter_event_get_scroll_direction ((ClutterEvent *) event);
|
|
+ scroll_dir = clutter_event_get_scroll_direction (event);
|
|
|
|
switch (scroll_dir)
|
|
{
|
|
case CLUTTER_SCROLL_SMOOTH:
|
|
{
|
|
gdouble delta_x, delta_y;
|
|
- clutter_event_get_scroll_delta ((ClutterEvent *)event, &delta_x, &delta_y);
|
|
+ clutter_event_get_scroll_delta (event, &delta_x, &delta_y);
|
|
|
|
if (direction == CLUTTER_TEXT_DIRECTION_RTL)
|
|
delta_x *= -1;
|
|
@@ -652,9 +652,9 @@ stop_scrolling (StScrollBar *bar)
|
|
}
|
|
|
|
static gboolean
|
|
-handle_motion_event_cb (ClutterActor *trough,
|
|
- ClutterMotionEvent *event,
|
|
- StScrollBar *bar)
|
|
+handle_motion_event_cb (ClutterActor *trough,
|
|
+ ClutterEvent *event,
|
|
+ StScrollBar *bar)
|
|
{
|
|
StScrollBarPrivate *priv = st_scroll_bar_get_instance_private (bar);
|
|
graphene_point_t coords;
|
|
@@ -662,17 +662,17 @@ handle_motion_event_cb (ClutterActor *trough,
|
|
if (!priv->grab_device)
|
|
return FALSE;
|
|
|
|
- clutter_event_get_position ((ClutterEvent *) event, &coords);
|
|
+ clutter_event_get_position (event, &coords);
|
|
move_slider (bar, coords.x, coords.y);
|
|
return TRUE;
|
|
}
|
|
|
|
static gboolean
|
|
-handle_button_release_event_cb (ClutterActor *trough,
|
|
- ClutterButtonEvent *event,
|
|
- StScrollBar *bar)
|
|
+handle_button_release_event_cb (ClutterActor *trough,
|
|
+ ClutterEvent *event,
|
|
+ StScrollBar *bar)
|
|
{
|
|
- if (clutter_event_get_button ((ClutterEvent *) event) != 1)
|
|
+ if (clutter_event_get_button (event) != 1)
|
|
return FALSE;
|
|
|
|
stop_scrolling (bar);
|
|
@@ -680,19 +680,19 @@ handle_button_release_event_cb (ClutterActor *trough,
|
|
}
|
|
|
|
static gboolean
|
|
-handle_button_press_event_cb (ClutterActor *actor,
|
|
- ClutterButtonEvent *event,
|
|
- StScrollBar *bar)
|
|
+handle_button_press_event_cb (ClutterActor *actor,
|
|
+ ClutterEvent *event,
|
|
+ StScrollBar *bar)
|
|
{
|
|
StScrollBarPrivate *priv = st_scroll_bar_get_instance_private (bar);
|
|
- ClutterInputDevice *device = clutter_event_get_device ((ClutterEvent*) event);
|
|
+ ClutterInputDevice *device = clutter_event_get_device (event);
|
|
graphene_point_t coords;
|
|
ClutterActor *stage;
|
|
|
|
- if (clutter_event_get_button ((ClutterEvent *) event) != 1)
|
|
+ if (clutter_event_get_button (event) != 1)
|
|
return FALSE;
|
|
|
|
- clutter_event_get_position ((ClutterEvent *) event, &coords);
|
|
+ clutter_event_get_position (event, &coords);
|
|
|
|
if (!clutter_actor_transform_stage_point (priv->handle,
|
|
coords.x,
|
|
@@ -838,23 +838,23 @@ trough_paging_cb (StScrollBar *self)
|
|
}
|
|
|
|
static gboolean
|
|
-trough_button_press_event_cb (ClutterActor *actor,
|
|
- ClutterButtonEvent *event,
|
|
- StScrollBar *self)
|
|
+trough_button_press_event_cb (ClutterActor *actor,
|
|
+ ClutterEvent *event,
|
|
+ StScrollBar *self)
|
|
{
|
|
StScrollBarPrivate *priv;
|
|
graphene_point_t coords;
|
|
|
|
g_return_val_if_fail (self, FALSE);
|
|
|
|
- if (clutter_event_get_button ((ClutterEvent *) event) != 1)
|
|
+ if (clutter_event_get_button (event) != 1)
|
|
return FALSE;
|
|
|
|
priv = st_scroll_bar_get_instance_private (self);
|
|
if (priv->adjustment == NULL)
|
|
return FALSE;
|
|
|
|
- clutter_event_get_position ((ClutterEvent *) event, &coords);
|
|
+ clutter_event_get_position (event, &coords);
|
|
|
|
priv->move_x = coords.x;
|
|
priv->move_y = coords.y;
|
|
@@ -866,13 +866,13 @@ trough_button_press_event_cb (ClutterActor *actor,
|
|
}
|
|
|
|
static gboolean
|
|
-trough_button_release_event_cb (ClutterActor *actor,
|
|
- ClutterButtonEvent *event,
|
|
- StScrollBar *self)
|
|
+trough_button_release_event_cb (ClutterActor *actor,
|
|
+ ClutterEvent *event,
|
|
+ StScrollBar *self)
|
|
{
|
|
StScrollBarPrivate *priv = st_scroll_bar_get_instance_private (self);
|
|
|
|
- if (clutter_event_get_button ((ClutterEvent *) event) != 1)
|
|
+ if (clutter_event_get_button (event) != 1)
|
|
return FALSE;
|
|
|
|
g_clear_handle_id (&priv->paging_source_id, g_source_remove);
|
|
diff --git a/src/st/st-scroll-view.c b/src/st/st-scroll-view.c
|
|
index 764065b606e..edaa0278dad 100644
|
|
--- a/src/st/st-scroll-view.c
|
|
+++ b/src/st/st-scroll-view.c
|
|
@@ -759,8 +759,8 @@ st_scroll_view_style_changed (StWidget *widget)
|
|
}
|
|
|
|
static gboolean
|
|
-st_scroll_view_scroll_event (ClutterActor *self,
|
|
- ClutterScrollEvent *event)
|
|
+st_scroll_view_scroll_event (ClutterActor *self,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StScrollViewPrivate *priv = ST_SCROLL_VIEW (self)->priv;
|
|
ClutterTextDirection direction;
|
|
@@ -770,19 +770,19 @@ st_scroll_view_scroll_event (ClutterActor *self,
|
|
if (!priv->mouse_scroll)
|
|
return FALSE;
|
|
|
|
- if (!!(clutter_event_get_flags ((ClutterEvent *) event) &
|
|
+ if (!!(clutter_event_get_flags (event) &
|
|
CLUTTER_EVENT_FLAG_POINTER_EMULATED))
|
|
return TRUE;
|
|
|
|
direction = clutter_actor_get_text_direction (self);
|
|
- scroll_direction = clutter_event_get_scroll_direction ((ClutterEvent *) event);
|
|
+ scroll_direction = clutter_event_get_scroll_direction (event);
|
|
|
|
switch (scroll_direction)
|
|
{
|
|
case CLUTTER_SCROLL_SMOOTH:
|
|
{
|
|
gdouble delta_x, delta_y;
|
|
- clutter_event_get_scroll_delta ((ClutterEvent *)event, &delta_x, &delta_y);
|
|
+ clutter_event_get_scroll_delta (event, &delta_x, &delta_y);
|
|
|
|
if (direction == CLUTTER_TEXT_DIRECTION_RTL)
|
|
delta_x *= -1;
|
|
diff --git a/src/st/st-widget.c b/src/st/st-widget.c
|
|
index 02077d4417b..15c9d3ea1bd 100644
|
|
--- a/src/st/st-widget.c
|
|
+++ b/src/st/st-widget.c
|
|
@@ -687,8 +687,8 @@ st_widget_peek_theme_node (StWidget *widget)
|
|
}
|
|
|
|
static gboolean
|
|
-st_widget_enter (ClutterActor *actor,
|
|
- ClutterCrossingEvent *event)
|
|
+st_widget_enter (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StWidgetPrivate *priv = st_widget_get_instance_private (ST_WIDGET (actor));
|
|
|
|
@@ -698,7 +698,7 @@ st_widget_enter (ClutterActor *actor,
|
|
ClutterActor *target;
|
|
|
|
stage = CLUTTER_STAGE (clutter_actor_get_stage (actor));
|
|
- target = clutter_stage_get_event_actor (stage, (ClutterEvent *) event);
|
|
+ target = clutter_stage_get_event_actor (stage, event);
|
|
|
|
if (clutter_actor_contains (actor, target))
|
|
st_widget_set_hover (ST_WIDGET (actor), TRUE);
|
|
@@ -719,8 +719,8 @@ st_widget_enter (ClutterActor *actor,
|
|
}
|
|
|
|
static gboolean
|
|
-st_widget_leave (ClutterActor *actor,
|
|
- ClutterCrossingEvent *event)
|
|
+st_widget_leave (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
StWidgetPrivate *priv = st_widget_get_instance_private (ST_WIDGET (actor));
|
|
|
|
@@ -728,7 +728,7 @@ st_widget_leave (ClutterActor *actor,
|
|
{
|
|
ClutterActor *related;
|
|
|
|
- related = clutter_event_get_related ((ClutterEvent *) event);
|
|
+ related = clutter_event_get_related (event);
|
|
|
|
if (!related || !clutter_actor_contains (actor, related))
|
|
st_widget_set_hover (ST_WIDGET (actor), FALSE);
|
|
@@ -757,14 +757,14 @@ st_widget_key_focus_out (ClutterActor *actor)
|
|
}
|
|
|
|
static gboolean
|
|
-st_widget_key_press_event (ClutterActor *actor,
|
|
- ClutterKeyEvent *event)
|
|
+st_widget_key_press_event (ClutterActor *actor,
|
|
+ ClutterEvent *event)
|
|
{
|
|
ClutterModifierType state;
|
|
uint32_t keyval;
|
|
|
|
- state = clutter_event_get_state ((ClutterEvent *) event);
|
|
- keyval = clutter_event_get_key_symbol ((ClutterEvent *) event);
|
|
+ state = clutter_event_get_state (event);
|
|
+ keyval = clutter_event_get_key_symbol (event);
|
|
|
|
if (keyval == CLUTTER_KEY_Menu ||
|
|
(keyval == CLUTTER_KEY_F10 &&
|
|
--
|
|
GitLab
|
|
|