Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
    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)