style: Handle sections in submenus
If a menu item in a submenu is part of a section, it should have rounded bottom corners if both the item and the section are the last child of its respective parent. To express that, add a new .popup-menu-section class and use that to undo/redo the rounding for items inside a section. It would be possible to do without a new class with a selector like > StBoxLayout > .popup-menu-item:last-child:hover, :last-child > .popup-menu-item:last-child:hover but that's hardly better with its heavy reliance on implementation details. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4940 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2126>
This commit is contained in:
parent
1cee7e6760
commit
c256ca443e
@ -139,6 +139,13 @@
|
||||
border-radius: 0 0 $base_border_radius $base_border_radius;
|
||||
}
|
||||
}
|
||||
|
||||
.popup-menu-section {
|
||||
.popup-menu-item:last-child:hover { border-radius: 0 }
|
||||
&:last-child .popup-menu-item:last-child:hover {
|
||||
border-radius: 0 0 $base_border_radius $base_border_radius;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// container for radio and check boxes
|
||||
|
@ -1165,6 +1165,8 @@ var PopupMenuSection = class extends PopupMenuBase {
|
||||
this.actor = this.box;
|
||||
this.actor._delegate = this;
|
||||
this.isOpen = true;
|
||||
|
||||
this.actor.add_style_class_name('popup-menu-section');
|
||||
}
|
||||
|
||||
// deliberately ignore any attempt to open() or close(), but emit the
|
||||
|
Loading…
Reference in New Issue
Block a user