summaryrefslogtreecommitdiffstats
path: root/src/desktop.cpp
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2007-04-15 20:57:15 +0000
committerjohanengelen <johanengelen@users.sourceforge.net>2007-04-15 20:57:15 +0000
commitfc5abda00de48f93060263aa0615dcb2339c46c5 (patch)
treef5fe275f81e20bd910fca00d023807a211a4eca1 /src/desktop.cpp
parentRemoval of old grid code - fully enabled new grid code. (diff)
downloadinkscape-fc5abda00de48f93060263aa0615dcb2339c46c5.tar.gz
inkscape-fc5abda00de48f93060263aa0615dcb2339c46c5.zip
When no grid is defined but "toggle grid" is pressed => create a default rectangular grid
(bzr r2905)
Diffstat (limited to 'src/desktop.cpp')
-rw-r--r--src/desktop.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index a9c4e5d7f..5ab682cd0 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -1105,13 +1105,21 @@ void SPDesktop::clearWaitingCursor()
void SPDesktop::toggleGrid()
{
- if(gridgroup) {
- grids_visible = !grids_visible;
- if (grids_visible) {
- sp_canvas_item_show(SP_CANVAS_ITEM(gridgroup));
- } else {
- sp_canvas_item_hide(SP_CANVAS_ITEM(gridgroup));
+ if (namedview->grids) {
+ if(gridgroup) {
+ grids_visible = !grids_visible;
+ if (grids_visible) {
+ sp_canvas_item_show(SP_CANVAS_ITEM(gridgroup));
+ } else {
+ sp_canvas_item_hide(SP_CANVAS_ITEM(gridgroup));
+ }
}
+ } else {
+ //there is no grid present at the moment. add a rectangular grid and make it visible
+ Inkscape::XML::Node *repr = SP_OBJECT_REPR(namedview);
+ Inkscape::CanvasGrid::writeNewGridToRepr(repr, "xygrid");
+ grids_visible = true;
+ sp_canvas_item_show(SP_CANVAS_ITEM(gridgroup));
}
}