[gnome-shell/wip/grab-helper-top-panel: 16/20] overview: Remove custom swipe scrolling implementation



commit 485d16ca4e71d5c5bc3901334208afd456242316
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 de62961..3294e36 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',
 
@@ -165,8 +153,6 @@ const Overview = new Lang.Class({
                 }
             }));
 
-        this._scrollDirection = SwipeScrollDirection.NONE;
-        this._scrollAdjustment = null;
         this._capturedEventId = 0;
         this._buttonPressId = 0;
 
@@ -348,161 +334,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;
@@ -603,9 +434,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() {
@@ -705,10 +533,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]