Skip to content

Commit

Permalink
[processing] handle provider modifications when settings have been ed…
Browse files Browse the repository at this point in the history
…ited
  • Loading branch information
volaya committed Apr 27, 2016
1 parent f33749a commit bee4068
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 12 deletions.
8 changes: 7 additions & 1 deletion python/plugins/processing/core/ProcessingConfig.py
Expand Up @@ -27,11 +27,17 @@

import os

from PyQt.QtCore import QPyNullVariant, QCoreApplication, QSettings
from PyQt.QtCore import QPyNullVariant, QCoreApplication, QSettings, QObject, pyqtSignal
from PyQt.QtGui import QIcon
from processing.tools.system import defaultOutputFolder
import processing.tools.dataobjects

class SettingsWatcher(QObject):

settingsChanged = pyqtSignal()

settingsWatcher = SettingsWatcher()


class ProcessingConfig:

Expand Down
6 changes: 4 additions & 2 deletions python/plugins/processing/gui/ConfigDialog.py
Expand Up @@ -48,8 +48,9 @@
from qgis.gui import QgsDoubleSpinBox
from qgis.gui import QgsSpinBox

from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.ProcessingConfig import Setting
from processing.core.ProcessingConfig import (ProcessingConfig,
settingsWatcher,
Setting)
from processing.core.Processing import Processing
from processing.gui.menus import updateMenus
from processing.gui.menus import menusSettingsGroup
Expand Down Expand Up @@ -249,6 +250,7 @@ def accept(self):
return
setting.save()
Processing.updateAlgsList()
settingsWatcher.settingsChanged.emit()
updateMenus()

QDialog.accept(self)
Expand Down
12 changes: 3 additions & 9 deletions python/plugins/processing/gui/ProcessingToolbox.py
Expand Up @@ -36,7 +36,7 @@
from processing.gui.Postprocessing import handleAlgorithmResults
from processing.core.Processing import Processing, algListWatcher
from processing.core.ProcessingLog import ProcessingLog
from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.ProcessingConfig import ProcessingConfig, settingsWatcher
from processing.gui.MessageDialog import MessageDialog
from processing.gui import AlgorithmClassification
from processing.gui.AlgorithmDialog import AlgorithmDialog
Expand All @@ -53,8 +53,6 @@

class ProcessingToolbox(BASE, WIDGET):

updateAlgList = True

def __init__(self):
super(ProcessingToolbox, self).__init__(None)
self.tipWasClosed = False
Expand Down Expand Up @@ -85,6 +83,7 @@ def openSettings(url):

algListWatcher.providerRemoved.connect(self.removeProvider)
algListWatcher.providerAdded.connect(self.addProvider)
settingsWatcher.settingsChanged.connect(self.fillTree)

def showDisabled(self):
self.txtDisabled.setVisible(False)
Expand Down Expand Up @@ -157,12 +156,7 @@ def activateProvider(self, providerName):
QMessageBox.warning(self, "Activate provider",
"The provider has been activated, but it might need additional configuration.")


def updateProvider(self, providerName, updateAlgsList=True):
if updateAlgsList:
self.updateAlgList = False
Processing.updateAlgsList()
self.updateAlgList = True
def updateProvider(self, providerName):
item = self._providerItem(providerName)
if item is not None:
item.refresh()
Expand Down

0 comments on commit bee4068

Please sign in to comment.