[gnome-shell] overview: Remove custom swipe scrolling implementation
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] overview: Remove custom swipe scrolling implementation
- Date: Fri, 30 Nov 2012 23:04:19 +0000 (UTC)
commit 98f4b99446457ae0127c0003623840b0b03faac0
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Tue Mar 27 13:07:11 2012 -0300
overview: Remove custom swipe scrolling implementation
https://bugzilla.gnome.org/show_bug.cgi?id=689062
js/ui/overview.js | 176 -----------------------------------------------------
1 files changed, 0 insertions(+), 176 deletions(-)
---
diff --git a/js/ui/overview.js b/js/ui/overview.js
index 4b69922..9c91378 100644
--- a/js/ui/overview.js
+++ b/js/ui/overview.js
@@ -46,18 +46,6 @@ const GLSL_DIM_EFFECT_CODE = '\
cogl_color_out.xyz = cogl_color_out.xyz * (1.0 - a); \
cogl_color_out.a = 1.0;';
-const SwipeScrollDirection = {
- NONE: 0,
- HORIZONTAL: 1,
- VERTICAL: 2
-};
-
-const SwipeScrollResult = {
- CANCEL: 0,
- SWIPE: 1,
- CLICK: 2
-};
-
const ShellInfo = new Lang.Class({
Name: 'ShellInfo',
@@ -166,8 +154,6 @@ const Overview = new Lang.Class({
}
}));
- this._scrollDirection = SwipeScrollDirection.NONE;
- this._scrollAdjustment = null;
this._capturedEventId = 0;
this._buttonPressId = 0;
@@ -354,161 +340,6 @@ const Overview = new Lang.Class({
this._group.add_action(action);
},
- setScrollAdjustment: function(adjustment, direction) {
- if (this.isDummy)
- return;
-
- this._scrollAdjustment = adjustment;
- if (this._scrollAdjustment == null)
- this._scrollDirection = SwipeScrollDirection.NONE;
- else
- this._scrollDirection = direction;
- },
-
- _onButtonPress: function(actor, event) {
- if (this._scrollDirection == SwipeScrollDirection.NONE
- || event.get_button() != 1)
- return;
-
- let [stageX, stageY] = event.get_coords();
- this._dragStartX = this._dragX = stageX;
- this._dragStartY = this._dragY = stageY;
- this._dragStartValue = this._scrollAdjustment.value;
- this._lastMotionTime = -1; // used to track "stopping" while swipe-scrolling
- this._capturedEventId = global.stage.connect('captured-event',
- Lang.bind(this, this._onCapturedEvent));
- this.emit('swipe-scroll-begin');
- },
-
- _onCapturedEvent: function(actor, event) {
- let stageX, stageY;
- let threshold = Gtk.Settings.get_default().gtk_dnd_drag_threshold;
-
- switch(event.type()) {
- case Clutter.EventType.BUTTON_RELEASE:
- [stageX, stageY] = event.get_coords();
-
- // default to snapping back to the original value
- let newValue = this._dragStartValue;
-
- let minValue = this._scrollAdjustment.lower;
- let maxValue = this._scrollAdjustment.upper - this._scrollAdjustment.page_size;
-
- let direction;
- if (this._scrollDirection == SwipeScrollDirection.HORIZONTAL) {
- direction = stageX > this._dragStartX ? -1 : 1;
- if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
- direction *= -1;
- } else {
- direction = stageY > this._dragStartY ? -1 : 1;
- }
-
- // We default to scroll a full page size; both the first
- // and the last page may be smaller though, so we need to
- // adjust difference in those cases.
- let difference = direction * this._scrollAdjustment.page_size;
- if (this._dragStartValue + difference > maxValue)
- difference = maxValue - this._dragStartValue;
- else if (this._dragStartValue + difference < minValue)
- difference = minValue - this._dragStartValue;
-
- // If the user has moved more than half the scroll
- // difference, we want to "settle" to the new value
- // even if the user stops dragging rather "throws" by
- // releasing during the drag.
- let distance = this._dragStartValue - this._scrollAdjustment.value;
- let noStop = Math.abs(distance / difference) > 0.5;
-
- // We detect if the user is stopped by comparing the
- // timestamp of the button release with the timestamp of
- // the last motion. Experimentally, a difference of 0 or 1
- // millisecond indicates that the mouse is in motion, a
- // larger difference indicates that the mouse is stopped.
- if ((this._lastMotionTime > 0 &&
- this._lastMotionTime > event.get_time() - 2) ||
- noStop) {
- if (this._dragStartValue + difference >= minValue &&
- this._dragStartValue + difference <= maxValue)
- newValue += difference;
- }
-
- let result;
-
- // See if the user has moved the mouse enough to trigger
- // a drag
- if (Math.abs(stageX - this._dragStartX) < threshold &&
- Math.abs(stageY - this._dragStartY) < threshold) {
- // no motion? It's a click!
- result = SwipeScrollResult.CLICK;
- this.emit('swipe-scroll-end', result);
- } else {
- if (newValue == this._dragStartValue)
- result = SwipeScrollResult.CANCEL;
- else
- result = SwipeScrollResult.SWIPE;
-
- // The event capture handler is disconnected
- // while scrolling to the final position, so
- // to avoid undesired prelights we raise
- // the cover pane.
- this._coverPane.raise_top();
- this._coverPane.show();
-
- Tweener.addTween(this._scrollAdjustment,
- { value: newValue,
- time: ANIMATION_TIME,
- transition: 'easeOutQuad',
- onCompleteScope: this,
- onComplete: function() {
- this._coverPane.hide();
- this.emit('swipe-scroll-end',
- result);
- }
- });
- }
-
- global.stage.disconnect(this._capturedEventId);
- this._capturedEventId = 0;
-
- return result != SwipeScrollResult.CLICK;
-
- case Clutter.EventType.MOTION:
- [stageX, stageY] = event.get_coords();
- let dx = this._dragX - stageX;
- let dy = this._dragY - stageY;
- let primary = Main.layoutManager.primaryMonitor;
-
- this._dragX = stageX;
- this._dragY = stageY;
- this._lastMotionTime = event.get_time();
-
- // See if the user has moved the mouse enough to trigger
- // a drag
- if (Math.abs(stageX - this._dragStartX) < threshold &&
- Math.abs(stageY - this._dragStartY) < threshold)
- return true;
-
- if (this._scrollDirection == SwipeScrollDirection.HORIZONTAL) {
- if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
- this._scrollAdjustment.value -= (dx / primary.width) * this._scrollAdjustment.page_size;
- else
- this._scrollAdjustment.value += (dx / primary.width) * this._scrollAdjustment.page_size;
- } else {
- this._scrollAdjustment.value += (dy / primary.height) * this._scrollAdjustment.page_size;
- }
-
- return true;
-
- // Block enter/leave events to avoid prelights
- // during swipe-scroll
- case Clutter.EventType.ENTER:
- case Clutter.EventType.LEAVE:
- return true;
- }
-
- return false;
- },
-
_getDesktopClone: function() {
let windows = global.get_window_actors().filter(function(w) {
return w.meta_window.get_window_type() == Meta.WindowType.DESKTOP;
@@ -609,9 +440,6 @@ const Overview = new Lang.Class({
this._modal = true;
this._animateVisible();
this._shown = true;
-
- this._buttonPressId = this._group.connect('button-press-event',
- Lang.bind(this, this._onButtonPress));
},
fadeInDesktop: function() {
@@ -711,10 +539,6 @@ const Overview = new Lang.Class({
this._shown = false;
this._syncInputMode();
-
- if (this._buttonPressId > 0)
- this._group.disconnect(this._buttonPressId);
- this._buttonPressId = 0;
},
// hideTemporarily:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]