def create_manage_knitting_symbols_dialog(self): """ Create the manage knitting symbols dialog. NOTE: We create this widget at program startup so we can install a signal between it and the main window for updating the symbols widget. """ if not self.manageSymbolsDialog: sortedSymbols = symbols_by_category(self._knittingSymbols) symbolCategories = sortedSymbols.keys() personalSymbolPath = self.settings.personalSymbolPath.value self.manageSymbolsDialog = \ ManageSymbolDialog(personalSymbolPath, symbolCategories, self)
def refresh_symbol_widget_after_addition(self, synchronizer, symbolName, categoryName): """ This slot is called when a symbol in categoryName was added. This only happens if the user adds a custom symbol. """ symbolPaths = misc.set_up_symbol_paths(self._topLevelPath, self.settings) knittingSymbols = parser.parse_all_symbols(symbolPaths) symbolsByCategory = symbols_by_category(knittingSymbols) if categoryName in symbolsByCategory: symbol = knittingSymbols[symbolName] synchronizer.unselect() if categoryName in self.symbolSelector: widget = self.symbolSelector[categoryName] wList = add_to_category_widget(widget, symbol, synchronizer) else: symbols = symbolsByCategory[categoryName] (widget, wList) = \ generate_category_widget(categoryName, symbols, synchronizer) self.symbolCategoryChooser.addItem(categoryName) self.symbolSelector[categoryName] = widget self.symbolSelectorWidgets = \ dict(list(self.symbolSelectorWidgets.items()) + list(wList.items())) else: message = ("MainWindow: Problem updating symbol dialog\n" "after custom symbol change. " "It is highly recommended to save your\n" "current project and restart sconcho.") logger.error(message)
def refresh_symbol_widget_after_addition(self, synchronizer, symbolName, categoryName): """ This slot is called when a symbol in categoryName was added. This only happens if the user adds a custom symbol. """ symbolPaths = misc.set_up_symbol_paths(self._topLevelPath, self.settings) knittingSymbols = parser.parse_all_symbols(symbolPaths) symbolsByCategory = symbols_by_category(knittingSymbols) if categoryName in symbolsByCategory: symbol = knittingSymbols[symbolName] synchronizer.unselect() if categoryName in self.symbolSelector: widget = self.symbolSelector[categoryName] wList = add_to_category_widget(widget, symbol, synchronizer) else: symbols = symbolsByCategory[categoryName] (widget, wList) = \ generate_category_widget(categoryName, symbols, synchronizer) self.symbolCategoryChooser.addItem(categoryName) self.symbolSelector[categoryName] = widget self.symbolSelectorWidgets = \ dict(self.symbolSelectorWidgets.items() + wList.items()) else: message = ("MainWindow: Problem updating symbol dialog\n" "after custom symbol change. " "It is highly recommended to save your\n" "current project and restart sconcho.") logger.error(message)