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'))
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'))
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'))