Remove popupmenu ornament
Daniel Ruiz de AlegrÃa
2 years ago
5 | 5 | Bug: https://bugzilla.gnome.org/show_bug.cgi?id=739480 |
6 | 6 | |
7 | 7 | --- |
8 | extensions/apps-menu/extension.js | 166 ++++++++++++++++++++++++------ | |
9 | 1 file changed, 133 insertions(+), 33 deletions(-) | |
8 | extensions/apps-menu/extension.js | 152 +++++++++++++++++++++++------- | |
9 | 1 file changed, 119 insertions(+), 33 deletions(-) | |
10 | 10 | |
11 | 11 | diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js |
12 | index cc1d697..58ac020 100644 | |
12 | index cc1d697..64c7017 100644 | |
13 | 13 | --- a/extensions/apps-menu/extension.js |
14 | 14 | +++ b/extensions/apps-menu/extension.js |
15 | 15 | @@ -98,34 +98,40 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem { |
292 | 292 | } |
293 | 293 | |
294 | 294 | selectCategory(dir) { |
295 | @@ -641,6 +727,20 @@ class ApplicationsButton extends PanelMenu.Button { | |
296 | this._displayButtons(this._listApplications(dir.get_menu_id())); | |
297 | else | |
298 | this._displayButtons(this._listApplications(null)); | |
299 | + | |
300 | + this.updateOrnament(this.categoriesBox, dir); | |
301 | + } | |
302 | + | |
303 | + updateOrnament(menu_item, category_dir) { | |
304 | + menu_item._getMenuItems().forEach(sub_menu_item => { | |
305 | + if (sub_menu_item.menu != undefined) | |
306 | + this.updateOrnament(sub_menu_item.menu, category_dir); | |
307 | + if (sub_menu_item._category == category_dir) { | |
308 | + sub_menu_item.setOrnament(PopupMenu.Ornament.CHECK); | |
309 | + } else { | |
310 | + sub_menu_item.setOrnament(PopupMenu.Ornament.NONE); | |
311 | + } | |
312 | + }, this); | |
313 | } | |
314 | ||
315 | _displayButtons(apps) { |