Skip to content

Commit 1610d63

Browse files
committed
[processing]improved script editor dialog
1 parent 79757fa commit 1610d63

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

python/plugins/processing/gui/ScriptEditorDialog.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ class ScriptEditorDialog(QDialog, Ui_DlgScriptEditor):
5252

5353
SCRIPT_PYTHON = 0
5454
SCRIPT_R = 1
55+
56+
hasChanged = False
5557

5658
def __init__(self, algType, alg):
5759
QDialog.__init__(self)
@@ -86,6 +88,7 @@ def __init__(self, algType, alg):
8688
self.btnPaste.clicked.connect(self.editor.paste)
8789
self.btnUndo.clicked.connect(self.editor.undo)
8890
self.btnRedo.clicked.connect(self.editor.redo)
91+
self.editor.textChanged.connect(lambda: self.setHasChanged(True))
8992

9093
self.alg = alg
9194
self.algType = algType
@@ -98,6 +101,8 @@ def __init__(self, algType, alg):
98101

99102
self.update = False
100103
self.help = None
104+
105+
self.setHasChanged(False)
101106

102107
self.editor.setLexerType(self.algType)
103108

@@ -165,11 +170,14 @@ def saveScript(self, saveAs):
165170
pickle.dump(self.help, f)
166171
f.close()
167172
self.help = None
168-
QMessageBox.information(self, self.tr('Script saving'),
169-
self.tr('Script was correctly saved.'))
173+
self.setHasChanged(False)
170174
else:
171175
self.filename = None
172176

177+
def setHasChanged(self, hasChanged):
178+
self.hasChanged = hasChanged
179+
self.btnSave.setEnabled(hasChanged)
180+
173181
def runAlgorithm(self):
174182
if self.algType == self.SCRIPT_PYTHON:
175183
alg = ScriptAlgorithm(None, unicode(self.editor.text()))

0 commit comments

Comments
 (0)