overview: Connect app-drag signals to show/hide overview elements

Anytime we begin dragging an app launcher, ensure the overview elements are
showing. While searching, if an app-drag ends or is cancelled, hide the
overview elements, but don't switch back to windows (which was the old
behavior).

https://bugzilla.gnome.org/show_bug.cgi?id=682050
This commit is contained in:
Tanner Doshier 2012-08-22 19:01:04 -05:00 committed by Jasper St. Pierre
parent 4b0ba8b7b8
commit 6538f60322

View File

@ -141,6 +141,7 @@ const Overview = new Lang.Class({
this._modal = false; // have a modal grab this._modal = false; // have a modal grab
this.animationInProgress = false; this.animationInProgress = false;
this._hideInProgress = false; this._hideInProgress = false;
this.searchActive = false;
// During transitions, we raise this to the top to avoid having the overview // During transitions, we raise this to the top to avoid having the overview
// area be reactive; it causes too many issues such as double clicks on // area be reactive; it causes too many issues such as double clicks on
@ -240,15 +241,37 @@ const Overview = new Lang.Class({
this._viewSelector.connect('search-begin', Lang.bind(this, this._viewSelector.connect('search-begin', Lang.bind(this,
function() { function() {
this.searchActive = true;
this._dash.hide(); this._dash.hide();
this._thumbnailsBox.hide(); this._thumbnailsBox.hide();
})); }));
this._viewSelector.connect('search-cancelled', Lang.bind(this, this._viewSelector.connect('search-cancelled', Lang.bind(this,
function() { function() {
this.searchActive = false;
this._dash.show(); this._dash.show();
this._thumbnailsBox.show(); this._thumbnailsBox.show();
})); }));
this.connect('app-drag-begin',
Lang.bind(this, function () {
this._dash.show();
this._thumbnailsBox.show();
}));
this.connect('app-drag-cancelled',
Lang.bind(this, function () {
if (this.searchActive) {
this._dash.hide();
this._thumbnailsBox.hide();
}
}));
this.connect('app-drag-end',
Lang.bind(this, function () {
if (this.searchActive) {
this._dash.hide();
this._thumbnailsBox.hide();
}
}));
Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._relayout)); Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._relayout));
this._relayout(); this._relayout();
}, },