[sextante] added "delete R script" action

This commit is contained in:
Victor Olaya 2013-03-28 21:20:15 +01:00
parent 58d076ea96
commit 1f812af6e8
2 changed files with 47 additions and 1 deletions

View File

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

View File

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