def dirtySaveCancel(self): d = QtWidgets.QMessageBox() d.setWindowTitle(i18n("Question")) d.setText(i18n("Document was modify")) d.setInformativeText(i18n("Save changes?")) d.setIcon(QtWidgets.QMessageBox.Question) d.setStandardButtons(QtWidgets.QMessageBox.Save | QtWidgets.QMessageBox.Cancel) return d.exec_()
def _perform_close_event(self, ev): if self.ui.codeEdit.dirty: mbox = QtWidgets.QMessageBox(self) mbox.setText("The document has been modified.") mbox.setInformativeText("Do you want to save your changes?") mbox.setStandardButtons(QtWidgets.QMessageBox.Save | QtWidgets.QMessageBox.Discard | QtWidgets.QMessageBox.Cancel) mbox.setIcon(QtWidgets.QMessageBox.Warning) mbox.setDefaultButton(QtWidgets.QMessageBox.Save) ret = mbox.exec_() ev.accept() # cancel may come from the mbox or from the save file dialog if ret == QtWidgets.QMessageBox.Cancel or ( ret == QtWidgets.QMessageBox.Save and not self.save()): ev.ignore()