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,13 +82,17 @@ $popover_arrow_height: 12px;
// separator
.popup-separator-menu-item {
//-margin-horizontal: 24px;
height: 1px; //not really the whole box
margin: 6px 64px;
background-color: lighten($borders_color, 2%);
.popup-sub-menu & { //submenu separators
@if $variant == 'dark' {
background-color: lighten($bg_color,10%);
padding: 0;
.popup-separator-menu-item-separator {
//-margin-horizontal: 24px;
height: 1px; //not really the whole box
margin: 6px 64px;
background-color: lighten($borders_color, 2%);
.popup-sub-menu & { //submenu separators
@if $variant == 'dark' {
background-color: lighten($bg_color,10%);
}
}
}
}

View File

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