def saveAsDb(fldbk, newDb=None): if QtWidgets.QApplication.focusWidget() != None: fieldname = QtWidgets.QApplication.focusWidget().objectName() try: update.setContents(fldbk, fieldname) except IndexError: pass parent = None openFileDialog = QtWidgets.QFileDialog(fldbk) filePath = path.dirname(openFileDialog.directory().currentPath()) fileDir = path.split(filePath) if fileDir[1] == 'com.UNTProject.eFieldbook': openFileDialog.setDirectory(dataIndex.homePath) if newDb != None: openFileDialog.setDirectory(dataIndex.homePath) openFileDialog.selectFile('*.xml') fname = openFileDialog.getSaveFileName(parent, "Create database.")[0] else: fname = openFileDialog.getSaveFileName(parent, "Save As...")[0] if fname: saveDoc = etree.tostring(dataIndex.root, encoding="unicode") saveFile = open(fname, "w", encoding="UTF-8") saveFile.write(saveDoc) saveFile.close() dataIndex.unsavedEdit = 0 dataIndex.sourceFile = fname[len(dataIndex.homePath):] if dataIndex.sourceFile not in dataIndex.recentFile: dataIndex.recentFile.insert(0, dataIndex.sourceFile) fldbk.settings.setValue('LastFile', dataIndex.sourceFile) fldbk.settings.setValue('RecentFile', dataIndex.recentFile) fldbk.giveWindowTitle()
def eventFilter(self, object, event): fldbk = dataIndex.fldbk if event.type() == QtCore.QEvent.FocusIn: try: object.clearSelection() except AttributeError: pass if event.type() == QtCore.QEvent.FocusOut: try: object.clearSelection() except AttributeError: pass try: if self.parentWidget().dialectMenu.hasFocus(): return False except AttributeError: pass if dataIndex.unsavedEdit == 1: fieldname = QtCore.QObject.objectName(object) wordCount = fldbk.lDialect.toPlainText().split() if len(wordCount) == 2: fldbk.dialectBox = QtWidgets.QMessageBox() fldbk.dialectBox.setIcon(QtWidgets.QMessageBox.Warning) fldbk.dialectBox.setStandardButtons(QtWidgets.QMessageBox.Cancel) fldbk.dialectBox.setStandardButtons(QtWidgets.QMessageBox.Ok) fldbk.dialectBox.setDefaultButton(QtWidgets.QMessageBox.Ok) fldbk.dialectBox.setText('Formatting error.') fldbk.dialectBox.setInformativeText('Format dialect information as' '<blockquote><big>Cdn. (US. soda; UK fizzy drink)</big></blockquote>' 'For expressions known for only one dialect, simply<br /> ' 'give the dialect name without an alternative.<br />') fldbk.dialectBox.exec_() return False update.setContents(fldbk, fieldname) return False
def eventFilter(self, object, event): fldbk = self.fldbk if event.type() == QtCore.QEvent.FocusOut: # if dataIndex.unsavedEdit == 1: fieldname = QtCore.QObject.objectName(object) update.setContents(fldbk, fieldname) if event.type() == QtCore.QEvent.KeyPress: if event.key() == QtCore.Qt.Key_Return: if not fldbk.eAutoParsingBtn.isChecked(): return True autoparsing.doParse() return True return False
def eventFilter(self, object, event): fldbk = dataIndex.fldbk if event.type() == QtCore.QEvent.FocusIn: try: object.clearSelection() except AttributeError: pass if event.type() == QtCore.QEvent.FocusOut: try: object.clearSelection() except AttributeError: pass # if dataIndex.unsavedEdit == 1: fieldname = QtCore.QObject.objectName(object) if len(fieldname) != 0: update.setContents(fldbk, fieldname) return False
def saveDb(fldbk): if QtWidgets.QApplication.focusWidget() != None: fieldname = QtWidgets.QApplication.focusWidget().objectName() if len(fieldname) != 0: try: update.setContents(fldbk, fieldname) except IndexError: pass if dataIndex.sourceFile != None: saveDoc = etree.tostring(dataIndex.root, "unicode") # saveFile = QtCore.QFile(dataIndex.sourceFile) # saveFile.open(QtCore.QIODevice.ReadWrite) saveFile = open(dataIndex.homePath + dataIndex.sourceFile, "w", encoding="UTF-8") saveFile.write(saveDoc) saveFile.close() else: saveAsDb(fldbk) dataIndex.unsavedEdit = 0 fldbk.settings.setValue('LastFile', dataIndex.sourceFile) fldbk.settings.setValue('RecentFile', dataIndex.recentFile)
def eventFilter(self, object, event): fldbk = QtCore.QObject.parent(object).parentWidget() while QtCore.QObject.objectName(fldbk) != 'Fieldbook': fldbk = QtCore.QObject.parent(fldbk) if event.type() == QtCore.QEvent.FocusOut: if dataIndex.unsavedEdit ==1: fieldname = QtCore.QObject.objectName(object) if len(fldbk.lBrrw.toPlainText().split(None,1)) == 1: fldbk.brrwBox = QtWidgets.QMessageBox() fldbk.brrwBox.setIcon(QtWidgets.QMessageBox.Warning) fldbk.brrwBox.setStandardButtons(QtWidgets.QMessageBox.Cancel) fldbk.brrwBox.setStandardButtons(QtWidgets.QMessageBox.Ok) fldbk.brrwBox.setDefaultButton(QtWidgets.QMessageBox.Ok) fldbk.brrwBox.setText('Formatting error.') fldbk.brrwBox.setInformativeText('The borrowings field must have both<br />' 'the abbreviated variant name and the <br />' 'alternative form, as in:' '<blockquote><big>Sp. “nena”</big></blockquote>') fldbk.brrwBox.exec_() return False update.setContents(fldbk, fieldname) return False