Remember pane widths in CvPcb.
Fixes https://gitlab.com/kicad/code/kicad/issues/5708
This commit is contained in:
parent
2574a8d71e
commit
0c75a09bde
|
@ -162,6 +162,45 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( KIWAY* aKiway, wxWindow* aParent ) :
|
||||||
m_auimgr.Update();
|
m_auimgr.Update();
|
||||||
m_initialized = true;
|
m_initialized = true;
|
||||||
|
|
||||||
|
if( CVPCB_SETTINGS* cfg = dynamic_cast<CVPCB_SETTINGS*>( config() ) )
|
||||||
|
{
|
||||||
|
if( cfg->m_LibrariesWidth > 0 )
|
||||||
|
{
|
||||||
|
wxAuiPaneInfo& librariesPane = m_auimgr.GetPane( "Libraries" );
|
||||||
|
|
||||||
|
// wxAUI hack: force width by setting MinSize() and then Fixed()
|
||||||
|
// thanks to ZenJu http://trac.wxwidgets.org/ticket/13180
|
||||||
|
librariesPane.MinSize( cfg->m_LibrariesWidth, -1 );
|
||||||
|
librariesPane.BestSize( cfg->m_LibrariesWidth, -1 );
|
||||||
|
librariesPane.MaxSize( cfg->m_LibrariesWidth, -1 );
|
||||||
|
librariesPane.Fixed();
|
||||||
|
m_auimgr.Update();
|
||||||
|
|
||||||
|
// now make it resizable again
|
||||||
|
librariesPane.MinSize( 20, -1 );
|
||||||
|
librariesPane.Resizable();
|
||||||
|
m_auimgr.Update();
|
||||||
|
}
|
||||||
|
|
||||||
|
if( cfg->m_FootprintsWidth > 0 )
|
||||||
|
{
|
||||||
|
wxAuiPaneInfo& footprintsPane = m_auimgr.GetPane( "Footprints" );
|
||||||
|
|
||||||
|
// wxAUI hack: force width by setting MinSize() and then Fixed()
|
||||||
|
// thanks to ZenJu http://trac.wxwidgets.org/ticket/13180
|
||||||
|
footprintsPane.MinSize( cfg->m_FootprintsWidth, -1 );
|
||||||
|
footprintsPane.BestSize( cfg->m_FootprintsWidth, -1 );
|
||||||
|
footprintsPane.MaxSize( cfg->m_FootprintsWidth, -1 );
|
||||||
|
footprintsPane.Fixed();
|
||||||
|
m_auimgr.Update();
|
||||||
|
|
||||||
|
// now make it resizable again
|
||||||
|
footprintsPane.MinSize( 20, -1 );
|
||||||
|
footprintsPane.Resizable();
|
||||||
|
m_auimgr.Update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Connect Events
|
// Connect Events
|
||||||
setupEventHandlers();
|
setupEventHandlers();
|
||||||
|
|
||||||
|
@ -420,6 +459,9 @@ void CVPCB_MAINFRAME::SaveSettings( APP_SETTINGS_BASE* aCfg )
|
||||||
|
|
||||||
auto cfg = static_cast<CVPCB_SETTINGS*>( aCfg );
|
auto cfg = static_cast<CVPCB_SETTINGS*>( aCfg );
|
||||||
cfg->m_FilterFootprint = m_filteringOptions;
|
cfg->m_FilterFootprint = m_filteringOptions;
|
||||||
|
|
||||||
|
cfg->m_LibrariesWidth = m_libListBox->GetSize().x;
|
||||||
|
cfg->m_FootprintsWidth = m_footprintListBox->GetSize().x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,9 @@ CVPCB_SETTINGS::CVPCB_SETTINGS()
|
||||||
// Init settings:
|
// Init settings:
|
||||||
m_params.emplace_back( new PARAM<int>( "filter_footprint", &m_FilterFootprint, 0 ) );
|
m_params.emplace_back( new PARAM<int>( "filter_footprint", &m_FilterFootprint, 0 ) );
|
||||||
|
|
||||||
|
m_params.emplace_back( new PARAM<int>( "libraries_pane_width", &m_LibrariesWidth, 0 ) );
|
||||||
|
m_params.emplace_back( new PARAM<int>( "footprints_pane_width", &m_FootprintsWidth, 0 ) );
|
||||||
|
|
||||||
addParamsForWindow( &m_FootprintViewer, "footprint_viewer" );
|
addParamsForWindow( &m_FootprintViewer, "footprint_viewer" );
|
||||||
|
|
||||||
m_params.emplace_back( new PARAM<bool>( "footprint_viewer.pad_fill",
|
m_params.emplace_back( new PARAM<bool>( "footprint_viewer.pad_fill",
|
||||||
|
|
|
@ -48,6 +48,8 @@ public:
|
||||||
double m_FootprintViewerZoom;
|
double m_FootprintViewerZoom;
|
||||||
|
|
||||||
int m_FilterFootprint;
|
int m_FilterFootprint;
|
||||||
|
int m_LibrariesWidth;
|
||||||
|
int m_FootprintsWidth;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue