From 874250752d22276a5cf71cc07495a876d1565474 Mon Sep 17 00:00:00 2001 From: bulia byak Date: Fri, 3 Nov 2006 01:51:51 +0000 Subject: add view mode toggle, store current mode for the session in prefs (bzr r1888) --- src/desktop.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/desktop.cpp') diff --git a/src/desktop.cpp b/src/desktop.cpp index df13bed37..7b0c1f6fc 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -190,12 +190,10 @@ SPDesktop::init (SPNamedView *nv, SPCanvas *aCanvas) if (prefs_get_int_attribute("options.startmode", "outline", 0)) { // Start in outline mode - SP_CANVAS_ARENA (drawing)->arena->rendermode = RENDERMODE_OUTLINE; - canvas->rendermode = RENDERMODE_OUTLINE; // canvas needs that for choosing the best buffer size + setDisplayModeOutline(); } else { // Start in normal mode, default - SP_CANVAS_ARENA (drawing)->arena->rendermode = RENDERMODE_NORMAL; - canvas->rendermode = RENDERMODE_NORMAL; // canvas needs that for choosing the best buffer size + setDisplayModeNormal(); } grid = (SPCanvasGroup *) sp_canvas_item_new (main, SP_TYPE_CANVAS_GROUP, NULL); @@ -347,6 +345,7 @@ SPDesktop::~SPDesktop() {} void SPDesktop::setDisplayModeNormal() { + prefs_set_int_attribute("options.outlinemode", "value", 0); SP_CANVAS_ARENA (drawing)->arena->rendermode = RENDERMODE_NORMAL; canvas->rendermode = RENDERMODE_NORMAL; // canvas needs that for choosing the best buffer size sp_canvas_item_affine_absolute (SP_CANVAS_ITEM (main), _d2w); // redraw @@ -354,11 +353,20 @@ void SPDesktop::setDisplayModeNormal() void SPDesktop::setDisplayModeOutline() { + prefs_set_int_attribute("options.outlinemode", "value", 1); SP_CANVAS_ARENA (drawing)->arena->rendermode = RENDERMODE_OUTLINE; canvas->rendermode = RENDERMODE_OUTLINE; // canvas needs that for choosing the best buffer size sp_canvas_item_affine_absolute (SP_CANVAS_ITEM (main), _d2w); // redraw } +void SPDesktop::displayModeToggle() +{ + if (prefs_get_int_attribute("options.outlinemode", "value", prefs_get_int_attribute("options.startmode", "outline", 0))) + setDisplayModeNormal(); + else + setDisplayModeOutline(); +} + /** * Returns current root (=bottom) layer. */ -- cgit v1.2.3