overviewControls: account for the search entry in each control

Account for the search entry space at the bottom (the former message
tray clone) individually in each side control, instead of packing
another actor in the overview.
This allows us to extend the central view all the way to the bottom,
while still keeping controls centered vertically.

https://bugzilla.gnome.org/show_bug.cgi?id=693987
This commit is contained in:
Cosimo Cecchi
2013-02-16 15:36:57 -05:00
parent 060c049056
commit 66cdbc5cad
3 changed files with 30 additions and 14 deletions

View File

@ -294,15 +294,37 @@ const DashSlider = new Lang.Class({
}
});
const SlidingControlContainer = new Lang.Class({
Name: 'SlidingControlContainer',
Extends: St.Widget,
_init: function(child, entryBin) {
this._layout = new Clutter.BoxLayout({ vertical: true });
this.parent({ layout_manager: this._layout });
child.x_expand = true;
this.add_actor(child);
let entryClone = new St.Widget();
entryClone.height = entryBin.height;
this.add_actor(entryClone);
entryBin.connect('notify::height', Lang.bind(this,
function() {
entryClone.height = entryBin.height;
}));
}
});
const ControlsManager = new Lang.Class({
Name: 'ControlsManager',
_init: function(dash, thumbnails, viewSelector) {
_init: function(dash, thumbnails, viewSelector, entryBin) {
this._dashSlider = new DashSlider(dash);
this.dashActor = this._dashSlider.actor;
this.dashActor = new SlidingControlContainer(this._dashSlider.actor, entryBin);
this._thumbnailsSlider = new ThumbnailsSlider(thumbnails);
this.thumbnailsActor = this._thumbnailsSlider.actor;
this.thumbnailsActor = new SlidingControlContainer(this._thumbnailsSlider.actor, entryBin);
this._viewSelector = viewSelector;
this._viewSelector.connect('page-changed', Lang.bind(this, this._setVisibility));