Remember the last active tab on the appearance panel
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5216
This commit is contained in:
parent
ab7c96f672
commit
96f4e8f6f8
|
@ -280,7 +280,10 @@ PCB_EDIT_FRAME::PCB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
|
||||||
wxSize size = m_appearancePanel->GetBestSize();
|
wxSize size = m_appearancePanel->GetBestSize();
|
||||||
size.x = settings->m_AuiPanels.right_panel_width;
|
size.x = settings->m_AuiPanels.right_panel_width;
|
||||||
m_auimgr.GetPane( "LayersManager" ).BestSize( size );
|
m_auimgr.GetPane( "LayersManager" ).BestSize( size );
|
||||||
|
m_appearancePanel->SetSize( size );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_appearancePanel->SetTabIndex( settings->m_AuiPanels.appearance_panel_tab );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call Update() to fix all pane default sizes, especially the "InfoBar" pane before
|
// Call Update() to fix all pane default sizes, especially the "InfoBar" pane before
|
||||||
|
@ -944,6 +947,7 @@ void PCB_EDIT_FRAME::SaveSettings( APP_SETTINGS_BASE* aCfg )
|
||||||
cfg->m_AuiPanels.show_microwave_tools = m_show_microwave_tools;
|
cfg->m_AuiPanels.show_microwave_tools = m_show_microwave_tools;
|
||||||
cfg->m_AuiPanels.show_layer_manager = m_show_layer_manager_tools;
|
cfg->m_AuiPanels.show_layer_manager = m_show_layer_manager_tools;
|
||||||
cfg->m_AuiPanels.right_panel_width = m_appearancePanel->GetSize().x;
|
cfg->m_AuiPanels.right_panel_width = m_appearancePanel->GetSize().x;
|
||||||
|
cfg->m_AuiPanels.appearance_panel_tab = m_appearancePanel->GetTabIndex();
|
||||||
cfg->m_ShowPageLimits = m_showPageLimits;
|
cfg->m_ShowPageLimits = m_showPageLimits;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,6 +88,9 @@ PCBNEW_SETTINGS::PCBNEW_SETTINGS()
|
||||||
m_params.emplace_back(
|
m_params.emplace_back(
|
||||||
new PARAM<int>( "aui.right_panel_width", &m_AuiPanels.right_panel_width, -1 ) );
|
new PARAM<int>( "aui.right_panel_width", &m_AuiPanels.right_panel_width, -1 ) );
|
||||||
|
|
||||||
|
m_params.emplace_back( new PARAM<int>(
|
||||||
|
"aui.appearance_panel_tab", &m_AuiPanels.appearance_panel_tab, 0, 0, 2 ) );
|
||||||
|
|
||||||
m_params.emplace_back( new PARAM<int>( "footprint_chooser.width",
|
m_params.emplace_back( new PARAM<int>( "footprint_chooser.width",
|
||||||
&m_FootprintChooser.width, -1 ) );
|
&m_FootprintChooser.width, -1 ) );
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,7 @@ class PCBNEW_SETTINGS : public APP_SETTINGS_BASE
|
||||||
public:
|
public:
|
||||||
struct AUI_PANELS
|
struct AUI_PANELS
|
||||||
{
|
{
|
||||||
|
int appearance_panel_tab;
|
||||||
int right_panel_width;
|
int right_panel_width;
|
||||||
bool show_microwave_tools;
|
bool show_microwave_tools;
|
||||||
bool show_layer_manager;
|
bool show_layer_manager;
|
||||||
|
|
|
@ -836,6 +836,21 @@ void APPEARANCE_CONTROLS::OnLayerContextMenu( wxCommandEvent& aEvent )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int APPEARANCE_CONTROLS::GetTabIndex() const
|
||||||
|
{
|
||||||
|
return m_notebook->GetSelection();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void APPEARANCE_CONTROLS::SetTabIndex( int aTab )
|
||||||
|
{
|
||||||
|
size_t max = m_notebook->GetPageCount();
|
||||||
|
|
||||||
|
if( aTab >= 0 && static_cast<size_t>( aTab ) < max )
|
||||||
|
m_notebook->SetSelection( aTab );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void APPEARANCE_CONTROLS::syncColorsAndVisibility()
|
void APPEARANCE_CONTROLS::syncColorsAndVisibility()
|
||||||
{
|
{
|
||||||
BOARD* board = m_frame->GetBoard();
|
BOARD* board = m_frame->GetBoard();
|
||||||
|
|
|
@ -143,6 +143,12 @@ public:
|
||||||
|
|
||||||
void OnLayerContextMenu( wxCommandEvent& aEvent );
|
void OnLayerContextMenu( wxCommandEvent& aEvent );
|
||||||
|
|
||||||
|
///> Returns the index of the current tab (0-2)
|
||||||
|
int GetTabIndex() const;
|
||||||
|
|
||||||
|
///> Sets the current notebook tab
|
||||||
|
void SetTabIndex( int aTab );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void OnLayerDisplayPaneChanged( wxCollapsiblePaneEvent& event ) override;
|
void OnLayerDisplayPaneChanged( wxCollapsiblePaneEvent& event ) override;
|
||||||
|
|
Loading…
Reference in New Issue