diff --git a/src/app/qgsprojectproperties.cpp b/src/app/qgsprojectproperties.cpp index 315f9047d95..45646cffcdb 100644 --- a/src/app/qgsprojectproperties.cpp +++ b/src/app/qgsprojectproperties.cpp @@ -205,10 +205,13 @@ QgsProjectProperties::QgsProjectProperties( QgsMapCanvas* mapCanvas, QWidget *pa mSnappingLayerSettings.insert( *idIter, newEntry ); } } + restoreState(); } QgsProjectProperties::~QgsProjectProperties() -{} +{ + saveState(); +} @@ -437,3 +440,22 @@ void QgsProjectProperties::on_cbxProjectionEnabled_stateChanged( int state ) btnGrpMapUnits->setEnabled( state == Qt::Unchecked ); } +/*! + * Function to save dialog window state + */ +void QgsProjectProperties::saveState() +{ + QSettings settings; + settings.setValue( "/Windows/ProjectProperties/geometry", saveGeometry() ); + settings.setValue( "/Windows/ProjectProperties/tab", tabWidget->currentIndex() ); +} + +/*! + * Function to restore dialog window state + */ +void QgsProjectProperties::restoreState() +{ + QSettings settings; + restoreGeometry( settings.value( "/Windows/ProjectProperties/geometry" ).toByteArray() ); + tabWidget->setCurrentIndex( settings.value( "/Windows/ProjectProperties/tab" ).toInt() ); +} diff --git a/src/app/qgsprojectproperties.h b/src/app/qgsprojectproperties.h index 52dc7ec94ac..c6d9dbf388f 100644 --- a/src/app/qgsprojectproperties.h +++ b/src/app/qgsprojectproperties.h @@ -113,4 +113,15 @@ class QgsProjectProperties : public QDialog, private Ui::QgsProjectPropertiesBas Key is the layer id, the pair consists of snap to vertex = 0/snap to segment = 1, snapping tolerance*/ QMap mSnappingLayerSettings; + + + /*! + * Function to save dialog window state + */ + void saveState(); + + /*! + * Function to restore dialog window state + */ + void restoreState(); };