def createToggleCategoryFilterCommands(self, categories): categories = list(categories) categories.sort(key=lambda category: category.subject()) commands = [uicommand.ToggleCategoryFilter(category=category) for category in categories] categoriesWithChildren = [category for category in categories if category.children()] if categoriesWithChildren: commands.append(None) for category in categoriesWithChildren: subCommands = [_('%s (subcategories)')%category.subject()] subCommands.extend(self.createToggleCategoryFilterCommands(category.children())) commands.append(tuple(subCommands)) return commands
def saveAndLoad(self, tasks, categories=None, notes=None): categories = categories or [] notes = notes or [] self.emptyTaskFile.tasks().extend(tasks) self.emptyTaskFile.categories().extend(categories) self.emptyTaskFile.notes().extend(notes) self.emptyTaskFile.save() self.emptyTaskFile.load() self.assertEqual([task.subject() for task in tasks], [task.subject() for task in self.emptyTaskFile.tasks()]) self.assertEqual([category.subject() for category in categories], [category.subject() for category in self.emptyTaskFile.categories()]) self.assertEqual([note.subject() for note in notes], [note.subject() for note in self.emptyTaskFile.notes()])
def createToggleCategoryFilterCommands(self, categories): categories = list(categories) categories.sort(key=lambda category: category.subject()) commands = [uicommand.ToggleCategoryFilter(category=eachCategory) for eachCategory in categories] categoriesWithChildren = [eachCategory for eachCategory in categories if eachCategory.children()] if categoriesWithChildren: commands.append(None) for eachCategory in categoriesWithChildren: subCommands = [_('%s (subcategories)') % eachCategory.subject()] subCommands.extend(self.createToggleCategoryFilterCommands(eachCategory.children())) commands.append(tuple(subCommands)) return commands
def addMenuItemsForCategories(self, categories, menu): categories = categories[:] categories.sort(key=lambda category: category.subject()) for category in categories: uiCommand = uicommand.ToggleCategory(category=category, viewer=self.viewer) uiCommand.addToMenu(menu, self._window) categoriesWithChildren = [category for category in categories if category.children()] if categoriesWithChildren: menu.AppendSeparator() for category in categoriesWithChildren: subMenu = wx.Menu() self.addMenuItemsForCategories(category.children(), subMenu) menu.AppendSubMenu(subMenu, self.subMenuLabel(category))
def addMenuItemsForCategories(self, categories, menu): # pylint: disable=W0621 categories = categories[:] categories.sort(key=lambda category: category.subject().lower()) for category in categories: uiCommand = uicommand.ToggleCategory(category=category, viewer=self.viewer) uiCommand.addToMenu(menu, self._window) categoriesWithChildren = [category for category in categories if category.children()] if categoriesWithChildren: menu.AppendSeparator() for category in categoriesWithChildren: subMenu = Menu(self._window) self.addMenuItemsForCategories(category.children(), subMenu) menu.AppendSubMenu(subMenu, self.subMenuLabel(category))
def addMenuItemsForCategories(self, categories, menu): categories = categories[:] categories.sort(key=lambda category: category.subject()) for category in categories: uiCommand = self.uiCommandClass(category=category, viewer=self.viewer) uiCommand.addToMenu(menu, self._window) categoriesWithChildren = [ category for category in categories if category.children() ] if categoriesWithChildren: menu.AppendSeparator() for category in categoriesWithChildren: subMenu = wx.Menu() self.addMenuItemsForCategories(category.children(), subMenu) menu.AppendSubMenu(subMenu, self.subMenuLabel(category))
def subMenuLabel(category): # pylint: disable=W0621 return _('%s (subcategories)') % category.subject()
def addPage(self, category): page = CategoryEditBook(self._interior, category) self._interior.AddPage(page, category.subject())
def addPage(self, category): page = CategoryEditBook(self._interior, category, self._settings, self._taskFile) self._interior.AddPage(page, category.subject())