From 38d8e465b37e06e935f6d5bbb9da05e1c171f426 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 25 May 2014 16:38:05 +0200 Subject: [PATCH] popupMenu: Hide separator label when not in use The optional label support introduced in commit af063dc2f2ec broke the centering of separators, as the label still adds additional spacing even when empty. Properly hide the label actor in that case to fix the alignment. https://bugzilla.gnome.org/show_bug.cgi?id=730753 --- js/ui/popupMenu.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index af0d9e19f..d7f3880c4 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -251,8 +251,16 @@ const PopupSeparatorMenuItem = new Lang.Class({ this.actor.add(this.label); this.actor.label_actor = this.label; + this.label.connect('notify::text', + Lang.bind(this, this._syncVisibility)); + this._syncVisibility(); + this._separator = new Separator.HorizontalSeparator({ style_class: 'popup-separator-menu-item' }); this.actor.add(this._separator.actor, { expand: true }); + }, + + _syncVisibility: function() { + this.label.visible = this.label.text != ''; } });