diff --git a/common/dialogs/dialog_env_var_config.cpp b/common/dialogs/dialog_env_var_config.cpp index 8e327ccb22..ef50409674 100644 --- a/common/dialogs/dialog_env_var_config.cpp +++ b/common/dialogs/dialog_env_var_config.cpp @@ -65,6 +65,11 @@ public: protected: void OnSelectPath( wxCommandEvent& event ) override; void onHelpClick( wxCommandEvent& event ) override; + + // Currently, only upper case variable names are acepted. onVarNameChange + // changes on the fly any lower case char by the corresponding upper case + void onVarNameChange( wxCommandEvent& event ) override; + bool TransferDataFromWindow() override; }; @@ -427,6 +432,20 @@ void DIALOG_ENV_VAR_SINGLE::OnSelectPath( wxCommandEvent& event ) } +void DIALOG_ENV_VAR_SINGLE::onVarNameChange( wxCommandEvent& event ) +{ + wxString upper_var = m_envVarName->GetValue().Upper(); + + if( upper_var != m_envVarName->GetValue() ) + { + int pos = m_envVarName->GetInsertionPoint(); + m_envVarName->ChangeValue( upper_var ); + m_envVarName->SetInsertionPoint( pos ); + } + +} + + bool DIALOG_ENV_VAR_SINGLE::TransferDataFromWindow() { // The user pressed the OK button, test data validity diff --git a/common/dialogs/dialog_env_var_config_base.cpp b/common/dialogs/dialog_env_var_config_base.cpp index 549f30379f..e0e95bc6ab 100644 --- a/common/dialogs/dialog_env_var_config_base.cpp +++ b/common/dialogs/dialog_env_var_config_base.cpp @@ -1,8 +1,8 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Nov 22 2017) +// C++ code generated with wxFormBuilder (version Aug 4 2017) // http://www.wxformbuilder.org/ // -// PLEASE DO *NOT* EDIT THIS FILE! +// PLEASE DO "NOT" EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// #include "dialog_env_var_config_base.h" @@ -61,7 +61,7 @@ DIALOG_ENV_VAR_CONFIG_BASE::DIALOG_ENV_VAR_CONFIG_BASE( wxWindow* parent, wxWind m_sdbSizer->AddButton( m_sdbSizerHelp ); m_sdbSizer->Realize(); - mainSizer->Add( m_sdbSizer, 0, wxBOTTOM|wxEXPAND, 5 ); + mainSizer->Add( m_sdbSizer, 0, wxBOTTOM|wxALIGN_RIGHT, 5 ); this->SetSizer( mainSizer ); @@ -142,7 +142,7 @@ DIALOG_ENV_VAR_SINGLE_BASE::DIALOG_ENV_VAR_SINGLE_BASE( wxWindow* parent, wxWind m_sdbSizer2->AddButton( m_sdbSizer2Cancel ); m_sdbSizer2->Realize(); - bSizerMain->Add( m_sdbSizer2, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); + bSizerMain->Add( m_sdbSizer2, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_RIGHT, 5 ); this->SetSizer( bSizerMain ); @@ -152,6 +152,7 @@ DIALOG_ENV_VAR_SINGLE_BASE::DIALOG_ENV_VAR_SINGLE_BASE( wxWindow* parent, wxWind this->Centre( wxBOTH ); // Connect Events + m_envVarName->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_ENV_VAR_SINGLE_BASE::onVarNameChange ), NULL, this ); m_buttonHelp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ENV_VAR_SINGLE_BASE::onHelpClick ), NULL, this ); m_selectPathButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ENV_VAR_SINGLE_BASE::OnSelectPath ), NULL, this ); } @@ -159,6 +160,7 @@ DIALOG_ENV_VAR_SINGLE_BASE::DIALOG_ENV_VAR_SINGLE_BASE( wxWindow* parent, wxWind DIALOG_ENV_VAR_SINGLE_BASE::~DIALOG_ENV_VAR_SINGLE_BASE() { // Disconnect Events + m_envVarName->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_ENV_VAR_SINGLE_BASE::onVarNameChange ), NULL, this ); m_buttonHelp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ENV_VAR_SINGLE_BASE::onHelpClick ), NULL, this ); m_selectPathButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ENV_VAR_SINGLE_BASE::OnSelectPath ), NULL, this ); diff --git a/common/dialogs/dialog_env_var_config_base.fbp b/common/dialogs/dialog_env_var_config_base.fbp index 0f7933c0b7..e695b4b20f 100644 --- a/common/dialogs/dialog_env_var_config_base.fbp +++ b/common/dialogs/dialog_env_var_config_base.fbp @@ -577,7 +577,7 @@ 5 - wxBOTTOM|wxEXPAND + wxBOTTOM|wxALIGN_RIGHT 0 0 @@ -853,7 +853,7 @@ - + onVarNameChange @@ -1305,7 +1305,7 @@ 5 - wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_RIGHT 0 0 diff --git a/common/dialogs/dialog_env_var_config_base.h b/common/dialogs/dialog_env_var_config_base.h index c8e67a74a9..7ef5f5db36 100644 --- a/common/dialogs/dialog_env_var_config_base.h +++ b/common/dialogs/dialog_env_var_config_base.h @@ -1,8 +1,8 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Nov 22 2017) +// C++ code generated with wxFormBuilder (version Aug 4 2017) // http://www.wxformbuilder.org/ // -// PLEASE DO *NOT* EDIT THIS FILE! +// PLEASE DO "NOT" EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// #ifndef __DIALOG_ENV_VAR_CONFIG_BASE_H__ @@ -11,6 +11,8 @@ #include #include #include +class DIALOG_SHIM; + #include "dialog_shim.h" #include #include @@ -85,6 +87,7 @@ class DIALOG_ENV_VAR_SINGLE_BASE : public DIALOG_SHIM wxButton* m_sdbSizer2Cancel; // Virtual event handlers, overide them in your derived class + virtual void onVarNameChange( wxCommandEvent& event ) { event.Skip(); } virtual void onHelpClick( wxCommandEvent& event ) { event.Skip(); } virtual void OnSelectPath( wxCommandEvent& event ) { event.Skip(); } diff --git a/common/validators.cpp b/common/validators.cpp index bb67a7e969..f105a557d5 100644 --- a/common/validators.cpp +++ b/common/validators.cpp @@ -80,6 +80,6 @@ FILE_NAME_WITH_PATH_CHAR_VALIDATOR::FILE_NAME_WITH_PATH_CHAR_VALIDATOR( wxString ENVIRONMENT_VARIABLE_CHAR_VALIDATOR::ENVIRONMENT_VARIABLE_CHAR_VALIDATOR( wxString* aValue ) : wxTextValidator( wxFILTER_INCLUDE_CHAR_LIST | wxFILTER_EMPTY, aValue ) { - wxString includeChars( wxT( "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_" ) ); + wxString includeChars( wxT( "abcdefghijklmnopqrstuvwxyABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_" ) ); SetCharIncludes( includeChars ); }