dateMenu: Bind pad visibility to indicator

Currently the indicator pad requests a size of 0x0 if the corresponding
indicator is hidden. Right now this is enough to balance out the indicator,
but it won't be when we add spacing to the parent container.

Properly hide the pad with the indicator to avoid that issue.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/239
This commit is contained in:
Florian Müllner 2020-01-21 16:36:56 +01:00 committed by Florian Müllner
parent 2cabef97b6
commit aba3336b51

View File

@ -473,21 +473,19 @@ var IndicatorPad = GObject.registerClass(
class IndicatorPad extends St.Widget {
_init(actor) {
this._source = actor;
this._source.connect('notify::visible', () => this.queue_relayout());
this._source.connect('notify::size', () => this.queue_relayout());
super._init();
this._source.bind_property('visible',
this, 'visible',
GObject.BindingFlags.SYNC_CREATE);
}
vfunc_get_preferred_width(forHeight) {
if (this._source.visible)
return this._source.get_preferred_width(forHeight);
return [0, 0];
return this._source.get_preferred_width(forHeight);
}
vfunc_get_preferred_height(forWidth) {
if (this._source.visible)
return this._source.get_preferred_height(forWidth);
return [0, 0];
return this._source.get_preferred_height(forWidth);
}
});