Linux/MacOSX: solve the 'X' icon not closing some dialog. This was caused by a bug of wxFormBuilder that calls SetExtraStyle without taking care of the previous value.

This commit is contained in:
Mounir IDRASSI 2015-02-14 23:42:15 +01:00
parent 544c55debc
commit 86529dadde
8 changed files with 14 additions and 14 deletions

View File

@ -21,6 +21,7 @@ namespace VeraCrypt
bool enableNewKeyfiles = false; bool enableNewKeyfiles = false;
bool enablePkcs5Prf = false; bool enablePkcs5Prf = false;
SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
switch (mode) switch (mode)
{ {
case Mode::ChangePasswordAndKeyfiles: case Mode::ChangePasswordAndKeyfiles:

View File

@ -16,6 +16,8 @@ namespace VeraCrypt
DeviceSelectionDialog::DeviceSelectionDialog (wxWindow* parent) DeviceSelectionDialog::DeviceSelectionDialog (wxWindow* parent)
: DeviceSelectionDialogBase (parent) : DeviceSelectionDialogBase (parent)
{ {
SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
wxBusyCursor busy; wxBusyCursor busy;
list <int> colPermilles; list <int> colPermilles;

View File

@ -840,7 +840,6 @@ BenchmarkDialogBase::~BenchmarkDialogBase()
ChangePasswordDialogBase::ChangePasswordDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) ChangePasswordDialogBase::ChangePasswordDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );
this->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
wxBoxSizer* bSizer30; wxBoxSizer* bSizer30;
bSizer30 = new wxBoxSizer( wxVERTICAL ); bSizer30 = new wxBoxSizer( wxVERTICAL );
@ -909,7 +908,6 @@ ChangePasswordDialogBase::~ChangePasswordDialogBase()
DeviceSelectionDialogBase::DeviceSelectionDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) DeviceSelectionDialogBase::DeviceSelectionDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize ); this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
this->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
wxBoxSizer* bSizer3; wxBoxSizer* bSizer3;
bSizer3 = new wxBoxSizer( wxVERTICAL ); bSizer3 = new wxBoxSizer( wxVERTICAL );
@ -1216,7 +1214,6 @@ FavoriteVolumesDialogBase::~FavoriteVolumesDialogBase()
KeyfilesDialogBase::KeyfilesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) KeyfilesDialogBase::KeyfilesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );
this->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
wxBoxSizer* bSizer26; wxBoxSizer* bSizer26;
bSizer26 = new wxBoxSizer( wxVERTICAL ); bSizer26 = new wxBoxSizer( wxVERTICAL );
@ -1499,7 +1496,6 @@ LegalNoticesDialogBase::~LegalNoticesDialogBase()
MountOptionsDialogBase::MountOptionsDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) MountOptionsDialogBase::MountOptionsDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );
this->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
wxBoxSizer* bSizer5; wxBoxSizer* bSizer5;
bSizer5 = new wxBoxSizer( wxVERTICAL ); bSizer5 = new wxBoxSizer( wxVERTICAL );
@ -1757,7 +1753,6 @@ NewSecurityTokenKeyfileDialogBase::~NewSecurityTokenKeyfileDialogBase()
PreferencesDialogBase::PreferencesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) PreferencesDialogBase::PreferencesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxDefaultSize, wxDefaultSize ); this->SetSizeHints( wxDefaultSize, wxDefaultSize );
this->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
wxBoxSizer* bSizer32; wxBoxSizer* bSizer32;
bSizer32 = new wxBoxSizer( wxVERTICAL ); bSizer32 = new wxBoxSizer( wxVERTICAL );
@ -2357,7 +2352,6 @@ RandomPoolEnrichmentDialogBase::~RandomPoolEnrichmentDialogBase()
SecurityTokenKeyfilesDialogBase::SecurityTokenKeyfilesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) SecurityTokenKeyfilesDialogBase::SecurityTokenKeyfilesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{ {
this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize ); this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
this->SetExtraStyle( wxWS_EX_VALIDATE_RECURSIVELY );
wxBoxSizer* bSizer3; wxBoxSizer* bSizer3;
bSizer3 = new wxBoxSizer( wxVERTICAL ); bSizer3 = new wxBoxSizer( wxVERTICAL );

View File

@ -15,6 +15,7 @@ namespace VeraCrypt
KeyfilesDialog::KeyfilesDialog (wxWindow* parent, shared_ptr <KeyfileList> keyfiles) KeyfilesDialog::KeyfilesDialog (wxWindow* parent, shared_ptr <KeyfileList> keyfiles)
: KeyfilesDialogBase (parent), Keyfiles (keyfiles) : KeyfilesDialogBase (parent), Keyfiles (keyfiles)
{ {
SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
mKeyfilesPanel = new KeyfilesPanel (this, keyfiles); mKeyfilesPanel = new KeyfilesPanel (this, keyfiles);
PanelSizer->Add (mKeyfilesPanel, 1, wxALL | wxEXPAND); PanelSizer->Add (mKeyfilesPanel, 1, wxALL | wxEXPAND);

View File

@ -20,6 +20,7 @@ namespace VeraCrypt
#endif #endif
), Options (options) ), Options (options)
{ {
SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
if (!title.empty()) if (!title.empty())
this->SetTitle (title); this->SetTitle (title);
else if (options.Path && !options.Path->IsEmpty()) else if (options.Path && !options.Path->IsEmpty())

View File

@ -27,7 +27,7 @@ namespace VeraCrypt
RestoreValidatorBell (false) RestoreValidatorBell (false)
{ {
#define TC_CHECK_BOX_VALIDATOR(NAME) (TC_JOIN(NAME,CheckBox))->SetValidator (wxGenericValidator (&Preferences.NAME)); #define TC_CHECK_BOX_VALIDATOR(NAME) (TC_JOIN(NAME,CheckBox))->SetValidator (wxGenericValidator (&Preferences.NAME));
SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
#ifdef TC_MACOSX #ifdef TC_MACOSX
PreferencesNotebook->SetMinSize (wxSize (Gui->GetCharWidth (PreferencesNotebook) * 108, -1)); PreferencesNotebook->SetMinSize (wxSize (Gui->GetCharWidth (PreferencesNotebook) * 108, -1));
#endif #endif

View File

@ -17,6 +17,7 @@ namespace VeraCrypt
SecurityTokenKeyfilesDialog::SecurityTokenKeyfilesDialog (wxWindow* parent, bool selectionMode) SecurityTokenKeyfilesDialog::SecurityTokenKeyfilesDialog (wxWindow* parent, bool selectionMode)
: SecurityTokenKeyfilesDialogBase (parent) : SecurityTokenKeyfilesDialogBase (parent)
{ {
SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
if (selectionMode) if (selectionMode)
SetTitle (LangString["SELECT_TOKEN_KEYFILES"]); SetTitle (LangString["SELECT_TOKEN_KEYFILES"]);

View File

@ -4972,7 +4972,7 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="title"></property> <property name="title"></property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style">wxWS_EX_VALIDATE_RECURSIVELY</property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnActivate"></event> <event name="OnActivate"></event>
@ -5300,7 +5300,7 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="title">Select a Partition or Device</property> <property name="title">Select a Partition or Device</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style">wxWS_EX_VALIDATE_RECURSIVELY</property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnActivate"></event> <event name="OnActivate"></event>
@ -8117,7 +8117,7 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="title">Select Keyfiles</property> <property name="title">Select Keyfiles</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style">wxWS_EX_VALIDATE_RECURSIVELY</property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnActivate"></event> <event name="OnActivate"></event>
@ -10851,7 +10851,7 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="title">Enter VeraCrypt Volume Password</property> <property name="title">Enter VeraCrypt Volume Password</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style">wxWS_EX_VALIDATE_RECURSIVELY</property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnActivate"></event> <event name="OnActivate"></event>
@ -12987,7 +12987,7 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="title">Preferences</property> <property name="title">Preferences</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style">wxWS_EX_VALIDATE_RECURSIVELY</property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnActivate"></event> <event name="OnActivate"></event>
@ -18975,7 +18975,7 @@
<property name="subclass"></property> <property name="subclass"></property>
<property name="title">Security Token Keyfiles</property> <property name="title">Security Token Keyfiles</property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="window_extra_style">wxWS_EX_VALIDATE_RECURSIVELY</property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnActivate"></event> <event name="OnActivate"></event>