appDisplay: Add pan action to FolderView

Since we have now a ScrollView in the FolderView,
add support for the pan action

https://bugzilla.gnome.org/show_bug.cgi?id=706081
This commit is contained in:
Carlos Soriano 2013-08-23 20:49:27 +02:00
parent 3f24a87034
commit 1e02081cd2

View File

@ -884,6 +884,10 @@ const FolderView = new Lang.Class({
let scrollableContainer = new St.BoxLayout({ vertical: true, reactive: true }); let scrollableContainer = new St.BoxLayout({ vertical: true, reactive: true });
scrollableContainer.add_actor(this._grid.actor); scrollableContainer.add_actor(this._grid.actor);
this.actor.add_actor(scrollableContainer); this.actor.add_actor(scrollableContainer);
let action = new Clutter.PanAction({ interpolate: true });
action.connect('pan', Lang.bind(this, this._onPan));
this.actor.add_action(action);
}, },
_getItemId: function(item) { _getItemId: function(item) {
@ -921,6 +925,13 @@ const FolderView = new Lang.Class({
return icon; 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) { adaptToSize: function(width, height) {
this._parentAvailableWidth = width; this._parentAvailableWidth = width;
this._parentAvailableHeight = height; this._parentAvailableHeight = height;