Bug 587951 - Don't show empty categories
When loading menus, skip ones which entirely consist of NoDisplay=true items.
This commit is contained in:
parent
4f5c3b4b74
commit
3e0f5aec0c
@ -335,12 +335,18 @@ AppDisplay.prototype = {
|
|||||||
this._allItems = {};
|
this._allItems = {};
|
||||||
this._appCategories = {};
|
this._appCategories = {};
|
||||||
|
|
||||||
this._menus = this._appSystem.get_menus();
|
|
||||||
// Loop over the toplevel menu items, load the set of desktop file ids
|
// Loop over the toplevel menu items, load the set of desktop file ids
|
||||||
// associated with each one
|
// associated with each one, skipping empty menus
|
||||||
for (let i = 0; i < this._menus.length; i++) {
|
let allMenus = this._appSystem.get_menus();
|
||||||
let menu = this._menus[i];
|
this._menus = [];
|
||||||
|
for (let i = 0; i < allMenus.length; i++) {
|
||||||
|
let menu = allMenus[i];
|
||||||
let menuApps = this._appSystem.get_applications_for_menu(menu.id);
|
let menuApps = this._appSystem.get_applications_for_menu(menu.id);
|
||||||
|
let hasVisibleApps = menuApps.some(function (app) { return !app.get_is_nodisplay(); });
|
||||||
|
if (!hasVisibleApps) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
this._menus.push(menu);
|
||||||
for (let j = 0; j < menuApps.length; j++) {
|
for (let j = 0; j < menuApps.length; j++) {
|
||||||
let app = menuApps[j];
|
let app = menuApps[j];
|
||||||
this._addApp(app);
|
this._addApp(app);
|
||||||
|
Loading…
Reference in New Issue
Block a user