Save and restore window geometry for modeler dialogs

This commit is contained in:
Nyall Dawson 2017-07-08 16:05:39 +10:00
parent 3665e462c8
commit 7db1a9dfd3
2 changed files with 24 additions and 4 deletions

View File

@ -29,7 +29,8 @@ __revision__ = '$Format:%H$'
import math import math
from qgis.gui import QgsExpressionLineEdit, QgsProjectionSelectionWidget from qgis.gui import QgsExpressionLineEdit, QgsProjectionSelectionWidget
from qgis.core import (QgsCoordinateReferenceSystem, from qgis.core import (QgsSettings,
QgsCoordinateReferenceSystem,
QgsProcessingParameterDefinition, QgsProcessingParameterDefinition,
QgsProcessingParameterBoolean, QgsProcessingParameterBoolean,
QgsProcessingParameterCrs, QgsProcessingParameterCrs,
@ -48,7 +49,8 @@ from qgis.core import (QgsCoordinateReferenceSystem,
QgsProcessingParameterVectorLayer, QgsProcessingParameterVectorLayer,
QgsProcessingParameterField, QgsProcessingParameterField,
QgsProcessingParameterFeatureSource) QgsProcessingParameterFeatureSource)
from qgis.PyQt.QtCore import Qt from qgis.PyQt.QtCore import (Qt,
QByteArray)
from qgis.PyQt.QtWidgets import (QDialog, from qgis.PyQt.QtWidgets import (QDialog,
QVBoxLayout, QVBoxLayout,
QLabel, QLabel,
@ -98,6 +100,13 @@ class ModelerParameterDefinitionDialog(QDialog):
QDialog.__init__(self) QDialog.__init__(self)
self.setModal(True) self.setModal(True)
self.setupUi() self.setupUi()
settings = QgsSettings()
self.restoreGeometry(settings.value("/Processing/modelParametersDefinitionDialogGeometry", QByteArray()))
def closeEvent(self, event):
settings = QgsSettings()
settings.setValue("/Processing/modelParametersDefinitionDialogGeometry", self.saveGeometry())
super(ModelerParameterDefinitionDialog, self).closeEvent(event)
def setupUi(self): def setupUi(self):
self.setWindowTitle(self.tr('Parameter definition')) self.setWindowTitle(self.tr('Parameter definition'))

View File

@ -28,7 +28,10 @@ __revision__ = '$Format:%H$'
import webbrowser import webbrowser
from qgis.PyQt.QtCore import Qt, QUrl, QMetaObject from qgis.PyQt.QtCore import (Qt,
QUrl,
QMetaObject,
QByteArray)
from qgis.PyQt.QtWidgets import (QDialog, QDialogButtonBox, QLabel, QLineEdit, from qgis.PyQt.QtWidgets import (QDialog, QDialogButtonBox, QLabel, QLineEdit,
QFrame, QPushButton, QSizePolicy, QVBoxLayout, QFrame, QPushButton, QSizePolicy, QVBoxLayout,
QHBoxLayout, QWidget) QHBoxLayout, QWidget)
@ -41,7 +44,8 @@ from qgis.core import (QgsProcessingParameterDefinition,
QgsProcessingParameterRasterDestination, QgsProcessingParameterRasterDestination,
QgsProcessingParameterFileDestination, QgsProcessingParameterFileDestination,
QgsProcessingParameterFolderDestination, QgsProcessingParameterFolderDestination,
QgsProcessingOutputDefinition) QgsProcessingOutputDefinition,
QgsSettings)
from qgis.gui import (QgsMessageBar, from qgis.gui import (QgsMessageBar,
QgsScrollArea, QgsScrollArea,
@ -70,6 +74,13 @@ class ModelerParametersDialog(QDialog):
self.childId = algName self.childId = algName
self.setupUi() self.setupUi()
self.params = None self.params = None
settings = QgsSettings()
self.restoreGeometry(settings.value("/Processing/modelParametersDialogGeometry", QByteArray()))
def closeEvent(self, event):
settings = QgsSettings()
settings.setValue("/Processing/modelParametersDialogGeometry", self.saveGeometry())
super(ModelerParametersDialog, self).closeEvent(event)
def setupUi(self): def setupUi(self):
self.labels = {} self.labels = {}