From 089bb379b71f86f20263e46368275cb65b36307a Mon Sep 17 00:00:00 2001 From: mhugent Date: Mon, 7 Jan 2008 13:04:36 +0000 Subject: [PATCH] protect editing tools if map canvas is rendering git-svn-id: http://svn.osgeo.org/qgis/trunk@7855 c8812cc2-4d05-0410-92ff-de0c093fc19c --- src/app/qgisapp.cpp | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 64cd37423d4..22865a7c7be 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -3398,6 +3398,11 @@ void QgisApp::deleteSelected() void QgisApp::capturePoint() { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } + // set current map tool to select mMapCanvas->setMapTool(mMapTools.mCapturePoint); @@ -3407,11 +3412,20 @@ void QgisApp::capturePoint() void QgisApp::captureLine() { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } + mMapCanvas->setMapTool(mMapTools.mCaptureLine); } void QgisApp::capturePolygon() { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } mMapCanvas->setMapTool(mMapTools.mCapturePolygon); } @@ -3423,34 +3437,59 @@ void QgisApp::select() void QgisApp::addVertex() { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } mMapCanvas->setMapTool(mMapTools.mVertexAdd); } void QgisApp::moveVertex() { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } mMapCanvas->setMapTool(mMapTools.mVertexMove); } void QgisApp::addRing() { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } mMapCanvas->setMapTool(mMapTools.mAddRing); } void QgisApp::addIsland() { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } mMapCanvas->setMapTool(mMapTools.mAddIsland); } void QgisApp::deleteVertex() { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } mMapCanvas->setMapTool(mMapTools.mVertexDelete); } void QgisApp::editCut(QgsMapLayer * layerContainingSelection) { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } + QgsMapLayer * selectionLayer = (layerContainingSelection != 0) ? (layerContainingSelection) : (activeLayer()); @@ -3472,6 +3511,11 @@ void QgisApp::editCut(QgsMapLayer * layerContainingSelection) void QgisApp::editCopy(QgsMapLayer * layerContainingSelection) { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } + QgsMapLayer * selectionLayer = (layerContainingSelection != 0) ? (layerContainingSelection) : (activeLayer()); @@ -3492,6 +3536,11 @@ void QgisApp::editCopy(QgsMapLayer * layerContainingSelection) void QgisApp::editPaste(QgsMapLayer * destinationLayer) { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + return; + } + QgsMapLayer * pasteLayer = (destinationLayer != 0) ? (destinationLayer) : (activeLayer()); @@ -3529,6 +3578,12 @@ void QgisApp::refreshMapCanvas() void QgisApp::toggleEditing() { + if(mMapCanvas && mMapCanvas->isDrawing()) + { + mActionToggleEditing->setChecked(!mActionToggleEditing->isChecked()); + return; + } + QgsLegendLayerFile* currentLayerFile = mMapLegend->currentLayerFile(); if(currentLayerFile) {