Skip to content

Commit 46d59b7

Browse files
ghtmttnyalldawson
authored andcommitted
[processing][feature] load default script from template
1 parent 1a74b0a commit 46d59b7

File tree

3 files changed

+124
-0
lines changed

3 files changed

+124
-0
lines changed
Loading

python/plugins/processing/script/ScriptEditorDialog.py

+19
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ def __init__(self, filePath=None, parent=None):
7272
QgsApplication.getThemeIcon('/mActionFileSave.svg'))
7373
self.actionSaveScriptAs.setIcon(
7474
QgsApplication.getThemeIcon('/mActionFileSaveAs.svg'))
75+
self.actionLoadFromTemplate.setIcon(
76+
QgsApplication.getThemeIcon('/mActionOpenFromTemplate.svg'))
7577
self.actionRunScript.setIcon(
7678
QgsApplication.getThemeIcon('/mActionStart.svg'))
7779
self.actionCut.setIcon(
@@ -95,6 +97,7 @@ def __init__(self, filePath=None, parent=None):
9597
self.actionOpenScript.triggered.connect(self.openScript)
9698
self.actionSaveScript.triggered.connect(self.save)
9799
self.actionSaveScriptAs.triggered.connect(self.saveAs)
100+
self.actionLoadFromTemplate.triggered.connect(self.loadFrom)
98101
self.actionRunScript.triggered.connect(self.runAlgorithm)
99102
self.actionCut.triggered.connect(self.editor.cut)
100103
self.actionCopy.triggered.connect(self.editor.copy)
@@ -166,6 +169,22 @@ def save(self):
166169
def saveAs(self):
167170
self.saveScript(True)
168171

172+
def loadFrom(self):
173+
if self.hasChanged:
174+
ret = QMessageBox.warning(self,
175+
self.tr("Unsaved changes"),
176+
self.tr("There are unsaved changes in the script. Continue?"),
177+
QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
178+
if ret == QMessageBox.No:
179+
return
180+
181+
templatePath = os.path.join(
182+
pluginPath, 'script', 'script_template.py')
183+
184+
with codecs.open(templatePath, 'r', encoding='utf-8') as f:
185+
templateTxt = f.read()
186+
self.editor.setText(templateTxt)
187+
169188
def saveScript(self, saveAs):
170189
newPath = None
171190
if self.filePath is None or saveAs:

python/plugins/processing/ui/DlgScriptEditor.ui

+12
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
<addaction name="actionOpenScript"/>
107107
<addaction name="actionSaveScript"/>
108108
<addaction name="actionSaveScriptAs"/>
109+
<addaction name="actionLoadFromTemplate"/>
109110
<addaction name="separator"/>
110111
<addaction name="separator"/>
111112
<addaction name="actionRunScript"/>
@@ -155,6 +156,17 @@
155156
<string>Ctrl+Shift+S</string>
156157
</property>
157158
</action>
159+
<action name="actionLoadFromTemplate">
160+
<property name="text">
161+
<string>Load script from template...</string>
162+
</property>
163+
<property name="toolTip">
164+
<string>oad script from template...</string>
165+
</property>
166+
<property name="shortcut">
167+
<string>Ctrl+Shift+M</string>
168+
</property>
169+
</action>
158170
<action name="actionRunScript">
159171
<property name="text">
160172
<string>Run script</string>

0 commit comments

Comments
 (0)