Skip to content

Commit 846eef2

Browse files
authored
Merge pull request #3686 from arnaud-morvan/processing_reset_menus
[processing] Add button to reset processing menus in config dialog
2 parents dc9ebe2 + e78fc62 commit 846eef2

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

python/plugins/processing/gui/ConfigDialog.py

+21-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
QHBoxLayout,
4343
QComboBox)
4444
from qgis.PyQt.QtGui import (QIcon,
45+
QPushButton,
4546
QStandardItemModel,
4647
QStandardItem)
4748

@@ -55,7 +56,7 @@
5556
Setting)
5657
from processing.core.Processing import Processing
5758
from processing.gui.DirectorySelectorDialog import DirectorySelectorDialog
58-
from processing.gui.menus import updateMenus
59+
from processing.gui.menus import defaultMenuEntries, updateMenus
5960
from processing.gui.menus import menusSettingsGroup
6061

6162

@@ -198,6 +199,16 @@ def fillTreeUsingProviders(self):
198199

199200
rootItem.insertRow(0, [menusItem, emptyItem])
200201

202+
button = QPushButton(self.tr('Reset to defaults'))
203+
button.clicked.connect(self.resetMenusToDefaults)
204+
layout = QHBoxLayout()
205+
layout.setContentsMargins(0, 0, 0, 0)
206+
layout.addWidget(button)
207+
layout.addStretch()
208+
widget = QWidget()
209+
widget.setLayout(layout)
210+
self.tree.setIndexWidget(emptyItem.index(), widget)
211+
201212
providers = Processing.providers
202213
for provider in providers:
203214
providerDescription = provider.getDescription()
@@ -240,6 +251,15 @@ def fillTreeUsingProviders(self):
240251
self.tree.sortByColumn(0, Qt.AscendingOrder)
241252
self.adjustColumns()
242253

254+
def resetMenusToDefaults(self):
255+
providers = Processing.providers
256+
for provider in providers:
257+
for alg in provider.algs:
258+
d = defaultMenuEntries.get(alg.commandLineName(), "")
259+
setting = ProcessingConfig.settings["MENU_" + alg.commandLineName()]
260+
item = self.items[setting]
261+
item.setData(d, Qt.EditRole)
262+
243263
def accept(self):
244264
for setting in self.items.keys():
245265
if isinstance(setting.value, bool):

0 commit comments

Comments
 (0)