From fa8101b56edf7c44e2bc28fbe2ee66175bbbbde5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Sat, 23 Jan 2010 10:34:30 +0000 Subject: [PATCH] Remember the mouse snapping mode across sessions... fixes #4740. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35252 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/icon-o-matic/CanvasView.h | 2 +- src/apps/icon-o-matic/MainWindow.cpp | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/apps/icon-o-matic/CanvasView.h b/src/apps/icon-o-matic/CanvasView.h index f1fe7b4f60..5dd6bf5db5 100644 --- a/src/apps/icon-o-matic/CanvasView.h +++ b/src/apps/icon-o-matic/CanvasView.h @@ -70,7 +70,7 @@ class CanvasView : public StateView, { return fZoomLevel; } void SetMouseFilterMode(uint32 mode); - bool MouseFilterMode() const + uint32 MouseFilterMode() const { return fMouseFilterMode; } void ConvertFromCanvas(BPoint* point) const; diff --git a/src/apps/icon-o-matic/MainWindow.cpp b/src/apps/icon-o-matic/MainWindow.cpp index b10f80dd27..cd0790f72d 100644 --- a/src/apps/icon-o-matic/MainWindow.cpp +++ b/src/apps/icon-o-matic/MainWindow.cpp @@ -95,9 +95,9 @@ MainWindow::MainWindow(IconEditorApp* app, Document* document, fDocument(document), fIcon(NULL) { - RestoreSettings(settings); - _Init(); + + RestoreSettings(settings); } // destructor @@ -508,8 +508,13 @@ MainWindow::SetIcon(Icon* icon) void MainWindow::StoreSettings(BMessage* archive) { - if (archive->ReplaceRect("main window frame", Frame()) < B_OK) + if (archive->ReplaceRect("main window frame", Frame()) != B_OK) archive->AddRect("main window frame", Frame()); + if (archive->ReplaceUInt32("mouse filter mode", + fCanvasView->MouseFilterMode()) != B_OK) { + archive->AddUInt32("mouse filter mode", + fCanvasView->MouseFilterMode()); + } } // RestoreSettings @@ -522,6 +527,9 @@ MainWindow::RestoreSettings(const BMessage* archive) MoveTo(frame.LeftTop()); ResizeTo(frame.Width(), frame.Height()); } + uint32 mouseFilterMode; + if (archive->FindUInt32("mouse filter mode", &mouseFilterMode) == B_OK) + fCanvasView->SetMouseFilterMode(mouseFilterMode); } // #pragma mark -