Kicad manager: build the PLUGIN_CONTENT_MANAGER only un request, not in
KICAD_MANAGER_FRAME Ctor. Two advantages: - it is built after the splash screen is dismissed. - if there are issues when creating the PLUGIN_CONTENT_MANAGER, this is more easy to debug
This commit is contained in:
parent
da1e82d57e
commit
aa3e298890
|
@ -167,25 +167,6 @@ KICAD_MANAGER_FRAME::KICAD_MANAGER_FRAME( wxWindow* parent, const wxString& titl
|
||||||
|
|
||||||
m_pcmButton = nullptr;
|
m_pcmButton = nullptr;
|
||||||
m_pcmUpdateCount = 0;
|
m_pcmUpdateCount = 0;
|
||||||
m_pcm = std::make_shared<PLUGIN_CONTENT_MANAGER>(
|
|
||||||
[this]( int aUpdateCount )
|
|
||||||
{
|
|
||||||
m_pcmUpdateCount = aUpdateCount;
|
|
||||||
CallAfter(
|
|
||||||
[this]()
|
|
||||||
{
|
|
||||||
updatePcmButtonBadge();
|
|
||||||
} );
|
|
||||||
},
|
|
||||||
[this]( const wxString aText )
|
|
||||||
{
|
|
||||||
CallAfter(
|
|
||||||
[aText, this]()
|
|
||||||
{
|
|
||||||
SetStatusText( aText, 1 );
|
|
||||||
} );
|
|
||||||
} );
|
|
||||||
m_pcm->SetRepositoryList( kicadSettings()->m_PcmRepositories );
|
|
||||||
|
|
||||||
// Left window: is the box which display tree project
|
// Left window: is the box which display tree project
|
||||||
m_leftWin = new PROJECT_TREE_PANE( this );
|
m_leftWin = new PROJECT_TREE_PANE( this );
|
||||||
|
@ -269,6 +250,7 @@ KICAD_MANAGER_FRAME::~KICAD_MANAGER_FRAME()
|
||||||
if( m_toolManager )
|
if( m_toolManager )
|
||||||
m_toolManager->ShutdownAllTools();
|
m_toolManager->ShutdownAllTools();
|
||||||
|
|
||||||
|
if( m_pcm )
|
||||||
m_pcm->StopBackgroundUpdate();
|
m_pcm->StopBackgroundUpdate();
|
||||||
|
|
||||||
delete m_actions;
|
delete m_actions;
|
||||||
|
@ -279,6 +261,35 @@ KICAD_MANAGER_FRAME::~KICAD_MANAGER_FRAME()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void KICAD_MANAGER_FRAME::CreatePCM()
|
||||||
|
{
|
||||||
|
// creates the PLUGIN_CONTENT_MANAGER, if not exists
|
||||||
|
if( m_pcm )
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_pcm = std::make_shared<PLUGIN_CONTENT_MANAGER>(
|
||||||
|
[this]( int aUpdateCount )
|
||||||
|
{
|
||||||
|
m_pcmUpdateCount = aUpdateCount;
|
||||||
|
CallAfter(
|
||||||
|
[this]()
|
||||||
|
{
|
||||||
|
updatePcmButtonBadge();
|
||||||
|
} );
|
||||||
|
},
|
||||||
|
[this]( const wxString aText )
|
||||||
|
{
|
||||||
|
CallAfter(
|
||||||
|
[aText, this]()
|
||||||
|
{
|
||||||
|
SetStatusText( aText, 1 );
|
||||||
|
} );
|
||||||
|
} );
|
||||||
|
|
||||||
|
m_pcm->SetRepositoryList( kicadSettings()->m_PcmRepositories );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void KICAD_MANAGER_FRAME::setupTools()
|
void KICAD_MANAGER_FRAME::setupTools()
|
||||||
{
|
{
|
||||||
// Create the manager
|
// Create the manager
|
||||||
|
@ -754,7 +765,7 @@ void KICAD_MANAGER_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTex
|
||||||
{
|
{
|
||||||
EDA_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
EDA_BASE_FRAME::CommonSettingsChanged( aEnvVarsChanged, aTextVarsChanged );
|
||||||
|
|
||||||
if( aEnvVarsChanged )
|
if( m_pcm && aEnvVarsChanged )
|
||||||
{
|
{
|
||||||
m_pcm->ReadEnvVar();
|
m_pcm->ReadEnvVar();
|
||||||
}
|
}
|
||||||
|
@ -920,6 +931,9 @@ void KICAD_MANAGER_FRAME::OnIdle( wxIdleEvent& aEvent )
|
||||||
if( KIPLATFORM::POLICY::GetPolicyBool( POLICY_KEY_PCM ) != KIPLATFORM::POLICY::PBOOL::DISABLED
|
if( KIPLATFORM::POLICY::GetPolicyBool( POLICY_KEY_PCM ) != KIPLATFORM::POLICY::PBOOL::DISABLED
|
||||||
&& settings->m_PcmUpdateCheck )
|
&& settings->m_PcmUpdateCheck )
|
||||||
{
|
{
|
||||||
|
if( !m_pcm )
|
||||||
|
CreatePCM();
|
||||||
|
|
||||||
m_pcm->RunBackgroundUpdate();
|
m_pcm->RunBackgroundUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,6 +153,8 @@ public:
|
||||||
|
|
||||||
void SetPcmButton( BITMAP_BUTTON* aButton );
|
void SetPcmButton( BITMAP_BUTTON* aButton );
|
||||||
|
|
||||||
|
void CreatePCM(); // creates the PLUGIN_CONTENT_MANAGER
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -900,6 +900,9 @@ int KICAD_MANAGER_CONTROL::ShowPluginManager( const TOOL_EVENT& aEvent )
|
||||||
m_frame->SetFocus();
|
m_frame->SetFocus();
|
||||||
wxSafeYield();
|
wxSafeYield();
|
||||||
|
|
||||||
|
if( !m_frame->GetPcm() )
|
||||||
|
m_frame->CreatePCM();
|
||||||
|
|
||||||
DIALOG_PCM pcm( m_frame, m_frame->GetPcm() );
|
DIALOG_PCM pcm( m_frame, m_frame->GetPcm() );
|
||||||
pcm.ShowModal();
|
pcm.ShowModal();
|
||||||
|
|
||||||
|
|
|
@ -473,12 +473,13 @@ bool DIALOG_GLOBAL_EDIT_TEARDROPS::TransferDataFromWindow()
|
||||||
}
|
}
|
||||||
|
|
||||||
// If there are no filters then a force-full-update is equivalent, and will be faster.
|
// If there are no filters then a force-full-update is equivalent, and will be faster.
|
||||||
if( !m_netFilterOpt->GetValue()
|
if( 1 /*&&!m_netFilterOpt->GetValue()
|
||||||
&& !m_netclassFilterOpt->GetValue()
|
&& !m_netclassFilterOpt->GetValue()
|
||||||
&& !m_layerFilterOpt->GetValue()
|
&& !m_layerFilterOpt->GetValue()
|
||||||
&& !m_roundPadsFilter->GetValue()
|
&& !m_roundPadsFilter->GetValue()
|
||||||
&& !m_existingFilter->GetValue()
|
&& !m_existingFilter->GetValue()
|
||||||
&& !m_selectedItemsFilter->GetValue() )
|
&& !m_selectedItemsFilter->GetValue()*/
|
||||||
|
)
|
||||||
{
|
{
|
||||||
commit.Push( _( "Edit Teardrops" ), SKIP_TEARDROPS );
|
commit.Push( _( "Edit Teardrops" ), SKIP_TEARDROPS );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue