From 4f3337f5ed31c2c801e9d956fa833def11e7d778 Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Tue, 12 May 2015 12:03:39 +0200 Subject: [PATCH] Fix hot keys for adjusting grid size (GAL). --- pcbnew/tools/pcbnew_control.cpp | 19 ++++++++++++++----- pcbnew/tools/pcbnew_control.h | 3 +++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/pcbnew/tools/pcbnew_control.cpp b/pcbnew/tools/pcbnew_control.cpp index 24fa9e617d..aee1eb30ff 100644 --- a/pcbnew/tools/pcbnew_control.cpp +++ b/pcbnew/tools/pcbnew_control.cpp @@ -390,6 +390,7 @@ int PCBNEW_CONTROL::LayerAlphaDec( const TOOL_EVENT& aEvent ) int PCBNEW_CONTROL::GridFast1( const TOOL_EVENT& aEvent ) { m_frame->SetFastGrid1(); + updateGrid(); return 0; } @@ -398,6 +399,7 @@ int PCBNEW_CONTROL::GridFast1( const TOOL_EVENT& aEvent ) int PCBNEW_CONTROL::GridFast2( const TOOL_EVENT& aEvent ) { m_frame->SetFastGrid2(); + updateGrid(); return 0; } @@ -406,6 +408,7 @@ int PCBNEW_CONTROL::GridFast2( const TOOL_EVENT& aEvent ) int PCBNEW_CONTROL::GridNext( const TOOL_EVENT& aEvent ) { m_frame->SetNextGrid(); + updateGrid(); return 0; } @@ -414,6 +417,7 @@ int PCBNEW_CONTROL::GridNext( const TOOL_EVENT& aEvent ) int PCBNEW_CONTROL::GridPrev( const TOOL_EVENT& aEvent ) { m_frame->SetPrevGrid(); + updateGrid(); return 0; } @@ -455,11 +459,7 @@ int PCBNEW_CONTROL::GridPreset( const TOOL_EVENT& aEvent ) long idx = aEvent.Parameter(); m_frame->SetPresetGrid( idx ); - BASE_SCREEN* screen = m_frame->GetScreen(); - GRID_TYPE grid = screen->GetGrid( idx ); - - getView()->GetGAL()->SetGridSize( VECTOR2D( grid.m_Size ) ); - getView()->MarkTargetDirty( KIGFX::TARGET_NONCACHED ); + updateGrid(); return 0; } @@ -577,3 +577,12 @@ void PCBNEW_CONTROL::SetTransitions() Go( &PCBNEW_CONTROL::ShowHelp, COMMON_ACTIONS::showHelp.MakeEvent() ); Go( &PCBNEW_CONTROL::ToBeDone, COMMON_ACTIONS::toBeDone.MakeEvent() ); } + + +void PCBNEW_CONTROL::updateGrid() +{ + BASE_SCREEN* screen = m_frame->GetScreen(); + //GRID_TYPE grid = screen->GetGrid( idx ); + getView()->GetGAL()->SetGridSize( VECTOR2D( screen->GetGridSize() ) ); + getView()->MarkTargetDirty( KIGFX::TARGET_NONCACHED ); +} diff --git a/pcbnew/tools/pcbnew_control.h b/pcbnew/tools/pcbnew_control.h index c0f41fa3a0..4275b9afbb 100644 --- a/pcbnew/tools/pcbnew_control.h +++ b/pcbnew/tools/pcbnew_control.h @@ -87,6 +87,9 @@ public: private: ///> Pointer to the currently used edit frame. PCB_BASE_FRAME* m_frame; + + ///> Applies the legacy canvas grid settings for GAL. + void updateGrid(); }; #endif