mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
DIALOG_LABEL_PROPERTIES: enter key close it instead of open the drop down list
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21258 (cherry picked from commit c1eb69570d625fa99d9b8604d88c2021c4a34039)
This commit is contained in:
parent
9c28241e45
commit
992492e738
@ -414,6 +414,18 @@ void DIALOG_LABEL_PROPERTIES::OnEnterKey( wxCommandEvent& aEvent )
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_LABEL_PROPERTIES::OnCBValueCharHook( wxKeyEvent& aEvent )
|
||||
{
|
||||
// If the key is WXK_RETURN because m_valueCombo is the source event, we do not skip
|
||||
// the key event because the default action is to show the m_valueCombo dropdown list,
|
||||
// and we only want to accept the entered string.
|
||||
if( aEvent.GetKeyCode() == WXK_RETURN )
|
||||
wxPostEvent( this, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
|
||||
else
|
||||
aEvent.Skip();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_LABEL_PROPERTIES::OnValueCharHook( wxKeyEvent& aEvent )
|
||||
{
|
||||
if( aEvent.GetKeyCode() == WXK_TAB )
|
||||
|
@ -53,6 +53,7 @@ private:
|
||||
*/
|
||||
void OnEnterKey( wxCommandEvent& aEvent ) override;
|
||||
void OnValueCharHook( wxKeyEvent& aEvent ) override;
|
||||
void OnCBValueCharHook( wxKeyEvent& aEvent ) override;
|
||||
void OnFormattingHelp( wxHyperlinkEvent& aEvent ) override;
|
||||
|
||||
void onSpinButton( wxCommandEvent &aEvent );
|
||||
|
@ -329,7 +329,7 @@ DIALOG_LABEL_PROPERTIES_BASE::DIALOG_LABEL_PROPERTIES_BASE( wxWindow* parent, wx
|
||||
this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnUpdateUI ) );
|
||||
m_valueSingleLine->Connect( wxEVT_CHAR_HOOK, wxKeyEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnValueCharHook ), NULL, this );
|
||||
m_valueSingleLine->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnEnterKey ), NULL, this );
|
||||
m_valueCombo->Connect( wxEVT_CHAR_HOOK, wxKeyEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnValueCharHook ), NULL, this );
|
||||
m_valueCombo->Connect( wxEVT_CHAR_HOOK, wxKeyEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnCBValueCharHook ), NULL, this );
|
||||
m_valueCombo->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnEnterKey ), NULL, this );
|
||||
m_valueMultiLine->Connect( wxEVT_CHAR_HOOK, wxKeyEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnValueCharHook ), NULL, this );
|
||||
m_cbMultiLine->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LABEL_PROPERTIES_BASE::onMultiLabelCheck ), NULL, this );
|
||||
@ -347,7 +347,7 @@ DIALOG_LABEL_PROPERTIES_BASE::~DIALOG_LABEL_PROPERTIES_BASE()
|
||||
this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnUpdateUI ) );
|
||||
m_valueSingleLine->Disconnect( wxEVT_CHAR_HOOK, wxKeyEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnValueCharHook ), NULL, this );
|
||||
m_valueSingleLine->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnEnterKey ), NULL, this );
|
||||
m_valueCombo->Disconnect( wxEVT_CHAR_HOOK, wxKeyEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnValueCharHook ), NULL, this );
|
||||
m_valueCombo->Disconnect( wxEVT_CHAR_HOOK, wxKeyEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnCBValueCharHook ), NULL, this );
|
||||
m_valueCombo->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnEnterKey ), NULL, this );
|
||||
m_valueMultiLine->Disconnect( wxEVT_CHAR_HOOK, wxKeyEventHandler( DIALOG_LABEL_PROPERTIES_BASE::OnValueCharHook ), NULL, this );
|
||||
m_cbMultiLine->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_LABEL_PROPERTIES_BASE::onMultiLabelCheck ), NULL, this );
|
||||
|
@ -336,7 +336,7 @@
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnCharHook">OnValueCharHook</event>
|
||||
<event name="OnCharHook">OnCBValueCharHook</event>
|
||||
<event name="OnTextEnter">OnEnterKey</event>
|
||||
</object>
|
||||
</object>
|
||||
|
@ -109,6 +109,7 @@ class DIALOG_LABEL_PROPERTIES_BASE : public DIALOG_SHIM
|
||||
virtual void OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void OnValueCharHook( wxKeyEvent& event ) { event.Skip(); }
|
||||
virtual void OnEnterKey( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnCBValueCharHook( wxKeyEvent& event ) { event.Skip(); }
|
||||
virtual void onMultiLabelCheck( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnFormattingHelp( wxHyperlinkEvent& event ) { event.Skip(); }
|
||||
virtual void OnSizeGrid( wxSizeEvent& event ) { event.Skip(); }
|
||||
|
Loading…
x
Reference in New Issue
Block a user