mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-18 00:03:05 -04:00
[processing] fix app freeze when closing options dialog (fixes #15550)
This commit is contained in:
parent
b3fddc79f6
commit
3dcf487485
@ -289,16 +289,15 @@ class Setting(object):
|
|||||||
self.validator(value)
|
self.validator(value)
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
||||||
def read(self):
|
def read(self, qsettings=QSettings()):
|
||||||
qsettings = QSettings()
|
|
||||||
value = qsettings.value(self.qname, None)
|
value = qsettings.value(self.qname, None)
|
||||||
if value is not None:
|
if value is not None:
|
||||||
if isinstance(self.value, bool):
|
if isinstance(self.value, bool):
|
||||||
value = str(value).lower() == str(True).lower()
|
value = str(value).lower() == str(True).lower()
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
||||||
def save(self):
|
def save(self, qsettings=QSettings()):
|
||||||
QSettings().setValue(self.qname, self.value)
|
qsettings.setValue(self.qname, self.value)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name + '=' + str(self.value)
|
return self.name + '=' + str(self.value)
|
||||||
|
@ -30,8 +30,7 @@ __revision__ = '$Format:%H$'
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from qgis.PyQt import uic
|
from qgis.PyQt import uic
|
||||||
from qgis.PyQt.QtCore import (Qt,
|
from qgis.PyQt.QtCore import Qt, QEvent, QSettings
|
||||||
QEvent)
|
|
||||||
from qgis.PyQt.QtWidgets import (QFileDialog,
|
from qgis.PyQt.QtWidgets import (QFileDialog,
|
||||||
QDialog,
|
QDialog,
|
||||||
QStyle,
|
QStyle,
|
||||||
@ -266,6 +265,7 @@ class ConfigDialog(BASE, WIDGET):
|
|||||||
|
|
||||||
def accept(self):
|
def accept(self):
|
||||||
QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
|
QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
|
||||||
|
qsettings = QSettings()
|
||||||
for setting in list(self.items.keys()):
|
for setting in list(self.items.keys()):
|
||||||
if setting.group != menusSettingsGroup or self.saveMenus:
|
if setting.group != menusSettingsGroup or self.saveMenus:
|
||||||
if isinstance(setting.value, bool):
|
if isinstance(setting.value, bool):
|
||||||
@ -277,7 +277,7 @@ class ConfigDialog(BASE, WIDGET):
|
|||||||
QMessageBox.warning(self, self.tr('Wrong value'),
|
QMessageBox.warning(self, self.tr('Wrong value'),
|
||||||
self.tr('Wrong value for parameter "%s":\n\n%s' % (setting.description, str(e))))
|
self.tr('Wrong value for parameter "%s":\n\n%s' % (setting.description, str(e))))
|
||||||
return
|
return
|
||||||
setting.save()
|
setting.save(qsettings)
|
||||||
Processing.updateAlgsList()
|
Processing.updateAlgsList()
|
||||||
settingsWatcher.settingsChanged.emit()
|
settingsWatcher.settingsChanged.emit()
|
||||||
QApplication.restoreOverrideCursor()
|
QApplication.restoreOverrideCursor()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user