popupMenu: Remove excess padding from separators

Currently separators get all the padding from regular menu items,
which is excessive for non-interactive elements.

Shuffle style classes around a bit to allow overriding the normal
padding for separators.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1004
This commit is contained in:
Florian Müllner 2020-02-14 13:36:04 +01:00 committed by Florian Müllner
parent 8834088f3b
commit 9c7098816e
2 changed files with 22 additions and 13 deletions

View File

@ -82,6 +82,9 @@ $popover_arrow_height: 12px;
// separator // separator
.popup-separator-menu-item { .popup-separator-menu-item {
padding: 0;
.popup-separator-menu-item-separator {
//-margin-horizontal: 24px; //-margin-horizontal: 24px;
height: 1px; //not really the whole box height: 1px; //not really the whole box
margin: 6px 64px; margin: 6px 64px;
@ -91,6 +94,7 @@ $popover_arrow_height: 12px;
background-color: lighten($bg_color,10%); background-color: lighten($bg_color,10%);
} }
} }
}
} }
// desktop background menu // desktop background menu

View File

@ -282,8 +282,11 @@ class PopupMenuItem extends PopupBaseMenuItem {
var PopupSeparatorMenuItem = GObject.registerClass( var PopupSeparatorMenuItem = GObject.registerClass(
class PopupSeparatorMenuItem extends PopupBaseMenuItem { class PopupSeparatorMenuItem extends PopupBaseMenuItem {
_init(text) { _init(text) {
super._init({ reactive: false, super._init({
can_focus: false }); style_class: 'popup-separator-menu-item',
reactive: false,
can_focus: false,
});
this.label = new St.Label({ text: text || '' }); this.label = new St.Label({ text: text || '' });
this.add(this.label); this.add(this.label);
@ -293,10 +296,12 @@ class PopupSeparatorMenuItem extends PopupBaseMenuItem {
this._syncVisibility.bind(this)); this._syncVisibility.bind(this));
this._syncVisibility(); this._syncVisibility();
this._separator = new St.Widget({ style_class: 'popup-separator-menu-item', this._separator = new St.Widget({
style_class: 'popup-separator-menu-item-separator',
x_expand: true, x_expand: true,
y_expand: true, y_expand: true,
y_align: Clutter.ActorAlign.CENTER }); y_align: Clutter.ActorAlign.CENTER,
});
this.add_child(this._separator); this.add_child(this._separator);
} }