From 0df5cf7f75567ea8065dbefad41822630fee1078 Mon Sep 17 00:00:00 2001 From: Jon Evans <jon@craftyjon.com> Date: Tue, 27 Feb 2024 18:50:44 -0500 Subject: [PATCH] Expose grid origin action in more places Fixes https://gitlab.com/kicad/code/kicad/-/issues/17007 --- common/tool/grid_menu.cpp | 13 ++++--------- pcbnew/menubar_footprint_editor.cpp | 1 + pcbnew/menubar_pcb_editor.cpp | 1 + 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/common/tool/grid_menu.cpp b/common/tool/grid_menu.cpp index 620ac4c3db..6681781fc8 100644 --- a/common/tool/grid_menu.cpp +++ b/common/tool/grid_menu.cpp @@ -39,15 +39,7 @@ GRID_MENU::GRID_MENU( EDA_DRAW_FRAME* aParent ) : { UpdateTitle(); SetIcon( BITMAPS::grid_select ); - - APP_SETTINGS_BASE* settings = m_parent->config(); - wxArrayString gridsList; - int i = ID_POPUP_GRID_START; - - BuildChoiceList( &gridsList, settings, m_parent ); - - for( const wxString& grid : gridsList ) - Append( i++, grid, wxEmptyString, wxITEM_CHECK ); + update(); } @@ -77,6 +69,9 @@ void GRID_MENU::update() while( GetMenuItemCount() > 0 ) Delete( FindItemByPosition( 0 ) ); + Add( ACTIONS::gridOrigin ); + AppendSeparator(); + for( const wxString& grid : gridsList ) { int idx = i++; diff --git a/pcbnew/menubar_footprint_editor.cpp b/pcbnew/menubar_footprint_editor.cpp index 214f88042d..bdf60347a1 100644 --- a/pcbnew/menubar_footprint_editor.cpp +++ b/pcbnew/menubar_footprint_editor.cpp @@ -112,6 +112,7 @@ void FOOTPRINT_EDIT_FRAME::doReCreateMenuBar() editMenu->Add( PCB_ACTIONS::editTextAndGraphics ); editMenu->Add( PCB_ACTIONS::defaultPadProperties ); editMenu->Add( PCB_ACTIONS::enumeratePads ); + editMenu->Add( ACTIONS::gridOrigin ); //-- View menu ------------------------------------------------------- diff --git a/pcbnew/menubar_pcb_editor.cpp b/pcbnew/menubar_pcb_editor.cpp index 308766f3de..eef1bbb778 100644 --- a/pcbnew/menubar_pcb_editor.cpp +++ b/pcbnew/menubar_pcb_editor.cpp @@ -211,6 +211,7 @@ void PCB_EDIT_FRAME::doReCreateMenuBar() editMenu->Add( PCB_ACTIONS::editTeardrops ); editMenu->Add( PCB_ACTIONS::changeFootprints ); editMenu->Add( PCB_ACTIONS::swapLayers ); + editMenu->Add( ACTIONS::gridOrigin ); editMenu->AppendSeparator(); editMenu->Add( PCB_ACTIONS::zoneFillAll );