swipeTracker: Pass orientation in constructor
When this class was written, all swipes in the shell were vertical, so it made sense to make the default orientation vertical. This isn't the case anymore, thus pass make it mandatory to specify orientation when creating a tracker. Change the property default values to horizontal as well to match Clutter instead of the old shell design. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1731>
This commit is contained in:
parent
c06bc74d6d
commit
df4c05f834
@ -281,6 +281,7 @@ var BaseAppView = GObject.registerClass({
|
|||||||
|
|
||||||
// Swipe
|
// Swipe
|
||||||
this._swipeTracker = new SwipeTracker.SwipeTracker(this._scrollView,
|
this._swipeTracker = new SwipeTracker.SwipeTracker(this._scrollView,
|
||||||
|
Clutter.Orientation.HORIZONTAL,
|
||||||
Shell.ActionMode.OVERVIEW | Shell.ActionMode.POPUP);
|
Shell.ActionMode.OVERVIEW | Shell.ActionMode.POPUP);
|
||||||
this._swipeTracker.orientation = Clutter.Orientation.HORIZONTAL;
|
this._swipeTracker.orientation = Clutter.Orientation.HORIZONTAL;
|
||||||
this._swipeTracker.connect('begin', this._swipeBegin.bind(this));
|
this._swipeTracker.connect('begin', this._swipeBegin.bind(this));
|
||||||
|
@ -240,6 +240,7 @@ var Overview = class {
|
|||||||
this.toggle.bind(this));
|
this.toggle.bind(this));
|
||||||
|
|
||||||
const swipeTracker = new SwipeTracker.SwipeTracker(global.stage,
|
const swipeTracker = new SwipeTracker.SwipeTracker(global.stage,
|
||||||
|
Clutter.Orientation.VERTICAL,
|
||||||
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
|
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
|
||||||
{ allowDrag: false, allowScroll: false });
|
{ allowDrag: false, allowScroll: false });
|
||||||
swipeTracker.orientation = Clutter.Orientation.VERTICAL;
|
swipeTracker.orientation = Clutter.Orientation.VERTICAL;
|
||||||
|
@ -95,7 +95,7 @@ const TouchpadSwipeGesture = GObject.registerClass({
|
|||||||
'orientation': GObject.ParamSpec.enum(
|
'orientation': GObject.ParamSpec.enum(
|
||||||
'orientation', 'orientation', 'orientation',
|
'orientation', 'orientation', 'orientation',
|
||||||
GObject.ParamFlags.READWRITE,
|
GObject.ParamFlags.READWRITE,
|
||||||
Clutter.Orientation, Clutter.Orientation.VERTICAL),
|
Clutter.Orientation, Clutter.Orientation.HORIZONTAL),
|
||||||
},
|
},
|
||||||
Signals: {
|
Signals: {
|
||||||
'begin': { param_types: [GObject.TYPE_UINT, GObject.TYPE_DOUBLE, GObject.TYPE_DOUBLE] },
|
'begin': { param_types: [GObject.TYPE_UINT, GObject.TYPE_DOUBLE, GObject.TYPE_DOUBLE] },
|
||||||
@ -220,7 +220,7 @@ const TouchSwipeGesture = GObject.registerClass({
|
|||||||
'orientation': GObject.ParamSpec.enum(
|
'orientation': GObject.ParamSpec.enum(
|
||||||
'orientation', 'orientation', 'orientation',
|
'orientation', 'orientation', 'orientation',
|
||||||
GObject.ParamFlags.READWRITE,
|
GObject.ParamFlags.READWRITE,
|
||||||
Clutter.Orientation, Clutter.Orientation.VERTICAL),
|
Clutter.Orientation, Clutter.Orientation.HORIZONTAL),
|
||||||
},
|
},
|
||||||
Signals: {
|
Signals: {
|
||||||
'begin': { param_types: [GObject.TYPE_UINT, GObject.TYPE_DOUBLE, GObject.TYPE_DOUBLE] },
|
'begin': { param_types: [GObject.TYPE_UINT, GObject.TYPE_DOUBLE, GObject.TYPE_DOUBLE] },
|
||||||
@ -316,7 +316,7 @@ const ScrollGesture = GObject.registerClass({
|
|||||||
'orientation': GObject.ParamSpec.enum(
|
'orientation': GObject.ParamSpec.enum(
|
||||||
'orientation', 'orientation', 'orientation',
|
'orientation', 'orientation', 'orientation',
|
||||||
GObject.ParamFlags.READWRITE,
|
GObject.ParamFlags.READWRITE,
|
||||||
Clutter.Orientation, Clutter.Orientation.VERTICAL),
|
Clutter.Orientation, Clutter.Orientation.HORIZONTAL),
|
||||||
'scroll-modifiers': GObject.ParamSpec.flags(
|
'scroll-modifiers': GObject.ParamSpec.flags(
|
||||||
'scroll-modifiers', 'scroll-modifiers', 'scroll-modifiers',
|
'scroll-modifiers', 'scroll-modifiers', 'scroll-modifiers',
|
||||||
GObject.ParamFlags.READWRITE,
|
GObject.ParamFlags.READWRITE,
|
||||||
@ -444,7 +444,7 @@ var SwipeTracker = GObject.registerClass({
|
|||||||
'orientation': GObject.ParamSpec.enum(
|
'orientation': GObject.ParamSpec.enum(
|
||||||
'orientation', 'orientation', 'orientation',
|
'orientation', 'orientation', 'orientation',
|
||||||
GObject.ParamFlags.READWRITE,
|
GObject.ParamFlags.READWRITE,
|
||||||
Clutter.Orientation, Clutter.Orientation.VERTICAL),
|
Clutter.Orientation, Clutter.Orientation.HORIZONTAL),
|
||||||
'distance': GObject.ParamSpec.double(
|
'distance': GObject.ParamSpec.double(
|
||||||
'distance', 'distance', 'distance',
|
'distance', 'distance', 'distance',
|
||||||
GObject.ParamFlags.READWRITE,
|
GObject.ParamFlags.READWRITE,
|
||||||
@ -464,10 +464,11 @@ var SwipeTracker = GObject.registerClass({
|
|||||||
'end': { param_types: [GObject.TYPE_UINT64, GObject.TYPE_DOUBLE] },
|
'end': { param_types: [GObject.TYPE_UINT64, GObject.TYPE_DOUBLE] },
|
||||||
},
|
},
|
||||||
}, class SwipeTracker extends GObject.Object {
|
}, class SwipeTracker extends GObject.Object {
|
||||||
_init(actor, allowedModes, params) {
|
_init(actor, orientation, allowedModes, params) {
|
||||||
super._init();
|
super._init();
|
||||||
params = Params.parse(params, { allowDrag: true, allowScroll: true });
|
params = Params.parse(params, { allowDrag: true, allowScroll: true });
|
||||||
|
|
||||||
|
this.orientation = orientation;
|
||||||
this._allowedModes = allowedModes;
|
this._allowedModes = allowedModes;
|
||||||
this._enabled = true;
|
this._enabled = true;
|
||||||
this._allowLongSwipes = false;
|
this._allowLongSwipes = false;
|
||||||
@ -480,7 +481,8 @@ var SwipeTracker = GObject.registerClass({
|
|||||||
this._touchpadGesture.connect('update', this._updateGesture.bind(this));
|
this._touchpadGesture.connect('update', this._updateGesture.bind(this));
|
||||||
this._touchpadGesture.connect('end', this._endTouchpadGesture.bind(this));
|
this._touchpadGesture.connect('end', this._endTouchpadGesture.bind(this));
|
||||||
this.bind_property('enabled', this._touchpadGesture, 'enabled', 0);
|
this.bind_property('enabled', this._touchpadGesture, 'enabled', 0);
|
||||||
this.bind_property('orientation', this._touchpadGesture, 'orientation', 0);
|
this.bind_property('orientation', this._touchpadGesture, 'orientation',
|
||||||
|
GObject.BindingFlags.SYNC_CREATE);
|
||||||
|
|
||||||
this._touchGesture = new TouchSwipeGesture(allowedModes,
|
this._touchGesture = new TouchSwipeGesture(allowedModes,
|
||||||
GESTURE_FINGER_COUNT,
|
GESTURE_FINGER_COUNT,
|
||||||
@ -490,7 +492,8 @@ var SwipeTracker = GObject.registerClass({
|
|||||||
this._touchGesture.connect('end', this._endTouchGesture.bind(this));
|
this._touchGesture.connect('end', this._endTouchGesture.bind(this));
|
||||||
this._touchGesture.connect('cancel', this._cancelTouchGesture.bind(this));
|
this._touchGesture.connect('cancel', this._cancelTouchGesture.bind(this));
|
||||||
this.bind_property('enabled', this._touchGesture, 'enabled', 0);
|
this.bind_property('enabled', this._touchGesture, 'enabled', 0);
|
||||||
this.bind_property('orientation', this._touchGesture, 'orientation', 0);
|
this.bind_property('orientation', this._touchGesture, 'orientation',
|
||||||
|
GObject.BindingFlags.SYNC_CREATE);
|
||||||
this.bind_property('distance', this._touchGesture, 'distance', 0);
|
this.bind_property('distance', this._touchGesture, 'distance', 0);
|
||||||
global.stage.add_action(this._touchGesture);
|
global.stage.add_action(this._touchGesture);
|
||||||
|
|
||||||
@ -502,7 +505,8 @@ var SwipeTracker = GObject.registerClass({
|
|||||||
this._dragGesture.connect('end', this._endTouchGesture.bind(this));
|
this._dragGesture.connect('end', this._endTouchGesture.bind(this));
|
||||||
this._dragGesture.connect('cancel', this._cancelTouchGesture.bind(this));
|
this._dragGesture.connect('cancel', this._cancelTouchGesture.bind(this));
|
||||||
this.bind_property('enabled', this._dragGesture, 'enabled', 0);
|
this.bind_property('enabled', this._dragGesture, 'enabled', 0);
|
||||||
this.bind_property('orientation', this._dragGesture, 'orientation', 0);
|
this.bind_property('orientation', this._dragGesture, 'orientation',
|
||||||
|
GObject.BindingFlags.SYNC_CREATE);
|
||||||
this.bind_property('distance', this._dragGesture, 'distance', 0);
|
this.bind_property('distance', this._dragGesture, 'distance', 0);
|
||||||
actor.add_action(this._dragGesture);
|
actor.add_action(this._dragGesture);
|
||||||
} else {
|
} else {
|
||||||
@ -515,7 +519,8 @@ var SwipeTracker = GObject.registerClass({
|
|||||||
this._scrollGesture.connect('update', this._updateGesture.bind(this));
|
this._scrollGesture.connect('update', this._updateGesture.bind(this));
|
||||||
this._scrollGesture.connect('end', this._endTouchpadGesture.bind(this));
|
this._scrollGesture.connect('end', this._endTouchpadGesture.bind(this));
|
||||||
this.bind_property('enabled', this._scrollGesture, 'enabled', 0);
|
this.bind_property('enabled', this._scrollGesture, 'enabled', 0);
|
||||||
this.bind_property('orientation', this._scrollGesture, 'orientation', 0);
|
this.bind_property('orientation', this._scrollGesture, 'orientation',
|
||||||
|
GObject.BindingFlags.SYNC_CREATE);
|
||||||
this.bind_property('scroll-modifiers',
|
this.bind_property('scroll-modifiers',
|
||||||
this._scrollGesture, 'scroll-modifiers', 0);
|
this._scrollGesture, 'scroll-modifiers', 0);
|
||||||
} else {
|
} else {
|
||||||
|
@ -495,8 +495,9 @@ var UnlockDialog = GObject.registerClass({
|
|||||||
this._setTransitionProgress(this._adjustment.value);
|
this._setTransitionProgress(this._adjustment.value);
|
||||||
});
|
});
|
||||||
|
|
||||||
this._swipeTracker = new SwipeTracker.SwipeTracker(
|
this._swipeTracker = new SwipeTracker.SwipeTracker(this,
|
||||||
this, Shell.ActionMode.UNLOCK_SCREEN);
|
Clutter.Orientation.VERTICAL,
|
||||||
|
Shell.ActionMode.UNLOCK_SCREEN);
|
||||||
this._swipeTracker.connect('begin', this._swipeBegin.bind(this));
|
this._swipeTracker.connect('begin', this._swipeBegin.bind(this));
|
||||||
this._swipeTracker.connect('update', this._swipeUpdate.bind(this));
|
this._swipeTracker.connect('update', this._swipeUpdate.bind(this));
|
||||||
this._swipeTracker.connect('end', this._swipeEnd.bind(this));
|
this._swipeTracker.connect('end', this._swipeEnd.bind(this));
|
||||||
|
@ -284,7 +284,9 @@ var WorkspaceAnimationController = class {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const swipeTracker = new SwipeTracker.SwipeTracker(global.stage,
|
const swipeTracker = new SwipeTracker.SwipeTracker(global.stage,
|
||||||
Shell.ActionMode.NORMAL, { allowDrag: false });
|
Clutter.Orientation.HORIZONTAL,
|
||||||
|
Shell.ActionMode.NORMAL,
|
||||||
|
{ allowDrag: false });
|
||||||
swipeTracker.connect('begin', this._switchWorkspaceBegin.bind(this));
|
swipeTracker.connect('begin', this._switchWorkspaceBegin.bind(this));
|
||||||
swipeTracker.connect('update', this._switchWorkspaceUpdate.bind(this));
|
swipeTracker.connect('update', this._switchWorkspaceUpdate.bind(this));
|
||||||
swipeTracker.connect('end', this._switchWorkspaceEnd.bind(this));
|
swipeTracker.connect('end', this._switchWorkspaceEnd.bind(this));
|
||||||
|
@ -848,6 +848,7 @@ class WorkspacesDisplay extends St.Widget {
|
|||||||
|
|
||||||
this._swipeTracker = new SwipeTracker.SwipeTracker(
|
this._swipeTracker = new SwipeTracker.SwipeTracker(
|
||||||
Main.layoutManager.overviewGroup,
|
Main.layoutManager.overviewGroup,
|
||||||
|
Clutter.Orientation.HORIZONTAL,
|
||||||
Shell.ActionMode.OVERVIEW,
|
Shell.ActionMode.OVERVIEW,
|
||||||
{ allowDrag: false });
|
{ allowDrag: false });
|
||||||
this._swipeTracker.allowLongSwipes = true;
|
this._swipeTracker.allowLongSwipes = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user