Skip to content

Commit e925382

Browse files
committed
[processing] fixed provider updates in toolbox
1 parent 71712ac commit e925382

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

python/plugins/processing/core/Processing.py

+8
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,14 @@ def updateProviders():
183183
for provider in providers:
184184
provider.loadAlgorithms()
185185

186+
@staticmethod
187+
def reloadProvider(providerName):
188+
for p in Processing.providers:
189+
if p.getName() == providerName:
190+
p.loadAlgorithms()
191+
Processing.algs[
192+
p.getName()] = {a.commandLineName(): a for a in p.algs}
193+
186194
@staticmethod
187195
def loadAlgorithms():
188196
Processing.algs = {}

python/plugins/processing/gui/ProcessingToolbox.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ def activateProvider(self, providerName):
157157
"The provider has been activated, but it might need additional configuration.")
158158

159159
def updateProvider(self, providerName):
160+
Processing.reloadProvider(providerName)
160161
item = self._providerItem(providerName)
161162
if item is not None:
162163
item.refresh()
@@ -308,9 +309,7 @@ def addRecentAlgorithms(self, updating):
308309
def addProvider(self, providerName):
309310
name = 'ACTIVATE_' + providerName.upper().replace(' ', '_')
310311
providerItem = TreeProviderItem(providerName, None, self)
311-
if ProcessingConfig.getSetting(name):
312-
providerItem.setHidden(providerItem.childCount() == 0)
313-
else:
312+
if not ProcessingConfig.getSetting(name):
314313
providerItem = TreeProviderItem(providerName, None, self)
315314
providerItem.setHidden(True)
316315
self.disabledProviderItems[providerName] = providerItem
@@ -330,7 +329,6 @@ def fillTreeUsingProviders(self):
330329
name = 'ACTIVATE_' + providerName.upper().replace(' ', '_')
331330
if ProcessingConfig.getSetting(name):
332331
providerItem = TreeProviderItem(providerName, self.algorithmTree, self)
333-
providerItem.setHidden(providerItem.childCount() == 0)
334332
else:
335333
disabled.append(providerName)
336334
self.algorithmTree.sortItems(0, Qt.AscendingOrder)
@@ -436,3 +434,5 @@ def activateProvider():
436434
self.setToolTip(0, self.text(0))
437435
for groupItem in groups.values():
438436
self.addChild(groupItem)
437+
438+
self.setHidden(self.childCount() == 0)

0 commit comments

Comments
 (0)