diff options
Diffstat (limited to 'Mozo')
-rw-r--r-- | Mozo/MenuEditor.py | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/Mozo/MenuEditor.py b/Mozo/MenuEditor.py index b218eb5..32e358c 100644 --- a/Mozo/MenuEditor.py +++ b/Mozo/MenuEditor.py @@ -262,28 +262,35 @@ class MenuEditor(object): while item_type != MateMenu.TreeItemType.INVALID: if item_type == MateMenu.TreeItemType.DIRECTORY: item = item_iter.get_directory() - yield (item, self.__isVisible(item)) + if item.get_menu_id() != 'Collection': + yield (item, self.__isVisible(item)) item_type = item_iter.next() def getContents(self, item): + class CollectionDirectoryException(Exception): pass + contents = [] item_iter = item.iter() item_type = item_iter.next() while item_type != MateMenu.TreeItemType.INVALID: item = None - if item_type == MateMenu.TreeItemType.DIRECTORY: - item = item_iter.get_directory() - elif item_type == MateMenu.TreeItemType.ENTRY: - item = item_iter.get_entry() - elif item_type == MateMenu.TreeItemType.HEADER: - item = item_iter.get_header() - elif item_type == MateMenu.TreeItemType.ALIAS: - item = item_iter.get_alias() - elif item_type == MateMenu.TreeItemType.SEPARATOR: - item = item_iter.get_separator() - if item: - contents.append(item) + try: + if item_type == MateMenu.TreeItemType.DIRECTORY: + item = item_iter.get_directory() + if item.get_menu_id() == 'Collection': raise CollectionDirectoryException() + elif item_type == MateMenu.TreeItemType.ENTRY: + item = item_iter.get_entry() + elif item_type == MateMenu.TreeItemType.HEADER: + item = item_iter.get_header() + elif item_type == MateMenu.TreeItemType.ALIAS: + item = item_iter.get_alias() + elif item_type == MateMenu.TreeItemType.SEPARATOR: + item = item_iter.get_separator() + if item: + contents.append(item) + except CollectionDirectoryException: + pass item_type = item_iter.next() return contents |