Beispiel #1
0
 def updateAbbrev(self, selectNewItem):
     """
     Update abbrev attributes from dialog fields if changed.
     :param selectNewItem: set to True to select item when refreshing list
     """
     logger.debug(util.funcName('begin'))
     if not 0 <= self.selectedIndex < len(self.abbrevList):
         if selectNewItem:
             self.msgbox.displayExc(self.abbrevList.noItemSelected())
         return
     newAbbrev = abbreviations.Abbrev()
     newAbbrev.abbrevText = self.dlgCtrls.txtAbbrev.getText()
     if not newAbbrev.abbrevText:
         return
     newAbbrev.fullName = self.dlgCtrls.txtFullName.getText()
     if self.dlgCtrls.chkForceOutput.getState() == 1:  # checked
         newAbbrev.forceOutput = True
     oldAbbrev = self.abbrevList[self.selectedIndex]
     if oldAbbrev:
         if newAbbrev.sameAs(oldAbbrev):
             return
         logger.debug("%r not sameAs %r", newAbbrev, oldAbbrev)
         if newAbbrev.abbrevText == oldAbbrev.abbrevText:
             newAbbrev.occurrences = oldAbbrev.occurrences
         try:
             self.abbrevList.updateItem(self.selectedIndex, newAbbrev)
         except exceptions.ChoiceProblem as exc:
             self.msgbox.displayExc(exc)
             return
     if selectNewItem:
         self.refreshListAndSelectItem(newAbbrev)
     else:
         self.refreshList()
     logger.debug(util.funcName('end'))
Beispiel #2
0
 def addAbbrev(self):
     logger.debug(util.funcName('begin'))
     newAbbrev = abbreviations.Abbrev()
     newAbbrev.abbrevText = "---"
     newAbbrev.fullName = ""
     self.abbrevList.addItem(newAbbrev, allowDuplicates=True)
     self.refreshListAndSelectItem(newAbbrev)
     logger.debug(util.funcName('end'))
Beispiel #3
0
    def findNext(self):
        logger.debug(util.funcName('begin'))

        ## Get search form results

        displayName = self.dlgCtrls.cmbxSearchParaStyle.getText()
        if not displayName:
            self.msgbox.display("Please select a paragraph style.")
            return
        searchConfig = search.AbbrevSearchSettings()
        searchConfig.searchParaStyle = displayName
        self.userVars.store("SearchParaStyle", displayName)

        searchConfig.searchAffix = "any"
        if self.dlgCtrls.optSearchSuffix.getState() == 1:  # checked
            searchConfig.searchAffix = "suffix"
        elif self.dlgCtrls.optSearchPrefix.getState() == 1:  # checked
            searchConfig.searchAffix = "prefix"
        self.userVars.store("SearchAffix", searchConfig.searchAffix)

        try:
            searchConfig.maxSearchLength = int(
                self.dlgCtrls.txtMaxSearchLength.getText())
        except ValueError:
            self.msgbox.display("Please enter a number for max length.")
            return
        self.userVars.store("MaxSearchLength", searchConfig.maxSearchLength)

        searchConfig.searchUpperCase = False
        chkValue = self.dlgCtrls.chkSearchUpperCase.getState()
        if chkValue == 1:
            searchConfig.searchUpperCase = True
        self.userVars.store("SearchUpperCase", str(chkValue))

        searchConfig.startFromBeginning = False
        if self.dlgCtrls.chkStartFromBeginning.getState() == 1:
            searchConfig.startFromBeginning = True
            self.dlgCtrls.chkStartFromBeginning.setState(False)

        searchConfig.searchDelimiters = self.userVars.get("SearchDelimiters")

        ## Search

        abbrevSearch = search.AbbrevSearch(self.unoObjs)
        while True:
            possibleAbbrevs = abbrevSearch.findNext(
                searchConfig, self.abbrevList.getUniqueList())
            if len(possibleAbbrevs) == 0:
                self.msgbox.display("No more possible abbreviations found.")
                return
            for possibleAbbrevText in possibleAbbrevs:
                if possibleAbbrevText.strip() == "":
                    continue
                result = self.msgbox.displayYesNoCancel(
                    "Add '%s' as a new abbreviation?", possibleAbbrevText)
                if result == "yes":
                    logger.debug("Adding abbreviation from search.")
                    newAbbrev = abbreviations.Abbrev()
                    newAbbrev.abbrevText = possibleAbbrevText
                    newAbbrev.occurrences = 1
                    try:
                        self.abbrevList.addItem(newAbbrev)
                        self.refreshListAndSelectItem(newAbbrev)
                    except exceptions.ChoiceProblem as exc:
                        self.msgbox.displayExc(exc)
                elif result == "cancel":
                    return
                elif result == "no":
                    ## continue
                    pass
        logger.debug(util.funcName('end'))