diff --git a/src/gui/qgisapp.cpp b/src/gui/qgisapp.cpp index c47d33889748..bda2512fd6c6 100644 --- a/src/gui/qgisapp.cpp +++ b/src/gui/qgisapp.cpp @@ -366,6 +366,10 @@ void QgisApp::readSettings() // Add the recently accessed project file paths to the File menu mRecentProjectPaths = settings.readListEntry("/UI/recentProjectsList"); + // Set the behaviour when the map splitters are resized + bool splitterRedraw = settings.value("/qgis/splitterRedraw", true).toBool(); + canvasLegendSplit->setOpaqueResize(splitterRedraw); + legendOverviewSplit->setOpaqueResize(splitterRedraw); } @@ -1244,7 +1248,8 @@ void QgisApp::saveWindowState() settings.writeEntry("/Geometry/y", p.y()); settings.writeEntry("/Geometry/w", s.width()); settings.writeEntry("/Geometry/h", s.height()); - + settings.setValue("/Geometry/canvasSplitterState", canvasLegendSplit->saveState()); + settings.setValue("/Geometry/legendSplitterState", legendOverviewSplit->saveState()); } void QgisApp::restoreWindowState() @@ -1264,6 +1269,9 @@ void QgisApp::restoreWindowState() int y = settings.readNumEntry("/Geometry/y", (dh - 400) / 2); resize(w, h); move(x, y); + + canvasLegendSplit->restoreState(settings.value("/Geometry/canvasSplitterState").toByteArray()); + legendOverviewSplit->restoreState(settings.value("/Geometry/legendSplitterState").toByteArray()); } ///////////// END OF GUI SETUP ROUTINES /////////////// @@ -4139,6 +4147,10 @@ void QgisApp::options() int action = mySettings.value("/qgis/wheel_action", 0).toInt(); double zoomFactor = mySettings.value("/qgis/zoom_factor", 2).toDouble(); mMapCanvas->setWheelAction((QgsMapCanvas::WheelAction) action, zoomFactor); + + bool splitterRedraw = mySettings.value("/qgis/splitterRedraw", true).toBool(); + canvasLegendSplit->setOpaqueResize(splitterRedraw); + legendOverviewSplit->setOpaqueResize(splitterRedraw); } } diff --git a/src/gui/qgsoptions.cpp b/src/gui/qgsoptions.cpp index 0be05407da08..6a33ef68fcf3 100644 --- a/src/gui/qgsoptions.cpp +++ b/src/gui/qgsoptions.cpp @@ -141,6 +141,8 @@ QgsOptions::QgsOptions(QWidget *parent, Qt::WFlags fl) : cmbWheelAction->setCurrentIndex(settings.value("/qgis/wheel_action", 0).toInt()); spinZoomFactor->setValue(settings.value("/qgis/zoom_factor", 2).toDouble()); + + splitterRedrawCB->setChecked(settings.value("/qgis/splitterRedraw", QVariant(true)).toBool()); } //! Destructor @@ -248,7 +250,9 @@ void QgsOptions::saveOptions() settings.writeEntry("/qgis/wheel_action", cmbWheelAction->currentIndex()); settings.writeEntry("/qgis/zoom_factor", spinZoomFactor->value()); - + + settings.setValue("/qgis/splitterRedraw", splitterRedrawCB->isChecked()); + //all done accept(); }