[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 * from PyQt4.QtGui import *
import os.path import os.path
from sextante.script.WrongScriptException import WrongScriptException from sextante.script.WrongScriptException import WrongScriptException
from sextante.r.DeleteRScriptAction import DeleteRScriptAction
from sextante.core.SextanteConfig import SextanteConfig, Setting from sextante.core.SextanteConfig import SextanteConfig, Setting
from sextante.core.SextanteLog import SextanteLog from sextante.core.SextanteLog import SextanteLog
from sextante.core.AlgorithmProvider import AlgorithmProvider from sextante.core.AlgorithmProvider import AlgorithmProvider
@ -43,7 +44,7 @@ class RAlgorithmProvider(AlgorithmProvider):
AlgorithmProvider.__init__(self) AlgorithmProvider.__init__(self)
self.activate = False self.activate = False
self.actions.append(CreateNewRScriptAction()) self.actions.append(CreateNewRScriptAction())
self.contextMenuActions = [EditRScriptAction()] self.contextMenuActions = [EditRScriptAction(), DeleteRScriptAction()]
def initializeSettings(self): def initializeSettings(self):
AlgorithmProvider.initializeSettings(self) AlgorithmProvider.initializeSettings(self)