[gnome-shell] popupSubMenu: Only remove padding when scrollbar is shown



commit 58477282fe9388092ddd1052343774f8f5669699
Author: Florian MÃllner <fmuellner gnome org>
Date:   Thu Sep 6 11:41:23 2012 +0200

    popupSubMenu: Only remove padding when scrollbar is shown
    
    The special padding rules for submenu items currently ensure that
    content aligns properly when the scrollbar is shown. While they
    work nicely for the network menu, it looks odd for non-scrolled
    submenus, so make this case explicit by introducing a :scrolled
    pseudo class and adjust the style rules to use it.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=683009

 data/theme/gnome-shell.css |    4 ++--
 js/ui/popupMenu.js         |    5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css
index ec4eabe..d2bd3da 100644
--- a/data/theme/gnome-shell.css
+++ b/data/theme/gnome-shell.css
@@ -151,11 +151,11 @@ StScrollBar StButton#vhandle:active {
     box-shadow: inset 0px 2px 4px rgba(0,0,0,0.9);
 }
 
-.popup-sub-menu .popup-menu-item:ltr {
+.popup-sub-menu:scrolled .popup-menu-item:ltr {
     padding-right: 0em;
 }
 
-.popup-sub-menu .popup-menu-item:rtl {
+.popup-sub-menu:scrolled .popup-menu-item:rtl {
     padding-left: 0em;
 }
 
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index 5eba45f..5f8b999 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -1343,6 +1343,11 @@ const PopupSubMenu = new Lang.Class({
         this.actor.vscrollbar_policy =
             needsScrollbar ? Gtk.PolicyType.AUTOMATIC : Gtk.PolicyType.NEVER;
 
+        if (needsScrollbar)
+            this.actor.add_style_pseudo_class('scrolled');
+        else
+            this.actor.remove_style_pseudo_class('scrolled');
+
         // It looks funny if we animate with a scrollbar (at what point is
         // the scrollbar added?) so just skip that case
         if (animate && needsScrollbar)



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