[gnome-shell] appDisplay: do not show empty categories



commit e6a3958e45a81902f2d053a3acd09965bbcaa9d6
Author: StÃphane DÃmurget <stephane demurget free fr>
Date:   Fri Nov 16 08:22:58 2012 +0100

    appDisplay: do not show empty categories
    
    Desktop files can specify if the application should only be shown for
    specified desktops with OnlyShowIn and NotShowIn directives options.
    
    If a menu category only contained entries for a different desktop, we
    were still creating the category.
    
    We now only add a category button if there is at least one application
    to be displayed in this category.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=687970

 js/ui/appDisplay.js |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 803b7d7..300c7e7 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -216,6 +216,16 @@ const ViewByCategories = new Lang.Class({
     },
 
     _addCategory: function(name, index, dir) {
+        let apps;
+
+        if (dir != null) {
+            apps = [];
+            this._loadCategory(dir, apps);
+
+            if (apps.length == 0)
+                return;
+        }
+
         let button = new St.Button({ label: GLib.markup_escape_text (name, -1),
                                      style_class: 'app-filter',
                                      x_align: St.Align.START,
@@ -225,12 +235,9 @@ const ViewByCategories = new Lang.Class({
             this._selectCategory(index);
         }));
 
-        var apps;
         if (dir == null) {
             this._allCategoryButton = button;
         } else {
-            apps = [];
-            this._loadCategory(dir, apps);
             this._categories.push({ apps: apps,
                                     name: name,
                                     button: button });



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