From 1f812af6e865f370d73bf291c9847a295b92f544 Mon Sep 17 00:00:00 2001 From: Victor Olaya Date: Thu, 28 Mar 2013 21:20:15 +0100 Subject: [PATCH] [sextante] added "delete R script" action --- .../plugins/sextante/r/DeleteRScriptAction.py | 45 +++++++++++++++++++ .../plugins/sextante/r/RAlgorithmProvider.py | 3 +- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 python/plugins/sextante/r/DeleteRScriptAction.py diff --git a/python/plugins/sextante/r/DeleteRScriptAction.py b/python/plugins/sextante/r/DeleteRScriptAction.py new file mode 100644 index 00000000000..66caa159732 --- /dev/null +++ b/python/plugins/sextante/r/DeleteRScriptAction.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +""" +*************************************************************************** + DeleteRScriptAction.py + --------------------- + Date : August 2012 + Copyright : (C) 2012 by Victor Olaya + Email : volayaf 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__ = 'Victor Olaya' +__date__ = 'August 2012' +__copyright__ = '(C) 2012, Victor Olaya' +# This will get replaced with a git SHA1 when you do a git archive +__revision__ = '$Format:%H$' + +from sextante.r.RAlgorithm import RAlgorithm +from sextante.gui.ContextAction import ContextAction +import os +from PyQt4 import QtGui + +class DeleteRScriptAction(ContextAction): + + def __init__(self): + self.name="Delete script" + + def isEnabled(self): + return isinstance(self.alg, RAlgorithm) + + def execute(self, alg): + reply = QtGui.QMessageBox.question(None, 'Confirmation', + "Are you sure you want to delete this script?", QtGui.QMessageBox.Yes | + QtGui.QMessageBox.No, QtGui.QMessageBox.No) + if reply == QtGui.QMessageBox.Yes: + os.remove(self.alg.descriptionFile) + self.toolbox.updateTree() \ No newline at end of file diff --git a/python/plugins/sextante/r/RAlgorithmProvider.py b/python/plugins/sextante/r/RAlgorithmProvider.py index 721600e465d..671f4e4c6f0 100644 --- a/python/plugins/sextante/r/RAlgorithmProvider.py +++ b/python/plugins/sextante/r/RAlgorithmProvider.py @@ -27,6 +27,7 @@ from PyQt4.QtCore import * from PyQt4.QtGui import * import os.path from sextante.script.WrongScriptException import WrongScriptException +from sextante.r.DeleteRScriptAction import DeleteRScriptAction from sextante.core.SextanteConfig import SextanteConfig, Setting from sextante.core.SextanteLog import SextanteLog from sextante.core.AlgorithmProvider import AlgorithmProvider @@ -43,7 +44,7 @@ class RAlgorithmProvider(AlgorithmProvider): AlgorithmProvider.__init__(self) self.activate = False self.actions.append(CreateNewRScriptAction()) - self.contextMenuActions = [EditRScriptAction()] + self.contextMenuActions = [EditRScriptAction(), DeleteRScriptAction()] def initializeSettings(self): AlgorithmProvider.initializeSettings(self)