[gnome-shell/wip/fmuellner/dont-disturb: 9/11] dateMenu: Bind pad visibility to indicator



commit f10dd66912ce0b6c7432c5779ef64d9dd7063d08
Author: Florian Müllner <fmuellner gnome org>
Date:   Tue Jan 21 16:36:56 2020 +0100

    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

 js/ui/dateMenu.js | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
---
diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js
index 1fd6ccdbc2..690d30f4bc 100644
--- a/js/ui/dateMenu.js
+++ b/js/ui/dateMenu.js
@@ -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);
     }
 });
 


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