[gnome-shell/wip/paging-release2: 18/20] appDisplay: Add pan action to FolderView



commit 82649b374d332d4e49fc2f496d74e05d1ff0455c
Author: Carlos Soriano <carlos soriano89 gmail com>
Date:   Fri Aug 23 20:49:27 2013 +0200

    appDisplay: Add pan action to FolderView
    
    Since we have now a ScrollView in the FolderView,
    add support for the pan action

 js/ui/appDisplay.js |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index cdc7383..c3a986d 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -999,6 +999,11 @@ const FolderView = new Lang.Class({
 
         this.actor = new St.ScrollView({ overlay_scrollbars: true });
         this.actor.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
+
+        let action = new Clutter.PanAction({ interpolate: true });
+        action.connect('pan', Lang.bind(this, this._onPan));
+        this.actor.add_action(action);
+
         this._box = new St.BoxLayout({ vertical: true, reactive: true });
         this._widget = new St.Widget({ layout_manager: new Clutter.BinLayout() });
         this._widget.add_child(this._grid.actor);
@@ -1043,6 +1048,13 @@ const FolderView = new Lang.Class({
         return icon;
     },
 
+    _onPan: function(action) {
+        let [dist, dx, dy] = action.get_motion_delta(0);
+        let adjustment = this.actor.vscroll.adjustment;
+        adjustment.value -= (dy / this.actor.height) * adjustment.page_size;
+        return false;
+    },
+
     adaptToSize: function(width, height) {
         this._parentAvailableWidth = width;
         this._parentAvailableHeight = height;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]