Separate power and symbol saved search strings.
Fixes https://gitlab.com/kicad/code/kicad/issues/11747
This commit is contained in:
parent
718bb461d2
commit
31316760f6
|
@ -47,7 +47,8 @@
|
||||||
|
|
||||||
std::mutex DIALOG_CHOOSE_SYMBOL::g_Mutex;
|
std::mutex DIALOG_CHOOSE_SYMBOL::g_Mutex;
|
||||||
|
|
||||||
wxString DIALOG_CHOOSE_SYMBOL::g_searchString;
|
wxString DIALOG_CHOOSE_SYMBOL::g_symbolSearchString;
|
||||||
|
wxString DIALOG_CHOOSE_SYMBOL::g_powerSearchString;
|
||||||
|
|
||||||
|
|
||||||
DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL( SCH_BASE_FRAME* aParent, const wxString& aTitle,
|
DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL( SCH_BASE_FRAME* aParent, const wxString& aTitle,
|
||||||
|
@ -72,8 +73,10 @@ DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL( SCH_BASE_FRAME* aParent, const wxStr
|
||||||
m_show_footprints( aShowFootprints ),
|
m_show_footprints( aShowFootprints ),
|
||||||
m_external_browser_requested( false )
|
m_external_browser_requested( false )
|
||||||
{
|
{
|
||||||
|
m_showPower = aAdapter->GetFilter() == SYMBOL_TREE_MODEL_ADAPTER::SYM_FILTER_POWER;
|
||||||
|
|
||||||
// Never show footprints in power symbol mode
|
// Never show footprints in power symbol mode
|
||||||
if( aAdapter->GetFilter() == SYMBOL_TREE_MODEL_ADAPTER::SYM_FILTER_POWER )
|
if( m_showPower )
|
||||||
m_show_footprints = false;
|
m_show_footprints = false;
|
||||||
|
|
||||||
wxBoxSizer* sizer = new wxBoxSizer( wxVERTICAL );
|
wxBoxSizer* sizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
@ -132,7 +135,10 @@ DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL( SCH_BASE_FRAME* aParent, const wxStr
|
||||||
|
|
||||||
aAdapter->FinishTreeInitialization();
|
aAdapter->FinishTreeInitialization();
|
||||||
|
|
||||||
m_tree->SetSearchString( g_searchString );
|
if( m_showPower )
|
||||||
|
m_tree->SetSearchString( g_powerSearchString );
|
||||||
|
else
|
||||||
|
m_tree->SetSearchString( g_symbolSearchString );
|
||||||
|
|
||||||
m_hsplitter->SetSashGravity( 0.8 );
|
m_hsplitter->SetSashGravity( 0.8 );
|
||||||
m_hsplitter->SetMinimumPaneSize( 20 );
|
m_hsplitter->SetMinimumPaneSize( 20 );
|
||||||
|
@ -148,11 +154,11 @@ DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL( SCH_BASE_FRAME* aParent, const wxStr
|
||||||
buttonsSizer->Add( m_browser_button, 0, wxALL | wxALIGN_CENTER_VERTICAL, 5 );
|
buttonsSizer->Add( m_browser_button, 0, wxALL | wxALIGN_CENTER_VERTICAL, 5 );
|
||||||
}
|
}
|
||||||
|
|
||||||
m_keepSymbol = new wxCheckBox( this, wxID_ANY, _("Place repeated copies"), wxDefaultPosition,
|
m_keepSymbol = new wxCheckBox( this, wxID_ANY, _( "Place repeated copies" ), wxDefaultPosition,
|
||||||
wxDefaultSize, wxALIGN_RIGHT );
|
wxDefaultSize, wxALIGN_RIGHT );
|
||||||
m_keepSymbol->SetToolTip( _( "Keep the symbol selected for subsequent clicks." ) );
|
m_keepSymbol->SetToolTip( _( "Keep the symbol selected for subsequent clicks." ) );
|
||||||
|
|
||||||
m_useUnits = new wxCheckBox( this, wxID_ANY, _("Place all units"), wxDefaultPosition,
|
m_useUnits = new wxCheckBox( this, wxID_ANY, _( "Place all units" ), wxDefaultPosition,
|
||||||
wxDefaultSize, wxALIGN_RIGHT );
|
wxDefaultSize, wxALIGN_RIGHT );
|
||||||
m_useUnits->SetToolTip( _( "Sequentially place all units of the symbol." ) );
|
m_useUnits->SetToolTip( _( "Sequentially place all units of the symbol." ) );
|
||||||
|
|
||||||
|
@ -186,13 +192,13 @@ DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL( SCH_BASE_FRAME* aParent, const wxStr
|
||||||
|
|
||||||
// We specify the width of the right window (m_symbol_view_panel), because specify
|
// We specify the width of the right window (m_symbol_view_panel), because specify
|
||||||
// the width of the left window does not work as expected when SetSashGravity() is called
|
// the width of the left window does not work as expected when SetSashGravity() is called
|
||||||
m_hsplitter->SetSashPosition( panelCfg.sash_pos_h > 0 ? panelCfg.sash_pos_h :
|
m_hsplitter->SetSashPosition( panelCfg.sash_pos_h > 0 ? panelCfg.sash_pos_h
|
||||||
horizPixelsFromDU( 220 ) );
|
: horizPixelsFromDU( 220 ) );
|
||||||
|
|
||||||
if( m_vsplitter )
|
if( m_vsplitter )
|
||||||
{
|
{
|
||||||
m_vsplitter->SetSashPosition( panelCfg.sash_pos_v > 0 ? panelCfg.sash_pos_v :
|
m_vsplitter->SetSashPosition( panelCfg.sash_pos_v > 0 ? panelCfg.sash_pos_v
|
||||||
vertPixelsFromDU( 230 ) );
|
: vertPixelsFromDU( 230 ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
wxSize dlgSize( panelCfg.width > 0 ? panelCfg.width : horizPixelsFromDU( 390 ),
|
wxSize dlgSize( panelCfg.width > 0 ? panelCfg.width : horizPixelsFromDU( 390 ),
|
||||||
|
@ -239,7 +245,10 @@ DIALOG_CHOOSE_SYMBOL::~DIALOG_CHOOSE_SYMBOL()
|
||||||
m_dbl_click_timer->Stop();
|
m_dbl_click_timer->Stop();
|
||||||
delete m_dbl_click_timer;
|
delete m_dbl_click_timer;
|
||||||
|
|
||||||
g_searchString = m_tree->GetSearchString();
|
if( m_showPower )
|
||||||
|
g_powerSearchString = m_tree->GetSearchString();
|
||||||
|
else
|
||||||
|
g_symbolSearchString = m_tree->GetSearchString();
|
||||||
|
|
||||||
if( m_browser_button )
|
if( m_browser_button )
|
||||||
{
|
{
|
||||||
|
|
|
@ -203,7 +203,8 @@ public:
|
||||||
static std::mutex g_Mutex;
|
static std::mutex g_Mutex;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static wxString g_searchString;
|
static wxString g_symbolSearchString;
|
||||||
|
static wxString g_powerSearchString;
|
||||||
|
|
||||||
wxTimer* m_dbl_click_timer;
|
wxTimer* m_dbl_click_timer;
|
||||||
SYMBOL_PREVIEW_WIDGET* m_symbol_preview;
|
SYMBOL_PREVIEW_WIDGET* m_symbol_preview;
|
||||||
|
@ -219,6 +220,7 @@ protected:
|
||||||
HTML_WINDOW* m_details;
|
HTML_WINDOW* m_details;
|
||||||
|
|
||||||
SCH_BASE_FRAME* m_parent;
|
SCH_BASE_FRAME* m_parent;
|
||||||
|
bool m_showPower;
|
||||||
int m_deMorganConvert;
|
int m_deMorganConvert;
|
||||||
bool m_allow_field_edits;
|
bool m_allow_field_edits;
|
||||||
bool m_show_footprints;
|
bool m_show_footprints;
|
||||||
|
|
Loading…
Reference in New Issue