@@ -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