[processing]improved script editor dialog

This commit is contained in:
Victor Olaya 2014-04-24 17:26:00 +02:00
parent 79757fabee
commit 1610d63a03

View File

@ -52,6 +52,8 @@ class ScriptEditorDialog(QDialog, Ui_DlgScriptEditor):
SCRIPT_PYTHON = 0 SCRIPT_PYTHON = 0
SCRIPT_R = 1 SCRIPT_R = 1
hasChanged = False
def __init__(self, algType, alg): def __init__(self, algType, alg):
QDialog.__init__(self) QDialog.__init__(self)
@ -86,6 +88,7 @@ class ScriptEditorDialog(QDialog, Ui_DlgScriptEditor):
self.btnPaste.clicked.connect(self.editor.paste) self.btnPaste.clicked.connect(self.editor.paste)
self.btnUndo.clicked.connect(self.editor.undo) self.btnUndo.clicked.connect(self.editor.undo)
self.btnRedo.clicked.connect(self.editor.redo) self.btnRedo.clicked.connect(self.editor.redo)
self.editor.textChanged.connect(lambda: self.setHasChanged(True))
self.alg = alg self.alg = alg
self.algType = algType self.algType = algType
@ -98,6 +101,8 @@ class ScriptEditorDialog(QDialog, Ui_DlgScriptEditor):
self.update = False self.update = False
self.help = None self.help = None
self.setHasChanged(False)
self.editor.setLexerType(self.algType) self.editor.setLexerType(self.algType)
@ -165,11 +170,14 @@ class ScriptEditorDialog(QDialog, Ui_DlgScriptEditor):
pickle.dump(self.help, f) pickle.dump(self.help, f)
f.close() f.close()
self.help = None self.help = None
QMessageBox.information(self, self.tr('Script saving'), self.setHasChanged(False)
self.tr('Script was correctly saved.'))
else: else:
self.filename = None self.filename = None
def setHasChanged(self, hasChanged):
self.hasChanged = hasChanged
self.btnSave.setEnabled(hasChanged)
def runAlgorithm(self): def runAlgorithm(self):
if self.algType == self.SCRIPT_PYTHON: if self.algType == self.SCRIPT_PYTHON:
alg = ScriptAlgorithm(None, unicode(self.editor.text())) alg = ScriptAlgorithm(None, unicode(self.editor.text()))