new LoadFromTemplate action in toolbar dropdown

This commit is contained in:
matteo 2018-03-29 08:37:20 +02:00 committed by Nyall Dawson
parent deaeaa6e97
commit 925d45dffb
2 changed files with 60 additions and 0 deletions

View File

@ -0,0 +1,58 @@
# -*- coding: utf-8 -*-
"""
***************************************************************************
AddScriptFromTemplateAction.py
---------------------
Date : August 2012
Copyright : (C) 2018 by Matteo Ghetta
Email : matteo dot ghetta at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""
__author__ = 'Matteo Ghetta'
__date__ = 'March 2018'
__copyright__ = '(C) 2018, Matteo Ghetta'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'
import os
import codecs
from qgis.PyQt.QtCore import QCoreApplication
from qgis.core import QgsApplication
from processing.gui.ToolboxAction import ToolboxAction
from processing.script.ScriptEditorDialog import ScriptEditorDialog
class AddScriptFromTemplateAction(ToolboxAction):
def __init__(self):
self.name = QCoreApplication.translate("AddScriptFromTemplate",
"Load Script From Template...")
self.group = self.tr("Tools")
def execute(self):
dlg = ScriptEditorDialog(None)
pluginPath = os.path.split(os.path.dirname(__file__))[0]
templatePath = os.path.join(
pluginPath, 'script', 'ScriptTemplate.py')
with codecs.open(templatePath, 'r', encoding='utf-8') as f:
templateTxt = f.read()
dlg.editor.setText(templateTxt)
dlg.show()

View File

@ -37,6 +37,7 @@ from processing.gui.ProviderActions import (ProviderActions,
from processing.script.AddScriptFromFileAction import AddScriptFromFileAction from processing.script.AddScriptFromFileAction import AddScriptFromFileAction
from processing.script.CreateNewScriptAction import CreateNewScriptAction from processing.script.CreateNewScriptAction import CreateNewScriptAction
from processing.script.AddScriptFromTemplateAction import AddScriptFromTemplateAction
from processing.script.DeleteScriptAction import DeleteScriptAction from processing.script.DeleteScriptAction import DeleteScriptAction
from processing.script.EditScriptAction import EditScriptAction from processing.script.EditScriptAction import EditScriptAction
from processing.script import ScriptUtils from processing.script import ScriptUtils
@ -50,6 +51,7 @@ class ScriptAlgorithmProvider(QgsProcessingProvider):
self.folder_algorithms = [] self.folder_algorithms = []
self.actions = [CreateNewScriptAction(), self.actions = [CreateNewScriptAction(),
AddScriptFromFileAction(), AddScriptFromFileAction(),
AddScriptFromTemplateAction(),
] ]
self.contextMenuActions = [EditScriptAction(), self.contextMenuActions = [EditScriptAction(),
DeleteScriptAction()] DeleteScriptAction()]