"Fossies" - the Fresh Open Source Software Archive

Member "src/Main/Forms/Forms.cpp" (10 Oct 2018, 167867 Bytes) of package /windows/misc/VeraCrypt_1.23-Hotfix-2_Source.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "Forms.cpp" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 1.22_Source_vs_1.23_Source.

    1 ///////////////////////////////////////////////////////////////////////////
    2 // C++ code generated with wxFormBuilder (version Jun 20 2018)
    3 // http://www.wxformbuilder.org/
    4 //
    5 // PLEASE DO *NOT* EDIT THIS FILE!
    6 ///////////////////////////////////////////////////////////////////////////
    7 
    8 #include "System.h"
    9 
   10 #include "Forms.h"
   11 
   12 ///////////////////////////////////////////////////////////////////////////
   13 using namespace VeraCrypt;
   14 
   15 MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
   16 {
   17     this->SetSizeHints( wxSize( -1,496 ), wxDefaultSize );
   18 
   19     MainMenuBar = new wxMenuBar( 0 );
   20     VolumesMenu = new wxMenu();
   21     wxMenuItem* CreateNewVolumeMenuItem;
   22     CreateNewVolumeMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Create New Volume...") ) , wxEmptyString, wxITEM_NORMAL );
   23     VolumesMenu->Append( CreateNewVolumeMenuItem );
   24 
   25     VolumesMenu->AppendSeparator();
   26 
   27     MountVolumeMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Mount Volume") ) , wxEmptyString, wxITEM_NORMAL );
   28     VolumesMenu->Append( MountVolumeMenuItem );
   29 
   30     wxMenuItem* AutoMountDevicesMenuItem;
   31     AutoMountDevicesMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Auto-Mount All Device-Hosted Volumes") ) , wxEmptyString, wxITEM_NORMAL );
   32     VolumesMenu->Append( AutoMountDevicesMenuItem );
   33 
   34     VolumesMenu->AppendSeparator();
   35 
   36     DismountVolumeMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Dismount Volume") ) , wxEmptyString, wxITEM_NORMAL );
   37     VolumesMenu->Append( DismountVolumeMenuItem );
   38 
   39     DismountAllMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Dismount All Mounted Volumes") ) , wxEmptyString, wxITEM_NORMAL );
   40     VolumesMenu->Append( DismountAllMenuItem );
   41 
   42     VolumesMenu->AppendSeparator();
   43 
   44     wxMenuItem* ChangePasswordMenuItem;
   45     ChangePasswordMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Change Volume Password...") ) , wxEmptyString, wxITEM_NORMAL );
   46     VolumesMenu->Append( ChangePasswordMenuItem );
   47 
   48     wxMenuItem* ChangePkcs5PrfMenuItem;
   49     ChangePkcs5PrfMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Change Header Key Derivation Algorithm...") ) , wxEmptyString, wxITEM_NORMAL );
   50     VolumesMenu->Append( ChangePkcs5PrfMenuItem );
   51 
   52     wxMenuItem* ChangeKeyfilesMenuItem;
   53     ChangeKeyfilesMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Add/Remove Keyfiles to/from Volume...") ) , wxEmptyString, wxITEM_NORMAL );
   54     VolumesMenu->Append( ChangeKeyfilesMenuItem );
   55 
   56     wxMenuItem* RemoveKeyfilesMenuItem;
   57     RemoveKeyfilesMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Remove All Keyfiles from Volume...") ) , wxEmptyString, wxITEM_NORMAL );
   58     VolumesMenu->Append( RemoveKeyfilesMenuItem );
   59 
   60     VolumesMenu->AppendSeparator();
   61 
   62     VolumePropertiesMenuItem = new wxMenuItem( VolumesMenu, wxID_ANY, wxString( _("Volume Properties...") ) , wxEmptyString, wxITEM_NORMAL );
   63     VolumesMenu->Append( VolumePropertiesMenuItem );
   64 
   65     MainMenuBar->Append( VolumesMenu, _("&Volumes") );
   66 
   67     FavoritesMenu = new wxMenu();
   68     AddToFavoritesMenuItem = new wxMenuItem( FavoritesMenu, wxID_ANY, wxString( _("Add Selected Volume to Favorites...") ) , wxEmptyString, wxITEM_NORMAL );
   69     FavoritesMenu->Append( AddToFavoritesMenuItem );
   70 
   71     AddAllMountedToFavoritesMenuItem = new wxMenuItem( FavoritesMenu, wxID_ANY, wxString( _("Add All Mounted Volumes to Favorites...") ) , wxEmptyString, wxITEM_NORMAL );
   72     FavoritesMenu->Append( AddAllMountedToFavoritesMenuItem );
   73 
   74     wxMenuItem* OrganizeFavoritesMenuItem;
   75     OrganizeFavoritesMenuItem = new wxMenuItem( FavoritesMenu, wxID_ANY, wxString( _("Organize Favorite Volumes...") ) , wxEmptyString, wxITEM_NORMAL );
   76     FavoritesMenu->Append( OrganizeFavoritesMenuItem );
   77 
   78     FavoritesMenu->AppendSeparator();
   79 
   80     wxMenuItem* MountAllFavoritesMenuItem;
   81     MountAllFavoritesMenuItem = new wxMenuItem( FavoritesMenu, wxID_ANY, wxString( _("Mount Favorite Volumes") ) , wxEmptyString, wxITEM_NORMAL );
   82     FavoritesMenu->Append( MountAllFavoritesMenuItem );
   83 
   84     FavoritesMenu->AppendSeparator();
   85 
   86     MainMenuBar->Append( FavoritesMenu, _("&Favorites") );
   87 
   88     ToolsMenu = new wxMenu();
   89     wxMenuItem* BenchmarkMenuItem;
   90     BenchmarkMenuItem = new wxMenuItem( ToolsMenu, wxID_ANY, wxString( _("Benchmark...") ) , wxEmptyString, wxITEM_NORMAL );
   91     ToolsMenu->Append( BenchmarkMenuItem );
   92 
   93     wxMenuItem* EncryptionTestMenuItem;
   94     EncryptionTestMenuItem = new wxMenuItem( ToolsMenu, wxID_ANY, wxString( _("Test Vectors...") ) , wxEmptyString, wxITEM_NORMAL );
   95     ToolsMenu->Append( EncryptionTestMenuItem );
   96 
   97     ToolsMenu->AppendSeparator();
   98 
   99     wxMenuItem* VolumeCreationWizardMenuItem;
  100     VolumeCreationWizardMenuItem = new wxMenuItem( ToolsMenu, wxID_ANY, wxString( _("Volume Creation Wizard") ) , wxEmptyString, wxITEM_NORMAL );
  101     ToolsMenu->Append( VolumeCreationWizardMenuItem );
  102 
  103     ToolsMenu->AppendSeparator();
  104 
  105     BackupVolumeHeadersMenuItem = new wxMenuItem( ToolsMenu, wxID_ANY, wxString( _("Backup Volume Header...") ) , wxEmptyString, wxITEM_NORMAL );
  106     ToolsMenu->Append( BackupVolumeHeadersMenuItem );
  107 
  108     RestoreVolumeHeaderMenuItem = new wxMenuItem( ToolsMenu, wxID_ANY, wxString( _("Restore Volume Header...") ) , wxEmptyString, wxITEM_NORMAL );
  109     ToolsMenu->Append( RestoreVolumeHeaderMenuItem );
  110 
  111     ToolsMenu->AppendSeparator();
  112 
  113     wxMenuItem* CreateKeyfileMenuItem;
  114     CreateKeyfileMenuItem = new wxMenuItem( ToolsMenu, wxID_ANY, wxString( _("Keyfile Generator") ) , wxEmptyString, wxITEM_NORMAL );
  115     ToolsMenu->Append( CreateKeyfileMenuItem );
  116 
  117     wxMenuItem* ManageSecurityTokenKeyfilesMenuItem;
  118     ManageSecurityTokenKeyfilesMenuItem = new wxMenuItem( ToolsMenu, wxID_ANY, wxString( _("Manage Security Token Keyfiles...") ) , wxEmptyString, wxITEM_NORMAL );
  119     ToolsMenu->Append( ManageSecurityTokenKeyfilesMenuItem );
  120 
  121     wxMenuItem* CloseAllSecurityTokenSessionsMenuItem;
  122     CloseAllSecurityTokenSessionsMenuItem = new wxMenuItem( ToolsMenu, wxID_ANY, wxString( _("Close All Security Token Sessions") ) , wxEmptyString, wxITEM_NORMAL );
  123     ToolsMenu->Append( CloseAllSecurityTokenSessionsMenuItem );
  124 
  125     ToolsMenu->AppendSeparator();
  126 
  127     WipeCachedPasswordsMenuItem = new wxMenuItem( ToolsMenu, wxID_ANY, wxString( _("Wipe Cached Passwords") ) , wxEmptyString, wxITEM_NORMAL );
  128     ToolsMenu->Append( WipeCachedPasswordsMenuItem );
  129 
  130     MainMenuBar->Append( ToolsMenu, _("T&ools") );
  131 
  132     SettingsMenu = new wxMenu();
  133     HotkeysMenuItem = new wxMenuItem( SettingsMenu, wxID_ANY, wxString( _("Hotkeys...") ) , wxEmptyString, wxITEM_NORMAL );
  134     SettingsMenu->Append( HotkeysMenuItem );
  135 
  136     wxMenuItem* DefaultKeyfilesMenuItem;
  137     DefaultKeyfilesMenuItem = new wxMenuItem( SettingsMenu, wxID_ANY, wxString( _("Default Keyfiles...") ) , wxEmptyString, wxITEM_NORMAL );
  138     SettingsMenu->Append( DefaultKeyfilesMenuItem );
  139 
  140     wxMenuItem* DefaultMountParametersMenuItem;
  141     DefaultMountParametersMenuItem = new wxMenuItem( SettingsMenu, wxID_ANY, wxString( _("Default Mount Parameters...") ) , wxEmptyString, wxITEM_NORMAL );
  142     SettingsMenu->Append( DefaultMountParametersMenuItem );
  143 
  144     wxMenuItem* SecurityTokenPreferencesMenuItem;
  145     SecurityTokenPreferencesMenuItem = new wxMenuItem( SettingsMenu, wxID_ANY, wxString( _("Security Tokens...") ) , wxEmptyString, wxITEM_NORMAL );
  146     SettingsMenu->Append( SecurityTokenPreferencesMenuItem );
  147 
  148     SettingsMenu->AppendSeparator();
  149 
  150     PreferencesMenuItem = new wxMenuItem( SettingsMenu, wxID_PREFERENCES, wxString( _("&Preferences...") ) , wxEmptyString, wxITEM_NORMAL );
  151     SettingsMenu->Append( PreferencesMenuItem );
  152 
  153     MainMenuBar->Append( SettingsMenu, _("Settin&gs") );
  154 
  155     HelpMenu = new wxMenu();
  156     wxMenuItem* UserGuideMenuItem;
  157     UserGuideMenuItem = new wxMenuItem( HelpMenu, wxID_HELP, wxString( _("User's Guide") ) , wxEmptyString, wxITEM_NORMAL );
  158     HelpMenu->Append( UserGuideMenuItem );
  159 
  160     wxMenuItem* OnlineHelpMenuItem;
  161     OnlineHelpMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("Online Help") ) , wxEmptyString, wxITEM_NORMAL );
  162     HelpMenu->Append( OnlineHelpMenuItem );
  163 
  164     wxMenuItem* BeginnersTutorialMenuItem;
  165     BeginnersTutorialMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("Beginner's Tutorial") ) , wxEmptyString, wxITEM_NORMAL );
  166     HelpMenu->Append( BeginnersTutorialMenuItem );
  167 
  168     wxMenuItem* FaqMenuItem;
  169     FaqMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("Frequently Asked Questions") ) , wxEmptyString, wxITEM_NORMAL );
  170     HelpMenu->Append( FaqMenuItem );
  171 
  172     HelpMenu->AppendSeparator();
  173 
  174     wxMenuItem* WebsiteMenuItem;
  175     WebsiteMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("VeraCrypt Website") ) , wxEmptyString, wxITEM_NORMAL );
  176     HelpMenu->Append( WebsiteMenuItem );
  177 
  178     wxMenuItem* DownloadsMenuItem;
  179     DownloadsMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("Downloads") ) , wxEmptyString, wxITEM_NORMAL );
  180     HelpMenu->Append( DownloadsMenuItem );
  181 
  182     wxMenuItem* NewsMenuItem;
  183     NewsMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("News") ) , wxEmptyString, wxITEM_NORMAL );
  184     HelpMenu->Append( NewsMenuItem );
  185 
  186     wxMenuItem* VersionHistoryMenuItem;
  187     VersionHistoryMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("Version History") ) , wxEmptyString, wxITEM_NORMAL );
  188     HelpMenu->Append( VersionHistoryMenuItem );
  189 
  190     HelpMenu->AppendSeparator();
  191 
  192     wxMenuItem* DonateMenuItem;
  193     DonateMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("Donate") ) , wxEmptyString, wxITEM_NORMAL );
  194     HelpMenu->Append( DonateMenuItem );
  195 
  196     wxMenuItem* ContactMenuItem;
  197     ContactMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("Contact") ) , wxEmptyString, wxITEM_NORMAL );
  198     HelpMenu->Append( ContactMenuItem );
  199 
  200     wxMenuItem* LegalNoticesMenuItem;
  201     LegalNoticesMenuItem = new wxMenuItem( HelpMenu, wxID_ANY, wxString( _("Legal Notices") ) , wxEmptyString, wxITEM_NORMAL );
  202     HelpMenu->Append( LegalNoticesMenuItem );
  203 
  204     wxMenuItem* AboutMenuItem;
  205     AboutMenuItem = new wxMenuItem( HelpMenu, wxID_ABOUT, wxString( _("About") ) , wxEmptyString, wxITEM_NORMAL );
  206     HelpMenu->Append( AboutMenuItem );
  207 
  208     MainMenuBar->Append( HelpMenu, _("&Help") );
  209 
  210     this->SetMenuBar( MainMenuBar );
  211 
  212     wxBoxSizer* bSizer1;
  213     bSizer1 = new wxBoxSizer( wxVERTICAL );
  214 
  215     MainPanel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  216     wxBoxSizer* bSizer2;
  217     bSizer2 = new wxBoxSizer( wxVERTICAL );
  218 
  219     wxBoxSizer* bSizer48;
  220     bSizer48 = new wxBoxSizer( wxVERTICAL );
  221 
  222     wxStaticBoxSizer* sbSizer1;
  223     sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( MainPanel, wxID_ANY, wxEmptyString ), wxVERTICAL );
  224 
  225     SlotListCtrl = new wxListCtrl( MainPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SINGLE_SEL|wxLC_VRULES|wxSUNKEN_BORDER );
  226     sbSizer1->Add( SlotListCtrl, 1, wxALL|wxEXPAND, 5 );
  227 
  228 
  229     bSizer48->Add( sbSizer1, 1, wxEXPAND, 5 );
  230 
  231     LowStaticBoxSizer = new wxStaticBoxSizer( new wxStaticBox( MainPanel, wxID_ANY, wxEmptyString ), wxVERTICAL );
  232 
  233     HigherButtonSizer = new wxBoxSizer( wxVERTICAL );
  234 
  235 
  236     LowStaticBoxSizer->Add( HigherButtonSizer, 0, wxEXPAND|wxTOP, 2 );
  237 
  238     wxGridSizer* gSizer1;
  239     gSizer1 = new wxGridSizer( 1, 3, 0, 0 );
  240 
  241     wxBoxSizer* bSizer17;
  242     bSizer17 = new wxBoxSizer( wxVERTICAL );
  243 
  244     bSizer17->SetMinSize( wxSize( 138,34 ) );
  245     CreateVolumeButton = new wxButton( MainPanel, wxID_ANY, _("&Create Volume"), wxDefaultPosition, wxDefaultSize, 0 );
  246     bSizer17->Add( CreateVolumeButton, 1, wxALL|wxEXPAND, 5 );
  247 
  248 
  249     gSizer1->Add( bSizer17, 0, 0, 5 );
  250 
  251     wxBoxSizer* bSizer18;
  252     bSizer18 = new wxBoxSizer( wxVERTICAL );
  253 
  254     bSizer18->SetMinSize( wxSize( 138,34 ) );
  255     VolumePropertiesButton = new wxButton( MainPanel, wxID_ANY, _("&Volume Properties..."), wxDefaultPosition, wxDefaultSize, 0 );
  256     bSizer18->Add( VolumePropertiesButton, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
  257 
  258 
  259     gSizer1->Add( bSizer18, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
  260 
  261     wxBoxSizer* bSizer19;
  262     bSizer19 = new wxBoxSizer( wxVERTICAL );
  263 
  264     bSizer19->SetMinSize( wxSize( 138,34 ) );
  265     WipeCacheButton = new wxButton( MainPanel, wxID_ANY, _("&Wipe Cache"), wxDefaultPosition, wxDefaultSize, 0 );
  266     bSizer19->Add( WipeCacheButton, 1, wxALL|wxALIGN_RIGHT|wxEXPAND, 5 );
  267 
  268 
  269     gSizer1->Add( bSizer19, 0, wxALIGN_RIGHT, 5 );
  270 
  271 
  272     LowStaticBoxSizer->Add( gSizer1, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
  273 
  274 
  275     LowStaticBoxSizer->Add( 0, 0, 0, 0, 5 );
  276 
  277     VolumeStaticBoxSizer = new wxStaticBoxSizer( new wxStaticBox( MainPanel, wxID_ANY, _("Volume") ), wxVERTICAL );
  278 
  279     VolumeGridBagSizer = new wxGridBagSizer( 0, 0 );
  280     VolumeGridBagSizer->SetFlexibleDirection( wxBOTH );
  281     VolumeGridBagSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  282 
  283     LogoBitmap = new wxStaticBitmap( MainPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER );
  284     LogoBitmap->SetMinSize( wxSize( 42,52 ) );
  285 
  286     VolumeGridBagSizer->Add( LogoBitmap, wxGBPosition( 0, 0 ), wxGBSpan( 2, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  287 
  288     VolumePathComboBox = new wxComboBox( MainPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN );
  289     VolumeGridBagSizer->Add( VolumePathComboBox, wxGBPosition( 0, 1 ), wxGBSpan( 1, 2 ), wxEXPAND|wxALL, 5 );
  290 
  291     wxBoxSizer* bSizer191;
  292     bSizer191 = new wxBoxSizer( wxVERTICAL );
  293 
  294     bSizer191->SetMinSize( wxSize( 138,34 ) );
  295     SelectFileButton = new wxButton( MainPanel, wxID_ANY, _("Select &File..."), wxDefaultPosition, wxDefaultSize, 0 );
  296     bSizer191->Add( SelectFileButton, 1, wxALL|wxEXPAND, 5 );
  297 
  298 
  299     VolumeGridBagSizer->Add( bSizer191, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
  300 
  301     NoHistoryCheckBox = new wxCheckBox( MainPanel, wxID_ANY, _("&Never save history"), wxDefaultPosition, wxDefaultSize, 0 );
  302     VolumeGridBagSizer->Add( NoHistoryCheckBox, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 );
  303 
  304     wxBoxSizer* bSizer20;
  305     bSizer20 = new wxBoxSizer( wxVERTICAL );
  306 
  307     bSizer20->SetMinSize( wxSize( 138,34 ) );
  308     VolumeToolsButton = new wxButton( MainPanel, wxID_ANY, _("Volume &Tools..."), wxDefaultPosition, wxDefaultSize, 0 );
  309     bSizer20->Add( VolumeToolsButton, 1, wxALL|wxEXPAND, 5 );
  310 
  311 
  312     VolumeGridBagSizer->Add( bSizer20, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_RIGHT, 5 );
  313 
  314     wxBoxSizer* bSizer21;
  315     bSizer21 = new wxBoxSizer( wxVERTICAL );
  316 
  317     bSizer21->SetMinSize( wxSize( 138,34 ) );
  318     SelectDeviceButton = new wxButton( MainPanel, wxID_ANY, _("Select D&evice..."), wxDefaultPosition, wxDefaultSize, 0 );
  319     bSizer21->Add( SelectDeviceButton, 1, wxEXPAND|wxALL, 5 );
  320 
  321 
  322     VolumeGridBagSizer->Add( bSizer21, wxGBPosition( 1, 3 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 );
  323 
  324 
  325     VolumeGridBagSizer->AddGrowableCol( 1 );
  326     VolumeGridBagSizer->AddGrowableRow( 0 );
  327 
  328     VolumeStaticBoxSizer->Add( VolumeGridBagSizer, 1, wxEXPAND|wxALL, 4 );
  329 
  330 
  331     LowStaticBoxSizer->Add( VolumeStaticBoxSizer, 1, wxEXPAND, 5 );
  332 
  333 
  334     LowStaticBoxSizer->Add( 0, 0, 0, 0, 5 );
  335 
  336     wxGridSizer* gSizer2;
  337     gSizer2 = new wxGridSizer( 1, 4, 0, 0 );
  338 
  339     wxStaticBoxSizer* sbSizer4;
  340     sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( MainPanel, wxID_ANY, wxEmptyString ), wxVERTICAL );
  341 
  342     sbSizer4->SetMinSize( wxSize( 139,-1 ) );
  343     VolumeButton = new wxButton( MainPanel, wxID_ANY, _("&Mount"), wxDefaultPosition, wxDefaultSize, 0 );
  344     VolumeButton->SetDefault();
  345     VolumeButton->SetMinSize( wxSize( -1,32 ) );
  346 
  347     sbSizer4->Add( VolumeButton, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP, 2 );
  348 
  349 
  350     gSizer2->Add( sbSizer4, 1, wxEXPAND, 0 );
  351 
  352     wxStaticBoxSizer* sbSizer41;
  353     sbSizer41 = new wxStaticBoxSizer( new wxStaticBox( MainPanel, wxID_ANY, wxEmptyString ), wxVERTICAL );
  354 
  355     MountAllDevicesButton = new wxButton( MainPanel, wxID_ANY, _("&Auto-Mount Devices"), wxDefaultPosition, wxDefaultSize, 0 );
  356     MountAllDevicesButton->SetMinSize( wxSize( -1,32 ) );
  357 
  358     sbSizer41->Add( MountAllDevicesButton, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP, 2 );
  359 
  360 
  361     gSizer2->Add( sbSizer41, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
  362 
  363     wxStaticBoxSizer* sbSizer42;
  364     sbSizer42 = new wxStaticBoxSizer( new wxStaticBox( MainPanel, wxID_ANY, wxEmptyString ), wxVERTICAL );
  365 
  366     DismountAllButton = new wxButton( MainPanel, wxID_ANY, _("Di&smount All"), wxDefaultPosition, wxDefaultSize, 0 );
  367     DismountAllButton->SetMinSize( wxSize( -1,32 ) );
  368 
  369     sbSizer42->Add( DismountAllButton, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP, 2 );
  370 
  371 
  372     gSizer2->Add( sbSizer42, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
  373 
  374     wxStaticBoxSizer* sbSizer43;
  375     sbSizer43 = new wxStaticBoxSizer( new wxStaticBox( MainPanel, wxID_ANY, wxEmptyString ), wxVERTICAL );
  376 
  377     ExitButton = new wxButton( MainPanel, wxID_ANY, _("E&xit"), wxDefaultPosition, wxDefaultSize, 0 );
  378     ExitButton->SetMinSize( wxSize( -1,32 ) );
  379 
  380     sbSizer43->Add( ExitButton, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP, 2 );
  381 
  382 
  383     gSizer2->Add( sbSizer43, 1, wxALIGN_RIGHT|wxEXPAND, 5 );
  384 
  385 
  386     LowStaticBoxSizer->Add( gSizer2, 0, wxEXPAND, 5 );
  387 
  388 
  389     bSizer48->Add( LowStaticBoxSizer, 0, wxEXPAND, 5 );
  390 
  391 
  392     bSizer2->Add( bSizer48, 1, wxEXPAND, 5 );
  393 
  394 
  395     MainPanel->SetSizer( bSizer2 );
  396     MainPanel->Layout();
  397     bSizer2->Fit( MainPanel );
  398     bSizer1->Add( MainPanel, 1, wxEXPAND, 0 );
  399 
  400 
  401     this->SetSizer( bSizer1 );
  402     this->Layout();
  403     bSizer1->Fit( this );
  404 
  405     this->Centre( wxBOTH );
  406 
  407     // Connect Events
  408     this->Connect( wxEVT_ACTIVATE, wxActivateEventHandler( MainFrameBase::OnActivate ) );
  409     this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnClose ) );
  410     this->Connect( CreateNewVolumeMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnCreateVolumeButtonClick ) );
  411     this->Connect( MountVolumeMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnMountVolumeMenuItemSelected ) );
  412     this->Connect( AutoMountDevicesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnMountAllDevicesButtonClick ) );
  413     this->Connect( DismountVolumeMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDismountVolumeMenuItemSelected ) );
  414     this->Connect( DismountAllMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDismountAllButtonClick ) );
  415     this->Connect( ChangePasswordMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnChangePasswordMenuItemSelected ) );
  416     this->Connect( ChangePkcs5PrfMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnChangePkcs5PrfMenuItemSelected ) );
  417     this->Connect( ChangeKeyfilesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnChangeKeyfilesMenuItemSelected ) );
  418     this->Connect( RemoveKeyfilesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnRemoveKeyfilesMenuItemSelected ) );
  419     this->Connect( VolumePropertiesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnVolumePropertiesButtonClick ) );
  420     this->Connect( AddToFavoritesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnAddToFavoritesMenuItemSelected ) );
  421     this->Connect( AddAllMountedToFavoritesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnAddAllMountedToFavoritesMenuItemSelected ) );
  422     this->Connect( OrganizeFavoritesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnOrganizeFavoritesMenuItemSelected ) );
  423     this->Connect( MountAllFavoritesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnMountAllFavoritesMenuItemSelected ) );
  424     this->Connect( BenchmarkMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnBenchmarkMenuItemSelected ) );
  425     this->Connect( EncryptionTestMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnEncryptionTestMenuItemSelected ) );
  426     this->Connect( VolumeCreationWizardMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnCreateVolumeButtonClick ) );
  427     this->Connect( BackupVolumeHeadersMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnBackupVolumeHeadersMenuItemSelected ) );
  428     this->Connect( RestoreVolumeHeaderMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnRestoreVolumeHeaderMenuItemSelected ) );
  429     this->Connect( CreateKeyfileMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnCreateKeyfileMenuItemSelected ) );
  430     this->Connect( ManageSecurityTokenKeyfilesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnManageSecurityTokenKeyfilesMenuItemSelected ) );
  431     this->Connect( CloseAllSecurityTokenSessionsMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnCloseAllSecurityTokenSessionsMenuItemSelected ) );
  432     this->Connect( WipeCachedPasswordsMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnWipeCacheButtonClick ) );
  433     this->Connect( HotkeysMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnHotkeysMenuItemSelected ) );
  434     this->Connect( DefaultKeyfilesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultKeyfilesMenuItemSelected ) );
  435     this->Connect( DefaultMountParametersMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultMountParametersMenuItemSelected ) );
  436     this->Connect( SecurityTokenPreferencesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnSecurityTokenPreferencesMenuItemSelected ) );
  437     this->Connect( PreferencesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnPreferencesMenuItemSelected ) );
  438     this->Connect( UserGuideMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnUserGuideMenuItemSelected ) );
  439     this->Connect( OnlineHelpMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnOnlineHelpMenuItemSelected ) );
  440     this->Connect( BeginnersTutorialMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnBeginnersTutorialMenuItemSelected ) );
  441     this->Connect( FaqMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnFaqMenuItemSelected ) );
  442     this->Connect( WebsiteMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnWebsiteMenuItemSelected ) );
  443     this->Connect( DownloadsMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDownloadsMenuItemSelected ) );
  444     this->Connect( NewsMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnNewsMenuItemSelected ) );
  445     this->Connect( VersionHistoryMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnVersionHistoryMenuItemSelected ) );
  446     this->Connect( DonateMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDonateMenuItemSelected ) );
  447     this->Connect( ContactMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnContactMenuItemSelected ) );
  448     this->Connect( LegalNoticesMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnLegalNoticesMenuItemSelected ) );
  449     this->Connect( AboutMenuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnAboutMenuItemSelected ) );
  450     SlotListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( MainFrameBase::OnListItemActivated ), NULL, this );
  451     SlotListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( MainFrameBase::OnListItemDeselected ), NULL, this );
  452     SlotListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, wxListEventHandler( MainFrameBase::OnListItemRightClick ), NULL, this );
  453     SlotListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnListItemSelected ), NULL, this );
  454     CreateVolumeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnCreateVolumeButtonClick ), NULL, this );
  455     VolumePropertiesButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnVolumePropertiesButtonClick ), NULL, this );
  456     WipeCacheButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnWipeCacheButtonClick ), NULL, this );
  457     LogoBitmap->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( MainFrameBase::OnLogoBitmapClick ), NULL, this );
  458     SelectFileButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnSelectFileButtonClick ), NULL, this );
  459     NoHistoryCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MainFrameBase::OnNoHistoryCheckBoxClick ), NULL, this );
  460     VolumeToolsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnVolumeToolsButtonClick ), NULL, this );
  461     SelectDeviceButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnSelectDeviceButtonClick ), NULL, this );
  462     VolumeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnVolumeButtonClick ), NULL, this );
  463     MountAllDevicesButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnMountAllDevicesButtonClick ), NULL, this );
  464     DismountAllButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnDismountAllButtonClick ), NULL, this );
  465     ExitButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnExitButtonClick ), NULL, this );
  466 }
  467 
  468 MainFrameBase::~MainFrameBase()
  469 {
  470     // Disconnect Events
  471     this->Disconnect( wxEVT_ACTIVATE, wxActivateEventHandler( MainFrameBase::OnActivate ) );
  472     this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnClose ) );
  473     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnCreateVolumeButtonClick ) );
  474     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnMountVolumeMenuItemSelected ) );
  475     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnMountAllDevicesButtonClick ) );
  476     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDismountVolumeMenuItemSelected ) );
  477     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDismountAllButtonClick ) );
  478     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnChangePasswordMenuItemSelected ) );
  479     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnChangePkcs5PrfMenuItemSelected ) );
  480     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnChangeKeyfilesMenuItemSelected ) );
  481     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnRemoveKeyfilesMenuItemSelected ) );
  482     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnVolumePropertiesButtonClick ) );
  483     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnAddToFavoritesMenuItemSelected ) );
  484     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnAddAllMountedToFavoritesMenuItemSelected ) );
  485     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnOrganizeFavoritesMenuItemSelected ) );
  486     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnMountAllFavoritesMenuItemSelected ) );
  487     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnBenchmarkMenuItemSelected ) );
  488     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnEncryptionTestMenuItemSelected ) );
  489     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnCreateVolumeButtonClick ) );
  490     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnBackupVolumeHeadersMenuItemSelected ) );
  491     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnRestoreVolumeHeaderMenuItemSelected ) );
  492     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnCreateKeyfileMenuItemSelected ) );
  493     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnManageSecurityTokenKeyfilesMenuItemSelected ) );
  494     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnCloseAllSecurityTokenSessionsMenuItemSelected ) );
  495     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnWipeCacheButtonClick ) );
  496     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnHotkeysMenuItemSelected ) );
  497     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultKeyfilesMenuItemSelected ) );
  498     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDefaultMountParametersMenuItemSelected ) );
  499     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnSecurityTokenPreferencesMenuItemSelected ) );
  500     this->Disconnect( wxID_PREFERENCES, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnPreferencesMenuItemSelected ) );
  501     this->Disconnect( wxID_HELP, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnUserGuideMenuItemSelected ) );
  502     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnOnlineHelpMenuItemSelected ) );
  503     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnBeginnersTutorialMenuItemSelected ) );
  504     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnFaqMenuItemSelected ) );
  505     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnWebsiteMenuItemSelected ) );
  506     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDownloadsMenuItemSelected ) );
  507     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnNewsMenuItemSelected ) );
  508     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnVersionHistoryMenuItemSelected ) );
  509     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnDonateMenuItemSelected ) );
  510     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnContactMenuItemSelected ) );
  511     this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnLegalNoticesMenuItemSelected ) );
  512     this->Disconnect( wxID_ABOUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnAboutMenuItemSelected ) );
  513     SlotListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( MainFrameBase::OnListItemActivated ), NULL, this );
  514     SlotListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( MainFrameBase::OnListItemDeselected ), NULL, this );
  515     SlotListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, wxListEventHandler( MainFrameBase::OnListItemRightClick ), NULL, this );
  516     SlotListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnListItemSelected ), NULL, this );
  517     CreateVolumeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnCreateVolumeButtonClick ), NULL, this );
  518     VolumePropertiesButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnVolumePropertiesButtonClick ), NULL, this );
  519     WipeCacheButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnWipeCacheButtonClick ), NULL, this );
  520     LogoBitmap->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( MainFrameBase::OnLogoBitmapClick ), NULL, this );
  521     SelectFileButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnSelectFileButtonClick ), NULL, this );
  522     NoHistoryCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MainFrameBase::OnNoHistoryCheckBoxClick ), NULL, this );
  523     VolumeToolsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnVolumeToolsButtonClick ), NULL, this );
  524     SelectDeviceButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnSelectDeviceButtonClick ), NULL, this );
  525     VolumeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnVolumeButtonClick ), NULL, this );
  526     MountAllDevicesButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnMountAllDevicesButtonClick ), NULL, this );
  527     DismountAllButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnDismountAllButtonClick ), NULL, this );
  528     ExitButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnExitButtonClick ), NULL, this );
  529 
  530 }
  531 
  532 WizardFrameBase::WizardFrameBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
  533 {
  534     this->SetSizeHints( wxSize( 800,500 ), wxDefaultSize );
  535 
  536     MainSizer = new wxBoxSizer( wxVERTICAL );
  537 
  538     MainPanel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  539     wxBoxSizer* bSizer63;
  540     bSizer63 = new wxBoxSizer( wxVERTICAL );
  541 
  542     wxBoxSizer* bSizer64;
  543     bSizer64 = new wxBoxSizer( wxVERTICAL );
  544 
  545     wxStaticBoxSizer* sbSizer27;
  546     sbSizer27 = new wxStaticBoxSizer( new wxStaticBox( MainPanel, wxID_ANY, wxEmptyString ), wxHORIZONTAL );
  547 
  548     WizardBitmap = new wxStaticBitmap( MainPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
  549     sbSizer27->Add( WizardBitmap, 0, wxALL|wxEXPAND, 5 );
  550 
  551     wxBoxSizer* bSizer66;
  552     bSizer66 = new wxBoxSizer( wxVERTICAL );
  553 
  554     wxBoxSizer* bSizer126;
  555     bSizer126 = new wxBoxSizer( wxHORIZONTAL );
  556 
  557     PageTitleStaticText = new wxStaticText( MainPanel, wxID_ANY, _("Page Title"), wxDefaultPosition, wxDefaultSize, 0 );
  558     PageTitleStaticText->Wrap( -1 );
  559     PageTitleStaticText->SetFont( wxFont( 16, 70, 90, 90, false, wxT("Times New Roman") ) );
  560 
  561     bSizer126->Add( PageTitleStaticText, 0, wxALL, 5 );
  562 
  563 
  564     bSizer66->Add( bSizer126, 0, wxLEFT, 5 );
  565 
  566     PageSizer = new wxBoxSizer( wxVERTICAL );
  567 
  568 
  569     bSizer66->Add( PageSizer, 1, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
  570 
  571 
  572     sbSizer27->Add( bSizer66, 1, wxEXPAND|wxLEFT, 5 );
  573 
  574 
  575     bSizer64->Add( sbSizer27, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
  576 
  577     wxBoxSizer* bSizer70;
  578     bSizer70 = new wxBoxSizer( wxHORIZONTAL );
  579 
  580 
  581     bSizer70->Add( 0, 0, 1, wxEXPAND, 5 );
  582 
  583     HelpButton = new wxButton( MainPanel, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0 );
  584     bSizer70->Add( HelpButton, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
  585 
  586 
  587     bSizer70->Add( 0, 0, 0, wxLEFT|wxALIGN_RIGHT, 5 );
  588 
  589     PreviousButton = new wxButton( MainPanel, wxID_ANY, _("< &Prev"), wxDefaultPosition, wxDefaultSize, 0 );
  590     bSizer70->Add( PreviousButton, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
  591 
  592     NextButton = new wxButton( MainPanel, wxID_ANY, _("&Next >"), wxDefaultPosition, wxDefaultSize, 0|wxWANTS_CHARS );
  593     NextButton->SetDefault();
  594     bSizer70->Add( NextButton, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
  595 
  596 
  597     bSizer70->Add( 0, 0, 0, wxLEFT|wxALIGN_RIGHT, 5 );
  598 
  599     CancelButton = new wxButton( MainPanel, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
  600     bSizer70->Add( CancelButton, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
  601 
  602 
  603     bSizer64->Add( bSizer70, 0, wxEXPAND|wxALIGN_RIGHT|wxALL, 5 );
  604 
  605 
  606     bSizer63->Add( bSizer64, 1, wxEXPAND, 5 );
  607 
  608 
  609     MainPanel->SetSizer( bSizer63 );
  610     MainPanel->Layout();
  611     bSizer63->Fit( MainPanel );
  612     MainSizer->Add( MainPanel, 1, wxEXPAND, 5 );
  613 
  614 
  615     this->SetSizer( MainSizer );
  616     this->Layout();
  617     MainSizer->Fit( this );
  618 
  619     // Connect Events
  620     this->Connect( wxEVT_ACTIVATE, wxActivateEventHandler( WizardFrameBase::OnActivate ) );
  621     this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( WizardFrameBase::OnClose ) );
  622     MainPanel->Connect( wxEVT_MOTION, wxMouseEventHandler( WizardFrameBase::OnMouseMotion ), NULL, this );
  623     HelpButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WizardFrameBase::OnHelpButtonClick ), NULL, this );
  624     PreviousButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WizardFrameBase::OnPreviousButtonClick ), NULL, this );
  625     NextButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WizardFrameBase::OnNextButtonClick ), NULL, this );
  626     CancelButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WizardFrameBase::OnCancelButtonClick ), NULL, this );
  627 }
  628 
  629 WizardFrameBase::~WizardFrameBase()
  630 {
  631     // Disconnect Events
  632     this->Disconnect( wxEVT_ACTIVATE, wxActivateEventHandler( WizardFrameBase::OnActivate ) );
  633     this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( WizardFrameBase::OnClose ) );
  634     MainPanel->Disconnect( wxEVT_MOTION, wxMouseEventHandler( WizardFrameBase::OnMouseMotion ), NULL, this );
  635     HelpButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WizardFrameBase::OnHelpButtonClick ), NULL, this );
  636     PreviousButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WizardFrameBase::OnPreviousButtonClick ), NULL, this );
  637     NextButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WizardFrameBase::OnNextButtonClick ), NULL, this );
  638     CancelButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WizardFrameBase::OnCancelButtonClick ), NULL, this );
  639 
  640 }
  641 
  642 AboutDialogBase::AboutDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
  643 {
  644     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
  645 
  646     wxBoxSizer* bSizer116;
  647     bSizer116 = new wxBoxSizer( wxVERTICAL );
  648 
  649     wxBoxSizer* bSizer117;
  650     bSizer117 = new wxBoxSizer( wxVERTICAL );
  651 
  652     wxBoxSizer* bSizer120;
  653     bSizer120 = new wxBoxSizer( wxVERTICAL );
  654 
  655     bSizer120->SetMinSize( wxSize( -1,78 ) );
  656     m_panel14 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  657     m_panel14->SetBackgroundColour( wxColour( 10, 108, 206 ) );
  658 
  659     wxBoxSizer* bSizer121;
  660     bSizer121 = new wxBoxSizer( wxVERTICAL );
  661 
  662 
  663     bSizer121->Add( 0, 0, 1, wxEXPAND|wxALL, 5 );
  664 
  665     wxBoxSizer* bSizer122;
  666     bSizer122 = new wxBoxSizer( wxVERTICAL );
  667 
  668     LogoBitmap = new wxStaticBitmap( m_panel14, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
  669     bSizer122->Add( LogoBitmap, 0, wxALL, 10 );
  670 
  671 
  672     bSizer121->Add( bSizer122, 0, wxEXPAND|wxLEFT, 8 );
  673 
  674 
  675     m_panel14->SetSizer( bSizer121 );
  676     m_panel14->Layout();
  677     bSizer121->Fit( m_panel14 );
  678     bSizer120->Add( m_panel14, 1, wxEXPAND, 5 );
  679 
  680 
  681     bSizer117->Add( bSizer120, 0, wxEXPAND, 5 );
  682 
  683     wxBoxSizer* bSizer118;
  684     bSizer118 = new wxBoxSizer( wxVERTICAL );
  685 
  686     wxBoxSizer* bSizer123;
  687     bSizer123 = new wxBoxSizer( wxVERTICAL );
  688 
  689     VersionStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  690     VersionStaticText->Wrap( -1 );
  691     bSizer123->Add( VersionStaticText, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
  692 
  693 
  694     bSizer123->Add( 0, 0, 0, wxTOP, 3 );
  695 
  696     CopyrightStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  697     CopyrightStaticText->Wrap( -1 );
  698     bSizer123->Add( CopyrightStaticText, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
  699 
  700 
  701     bSizer123->Add( 0, 0, 0, wxTOP, 3 );
  702 
  703     WebsiteHyperlink = new wxHyperlinkCtrl( this, wxID_ANY, wxEmptyString, wxT("."), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
  704 
  705     WebsiteHyperlink->SetHoverColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
  706     WebsiteHyperlink->SetNormalColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
  707     WebsiteHyperlink->SetVisitedColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
  708     bSizer123->Add( WebsiteHyperlink, 0, wxALL, 5 );
  709 
  710 
  711     bSizer118->Add( bSizer123, 1, wxEXPAND|wxLEFT, 5 );
  712 
  713 
  714     bSizer117->Add( bSizer118, 1, wxALL|wxEXPAND, 15 );
  715 
  716     m_staticline3 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  717     bSizer117->Add( m_staticline3, 0, wxEXPAND|wxBOTTOM, 5 );
  718 
  719     CreditsTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY|wxSUNKEN_BORDER );
  720     bSizer117->Add( CreditsTextCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 10 );
  721 
  722 
  723     bSizer117->Add( 0, 0, 0, wxTOP, 5 );
  724 
  725     m_staticline4 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  726     bSizer117->Add( m_staticline4, 0, wxEXPAND|wxTOP|wxBOTTOM, 3 );
  727 
  728     m_staticline5 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  729     bSizer117->Add( m_staticline5, 0, wxEXPAND|wxBOTTOM, 5 );
  730 
  731     wxBoxSizer* bSizer119;
  732     bSizer119 = new wxBoxSizer( wxHORIZONTAL );
  733 
  734 
  735     bSizer119->Add( 0, 0, 1, wxEXPAND|wxALL, 5 );
  736 
  737     wxButton* OKButton;
  738     OKButton = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
  739     OKButton->SetDefault();
  740     bSizer119->Add( OKButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
  741 
  742 
  743     bSizer119->Add( 0, 0, 0, wxLEFT, 5 );
  744 
  745 
  746     bSizer117->Add( bSizer119, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 6 );
  747 
  748 
  749     bSizer116->Add( bSizer117, 1, wxEXPAND, 5 );
  750 
  751 
  752     this->SetSizer( bSizer116 );
  753     this->Layout();
  754     bSizer116->Fit( this );
  755 
  756     // Connect Events
  757     WebsiteHyperlink->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( AboutDialogBase::OnWebsiteHyperlinkClick ), NULL, this );
  758 }
  759 
  760 AboutDialogBase::~AboutDialogBase()
  761 {
  762     // Disconnect Events
  763     WebsiteHyperlink->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( AboutDialogBase::OnWebsiteHyperlinkClick ), NULL, this );
  764 
  765 }
  766 
  767 BenchmarkDialogBase::BenchmarkDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
  768 {
  769     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
  770     
  771     wxBoxSizer* bSizer153;
  772     bSizer153 = new wxBoxSizer( wxVERTICAL );
  773     
  774     wxBoxSizer* bSizer154;
  775     bSizer154 = new wxBoxSizer( wxVERTICAL );
  776     
  777     wxFlexGridSizer* fgSizer9;
  778     fgSizer9 = new wxFlexGridSizer( 3, 2, 0, 0 );
  779     fgSizer9->AddGrowableCol( 1 );
  780     fgSizer9->SetFlexibleDirection( wxHORIZONTAL );
  781     fgSizer9->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  782     
  783     m_staticText70 = new wxStaticText( this, wxID_ANY, _("Benchmark:"), wxDefaultPosition, wxDefaultSize, 0 );
  784     m_staticText70->Wrap( -1 );
  785     
  786     fgSizer9->Add( m_staticText70, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  787     
  788     wxString BenchmarkChoiceChoices[] = { _("Encryption Algorithm"), _("PKCS-5 PRF"), _("Hash Algorithm") };
  789     int BenchmarkChoiceNChoices = sizeof( BenchmarkChoiceChoices ) / sizeof( wxString );
  790     BenchmarkChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, BenchmarkChoiceNChoices, BenchmarkChoiceChoices, 0 );
  791     BenchmarkChoice->SetSelection( 0 );
  792     fgSizer9->Add( BenchmarkChoice, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  793     
  794     m_bufferSizeLabel = new wxStaticText( this, wxID_ANY, _("Buffer Size:"), wxDefaultPosition, wxDefaultSize, 0 );
  795     m_bufferSizeLabel->Wrap( -1 );
  796     
  797     fgSizer9->Add( m_bufferSizeLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
  798     
  799     wxArrayString BufferSizeChoiceChoices;
  800     BufferSizeChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, BufferSizeChoiceChoices, 0 );
  801     BufferSizeChoice->SetSelection( 0 );
  802     fgSizer9->Add( BufferSizeChoice, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
  803     
  804     m_volumePimLabel = new wxStaticText( this, wxID_ANY, _("Volume PIM:"), wxDefaultPosition, wxDefaultSize, 0 );
  805     m_volumePimLabel->Wrap( -1 );
  806     
  807     fgSizer9->Add( m_volumePimLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  808     
  809     VolumePimText = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  810     #ifdef __WXGTK__
  811     if ( !VolumePimText->HasFlag( wxTE_MULTILINE ) )
  812     {
  813     VolumePimText->SetMaxLength( 7 );
  814     }
  815     #else
  816     VolumePimText->SetMaxLength( 7 );
  817     #endif
  818     fgSizer9->Add( VolumePimText, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
  819     
  820     
  821     bSizer154->Add( fgSizer9, 0, wxEXPAND, 5 );
  822     
  823     wxStaticLine* m_staticline6;
  824     m_staticline6 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  825     bSizer154->Add( m_staticline6, 0, wxEXPAND | wxALL, 5 );
  826     
  827     wxBoxSizer* bSizer156;
  828     bSizer156 = new wxBoxSizer( wxHORIZONTAL );
  829     
  830     BenchmarkListCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxSUNKEN_BORDER );
  831     bSizer156->Add( BenchmarkListCtrl, 1, wxALL|wxEXPAND, 5 );
  832     
  833     RightSizer = new wxBoxSizer( wxVERTICAL );
  834     
  835     BenchmarkButton = new wxButton( this, wxID_OK, _("Benchmark"), wxDefaultPosition, wxDefaultSize, 0 );
  836     BenchmarkButton->SetDefault();
  837     RightSizer->Add( BenchmarkButton, 0, wxALL|wxEXPAND, 5 );
  838     
  839     wxButton* CancelButton;
  840     CancelButton = new wxButton( this, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
  841     RightSizer->Add( CancelButton, 0, wxALL|wxEXPAND, 5 );
  842     
  843     
  844     RightSizer->Add( 0, 0, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
  845     
  846     BenchmarkNoteStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  847     BenchmarkNoteStaticText->Wrap( -1 );
  848     RightSizer->Add( BenchmarkNoteStaticText, 1, wxALL|wxEXPAND, 5 );
  849     
  850     
  851     bSizer156->Add( RightSizer, 0, wxEXPAND, 5 );
  852     
  853     
  854     bSizer154->Add( bSizer156, 1, wxEXPAND, 5 );
  855     
  856     
  857     bSizer153->Add( bSizer154, 1, wxEXPAND|wxALL, 5 );
  858     
  859     
  860     this->SetSizer( bSizer153 );
  861     this->Layout();
  862     bSizer153->Fit( this );
  863     
  864     // Connect Events
  865     BenchmarkChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( BenchmarkDialogBase::OnBenchmarkChoiceSelected ), NULL, this );
  866     BenchmarkButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BenchmarkDialogBase::OnBenchmarkButtonClick ), NULL, this );
  867 }
  868 
  869 BenchmarkDialogBase::~BenchmarkDialogBase()
  870 {
  871     // Disconnect Events
  872     BenchmarkChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( BenchmarkDialogBase::OnBenchmarkChoiceSelected ), NULL, this );
  873     BenchmarkButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BenchmarkDialogBase::OnBenchmarkButtonClick ), NULL, this );
  874     
  875 }
  876 
  877 ChangePasswordDialogBase::ChangePasswordDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
  878 {
  879     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
  880     this->SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
  881 
  882     wxBoxSizer* bSizer30;
  883     bSizer30 = new wxBoxSizer( wxVERTICAL );
  884 
  885     wxBoxSizer* bSizer31;
  886     bSizer31 = new wxBoxSizer( wxHORIZONTAL );
  887 
  888     wxBoxSizer* bSizer32;
  889     bSizer32 = new wxBoxSizer( wxVERTICAL );
  890 
  891     CurrentSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Current") ), wxVERTICAL );
  892 
  893     CurrentPasswordPanelSizer = new wxBoxSizer( wxVERTICAL );
  894 
  895 
  896     CurrentSizer->Add( CurrentPasswordPanelSizer, 0, wxALIGN_LEFT, 5 );
  897 
  898 
  899     bSizer32->Add( CurrentSizer, 0, wxEXPAND, 5 );
  900 
  901     NewSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("New") ), wxVERTICAL );
  902 
  903     NewPasswordPanelSizer = new wxBoxSizer( wxVERTICAL );
  904 
  905 
  906     NewSizer->Add( NewPasswordPanelSizer, 0, wxALIGN_LEFT, 5 );
  907 
  908 
  909     bSizer32->Add( NewSizer, 0, wxTOP|wxEXPAND, 5 );
  910 
  911 
  912     bSizer31->Add( bSizer32, 1, wxEXPAND|wxALL, 5 );
  913 
  914     wxBoxSizer* bSizer33;
  915     bSizer33 = new wxBoxSizer( wxVERTICAL );
  916 
  917     OKButton = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
  918     OKButton->SetDefault();
  919     bSizer33->Add( OKButton, 0, wxALL|wxEXPAND, 5 );
  920 
  921     CancelButton = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
  922     bSizer33->Add( CancelButton, 0, wxALL|wxEXPAND, 5 );
  923 
  924 
  925     bSizer31->Add( bSizer33, 0, 0, 5 );
  926 
  927 
  928     bSizer30->Add( bSizer31, 1, wxEXPAND|wxALL, 5 );
  929 
  930 
  931     this->SetSizer( bSizer30 );
  932     this->Layout();
  933     bSizer30->Fit( this );
  934 
  935     // Connect Events
  936     OKButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ChangePasswordDialogBase::OnOKButtonClick ), NULL, this );
  937 }
  938 
  939 ChangePasswordDialogBase::~ChangePasswordDialogBase()
  940 {
  941     // Disconnect Events
  942     OKButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ChangePasswordDialogBase::OnOKButtonClick ), NULL, this );
  943 
  944 }
  945 
  946 DeviceSelectionDialogBase::DeviceSelectionDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
  947 {
  948     this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
  949     this->SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
  950 
  951     wxBoxSizer* bSizer3;
  952     bSizer3 = new wxBoxSizer( wxVERTICAL );
  953 
  954     wxBoxSizer* bSizer4;
  955     bSizer4 = new wxBoxSizer( wxVERTICAL );
  956 
  957     DeviceListCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SINGLE_SEL|wxLC_VRULES|wxSUNKEN_BORDER );
  958     bSizer4->Add( DeviceListCtrl, 1, wxALL|wxEXPAND, 5 );
  959 
  960     StdButtons = new wxStdDialogButtonSizer();
  961     StdButtonsOK = new wxButton( this, wxID_OK );
  962     StdButtons->AddButton( StdButtonsOK );
  963     StdButtonsCancel = new wxButton( this, wxID_CANCEL );
  964     StdButtons->AddButton( StdButtonsCancel );
  965     StdButtons->Realize();
  966 
  967     bSizer4->Add( StdButtons, 0, wxEXPAND|wxALL, 5 );
  968 
  969 
  970     bSizer3->Add( bSizer4, 1, wxEXPAND|wxALL, 5 );
  971 
  972 
  973     this->SetSizer( bSizer3 );
  974     this->Layout();
  975     bSizer3->Fit( this );
  976 
  977     this->Centre( wxBOTH );
  978 
  979     // Connect Events
  980     DeviceListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( DeviceSelectionDialogBase::OnListItemActivated ), NULL, this );
  981     DeviceListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DeviceSelectionDialogBase::OnListItemDeselected ), NULL, this );
  982     DeviceListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DeviceSelectionDialogBase::OnListItemSelected ), NULL, this );
  983 }
  984 
  985 DeviceSelectionDialogBase::~DeviceSelectionDialogBase()
  986 {
  987     // Disconnect Events
  988     DeviceListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( DeviceSelectionDialogBase::OnListItemActivated ), NULL, this );
  989     DeviceListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DeviceSelectionDialogBase::OnListItemDeselected ), NULL, this );
  990     DeviceListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DeviceSelectionDialogBase::OnListItemSelected ), NULL, this );
  991 
  992 }
  993 
  994 EncryptionTestDialogBase::EncryptionTestDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
  995 {
  996     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
  997 
  998     wxBoxSizer* bSizer132;
  999     bSizer132 = new wxBoxSizer( wxVERTICAL );
 1000 
 1001     wxBoxSizer* bSizer133;
 1002     bSizer133 = new wxBoxSizer( wxVERTICAL );
 1003 
 1004     wxBoxSizer* bSizer134;
 1005     bSizer134 = new wxBoxSizer( wxHORIZONTAL );
 1006 
 1007     wxStaticText* m_staticText41;
 1008     m_staticText41 = new wxStaticText( this, wxID_ANY, _("Encryption algorithm:"), wxDefaultPosition, wxDefaultSize, 0 );
 1009     m_staticText41->Wrap( -1 );
 1010     bSizer134->Add( m_staticText41, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
 1011 
 1012     wxArrayString EncryptionAlgorithmChoiceChoices;
 1013     EncryptionAlgorithmChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, EncryptionAlgorithmChoiceChoices, 0 );
 1014     EncryptionAlgorithmChoice->SetSelection( 0 );
 1015     bSizer134->Add( EncryptionAlgorithmChoice, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 1016 
 1017     XtsModeCheckBox = new wxCheckBox( this, wxID_ANY, _("XTS mode"), wxDefaultPosition, wxDefaultSize, 0 );
 1018     XtsModeCheckBox->SetValue(true);
 1019     bSizer134->Add( XtsModeCheckBox, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 1020 
 1021 
 1022     bSizer133->Add( bSizer134, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
 1023 
 1024     wxStaticBoxSizer* sbSizer38;
 1025     sbSizer38 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Key (hexadecimal)") ), wxVERTICAL );
 1026 
 1027     KeyTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1028     KeyTextCtrl->SetMaxLength( 0 );
 1029     KeyTextCtrl->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxT("Courier") ) );
 1030 
 1031     sbSizer38->Add( KeyTextCtrl, 1, wxALL|wxEXPAND, 5 );
 1032 
 1033     wxBoxSizer* bSizer135;
 1034     bSizer135 = new wxBoxSizer( wxHORIZONTAL );
 1035 
 1036     wxStaticText* m_staticText43;
 1037     m_staticText43 = new wxStaticText( this, wxID_ANY, _("Key size:"), wxDefaultPosition, wxDefaultSize, 0 );
 1038     m_staticText43->Wrap( -1 );
 1039     bSizer135->Add( m_staticText43, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 1040 
 1041     KeySizeStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1042     KeySizeStaticText->Wrap( -1 );
 1043     bSizer135->Add( KeySizeStaticText, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
 1044 
 1045 
 1046     sbSizer38->Add( bSizer135, 0, wxEXPAND, 5 );
 1047 
 1048 
 1049     bSizer133->Add( sbSizer38, 0, wxEXPAND|wxALL, 5 );
 1050 
 1051     wxStaticBoxSizer* sbSizer39;
 1052     sbSizer39 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("XTS mode") ), wxVERTICAL );
 1053 
 1054     wxStaticText* m_staticText45;
 1055     m_staticText45 = new wxStaticText( this, wxID_ANY, _("Secondary key (hexadecimal)"), wxDefaultPosition, wxDefaultSize, 0 );
 1056     m_staticText45->Wrap( -1 );
 1057     sbSizer39->Add( m_staticText45, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
 1058 
 1059     SecondaryKeyTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1060     SecondaryKeyTextCtrl->SetMaxLength( 0 );
 1061     SecondaryKeyTextCtrl->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxT("Courier") ) );
 1062 
 1063     sbSizer39->Add( SecondaryKeyTextCtrl, 0, wxEXPAND|wxALL, 5 );
 1064 
 1065     wxStaticText* m_staticText46;
 1066     m_staticText46 = new wxStaticText( this, wxID_ANY, _("Data unit number (64-bit, data unit size is 512 bytes)"), wxDefaultPosition, wxDefaultSize, 0 );
 1067     m_staticText46->Wrap( -1 );
 1068     sbSizer39->Add( m_staticText46, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
 1069 
 1070     DataUnitNumberTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1071     DataUnitNumberTextCtrl->SetMaxLength( 0 );
 1072     sbSizer39->Add( DataUnitNumberTextCtrl, 0, wxALL, 5 );
 1073 
 1074     wxStaticText* m_staticText47;
 1075     m_staticText47 = new wxStaticText( this, wxID_ANY, _("Block number:"), wxDefaultPosition, wxDefaultSize, 0 );
 1076     m_staticText47->Wrap( -1 );
 1077     sbSizer39->Add( m_staticText47, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
 1078 
 1079     BlockNumberTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1080     BlockNumberTextCtrl->SetMaxLength( 0 );
 1081     sbSizer39->Add( BlockNumberTextCtrl, 0, wxALL, 5 );
 1082 
 1083 
 1084     bSizer133->Add( sbSizer39, 1, wxEXPAND|wxALL, 5 );
 1085 
 1086     wxStaticBoxSizer* sbSizer40;
 1087     sbSizer40 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Plaintext (hexadecimal)") ), wxVERTICAL );
 1088 
 1089     PlainTextTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1090     PlainTextTextCtrl->SetMaxLength( 0 );
 1091     PlainTextTextCtrl->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxT("Courier") ) );
 1092 
 1093     sbSizer40->Add( PlainTextTextCtrl, 0, wxALL|wxEXPAND, 5 );
 1094 
 1095 
 1096     bSizer133->Add( sbSizer40, 0, wxEXPAND|wxALL, 5 );
 1097 
 1098     wxStaticBoxSizer* sbSizer41;
 1099     sbSizer41 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Ciphertext (hexadecimal)") ), wxVERTICAL );
 1100 
 1101     CipherTextTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1102     CipherTextTextCtrl->SetMaxLength( 0 );
 1103     CipherTextTextCtrl->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxT("Courier") ) );
 1104 
 1105     sbSizer41->Add( CipherTextTextCtrl, 0, wxALL|wxEXPAND, 5 );
 1106 
 1107 
 1108     bSizer133->Add( sbSizer41, 0, wxEXPAND|wxALL, 5 );
 1109 
 1110     wxBoxSizer* bSizer136;
 1111     bSizer136 = new wxBoxSizer( wxHORIZONTAL );
 1112 
 1113     EncryptButton = new wxButton( this, wxID_ANY, _("&Encrypt"), wxDefaultPosition, wxDefaultSize, 0 );
 1114     bSizer136->Add( EncryptButton, 0, wxALL, 5 );
 1115 
 1116     DecryptButton = new wxButton( this, wxID_ANY, _("&Decrypt"), wxDefaultPosition, wxDefaultSize, 0 );
 1117     bSizer136->Add( DecryptButton, 0, wxALL, 5 );
 1118 
 1119     AutoTestAllButton = new wxButton( this, wxID_ANY, _("&Auto-Test All"), wxDefaultPosition, wxDefaultSize, 0 );
 1120     bSizer136->Add( AutoTestAllButton, 0, wxALL, 5 );
 1121 
 1122     ResetButton = new wxButton( this, wxID_ANY, _("&Reset"), wxDefaultPosition, wxDefaultSize, 0 );
 1123     bSizer136->Add( ResetButton, 0, wxALL, 5 );
 1124 
 1125     CloseButton = new wxButton( this, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
 1126     bSizer136->Add( CloseButton, 0, wxALL, 5 );
 1127 
 1128 
 1129     bSizer133->Add( bSizer136, 0, wxEXPAND, 5 );
 1130 
 1131 
 1132     bSizer132->Add( bSizer133, 1, wxEXPAND|wxALL, 5 );
 1133 
 1134 
 1135     this->SetSizer( bSizer132 );
 1136     this->Layout();
 1137     bSizer132->Fit( this );
 1138 
 1139     // Connect Events
 1140     EncryptionAlgorithmChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( EncryptionTestDialogBase::OnEncryptionAlgorithmSelected ), NULL, this );
 1141     XtsModeCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnXtsModeCheckBoxClick ), NULL, this );
 1142     EncryptButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnEncryptButtonClick ), NULL, this );
 1143     DecryptButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnDecryptButtonClick ), NULL, this );
 1144     AutoTestAllButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnAutoTestAllButtonClick ), NULL, this );
 1145     ResetButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnResetButtonClick ), NULL, this );
 1146 }
 1147 
 1148 EncryptionTestDialogBase::~EncryptionTestDialogBase()
 1149 {
 1150     // Disconnect Events
 1151     EncryptionAlgorithmChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( EncryptionTestDialogBase::OnEncryptionAlgorithmSelected ), NULL, this );
 1152     XtsModeCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnXtsModeCheckBoxClick ), NULL, this );
 1153     EncryptButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnEncryptButtonClick ), NULL, this );
 1154     DecryptButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnDecryptButtonClick ), NULL, this );
 1155     AutoTestAllButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnAutoTestAllButtonClick ), NULL, this );
 1156     ResetButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionTestDialogBase::OnResetButtonClick ), NULL, this );
 1157 
 1158 }
 1159 
 1160 FavoriteVolumesDialogBase::FavoriteVolumesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 1161 {
 1162     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 1163 
 1164     wxBoxSizer* bSizer57;
 1165     bSizer57 = new wxBoxSizer( wxVERTICAL );
 1166 
 1167     wxBoxSizer* bSizer60;
 1168     bSizer60 = new wxBoxSizer( wxHORIZONTAL );
 1169 
 1170     wxBoxSizer* bSizer58;
 1171     bSizer58 = new wxBoxSizer( wxVERTICAL );
 1172 
 1173     FavoritesListCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_VRULES|wxSUNKEN_BORDER );
 1174     bSizer58->Add( FavoritesListCtrl, 1, wxALL|wxEXPAND, 5 );
 1175 
 1176     wxGridSizer* gSizer5;
 1177     gSizer5 = new wxGridSizer( 1, 4, 0, 0 );
 1178 
 1179     MoveUpButton = new wxButton( this, wxID_ANY, _("Move &Up"), wxDefaultPosition, wxDefaultSize, 0 );
 1180     gSizer5->Add( MoveUpButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
 1181 
 1182     MoveDownButton = new wxButton( this, wxID_ANY, _("Move &Down"), wxDefaultPosition, wxDefaultSize, 0 );
 1183     gSizer5->Add( MoveDownButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
 1184 
 1185     RemoveButton = new wxButton( this, wxID_ANY, _("&Remove"), wxDefaultPosition, wxDefaultSize, 0 );
 1186     gSizer5->Add( RemoveButton, 0, wxALIGN_RIGHT|wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
 1187 
 1188     RemoveAllButton = new wxButton( this, wxID_ANY, _("Remove &All"), wxDefaultPosition, wxDefaultSize, 0 );
 1189     gSizer5->Add( RemoveAllButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
 1190 
 1191 
 1192     bSizer58->Add( gSizer5, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
 1193 
 1194     wxFlexGridSizer* fgSizer4;
 1195     fgSizer4 = new wxFlexGridSizer( 1, 5, 0, 0 );
 1196     fgSizer4->AddGrowableCol( 2 );
 1197     fgSizer4->SetFlexibleDirection( wxBOTH );
 1198     fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 1199 
 1200 
 1201     fgSizer4->Add( 0, 0, 1, wxEXPAND, 5 );
 1202 
 1203 
 1204     bSizer58->Add( fgSizer4, 0, wxEXPAND, 5 );
 1205 
 1206 
 1207     bSizer60->Add( bSizer58, 1, wxEXPAND, 5 );
 1208 
 1209     wxBoxSizer* bSizer59;
 1210     bSizer59 = new wxBoxSizer( wxVERTICAL );
 1211 
 1212     OKButton = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
 1213     OKButton->SetDefault();
 1214     bSizer59->Add( OKButton, 0, wxALL, 5 );
 1215 
 1216     CancelButton = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
 1217     bSizer59->Add( CancelButton, 0, wxALL, 5 );
 1218 
 1219 
 1220     bSizer60->Add( bSizer59, 0, wxEXPAND, 5 );
 1221 
 1222 
 1223     bSizer57->Add( bSizer60, 1, wxEXPAND|wxALL, 5 );
 1224 
 1225 
 1226     this->SetSizer( bSizer57 );
 1227     this->Layout();
 1228     bSizer57->Fit( this );
 1229 
 1230     // Connect Events
 1231     FavoritesListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( FavoriteVolumesDialogBase::OnListItemDeselected ), NULL, this );
 1232     FavoritesListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( FavoriteVolumesDialogBase::OnListItemSelected ), NULL, this );
 1233     MoveUpButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnMoveUpButtonClick ), NULL, this );
 1234     MoveDownButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnMoveDownButtonClick ), NULL, this );
 1235     RemoveButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnRemoveButtonClick ), NULL, this );
 1236     RemoveAllButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnRemoveAllButtonClick ), NULL, this );
 1237     OKButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnOKButtonClick ), NULL, this );
 1238 }
 1239 
 1240 FavoriteVolumesDialogBase::~FavoriteVolumesDialogBase()
 1241 {
 1242     // Disconnect Events
 1243     FavoritesListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( FavoriteVolumesDialogBase::OnListItemDeselected ), NULL, this );
 1244     FavoritesListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( FavoriteVolumesDialogBase::OnListItemSelected ), NULL, this );
 1245     MoveUpButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnMoveUpButtonClick ), NULL, this );
 1246     MoveDownButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnMoveDownButtonClick ), NULL, this );
 1247     RemoveButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnRemoveButtonClick ), NULL, this );
 1248     RemoveAllButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnRemoveAllButtonClick ), NULL, this );
 1249     OKButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FavoriteVolumesDialogBase::OnOKButtonClick ), NULL, this );
 1250 
 1251 }
 1252 
 1253 KeyfilesDialogBase::KeyfilesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 1254 {
 1255     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 1256     this->SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
 1257 
 1258     wxBoxSizer* bSizer26;
 1259     bSizer26 = new wxBoxSizer( wxVERTICAL );
 1260 
 1261     UpperSizer = new wxBoxSizer( wxHORIZONTAL );
 1262 
 1263     PanelSizer = new wxBoxSizer( wxVERTICAL );
 1264 
 1265 
 1266     UpperSizer->Add( PanelSizer, 1, wxEXPAND, 5 );
 1267 
 1268     wxBoxSizer* bSizer22;
 1269     bSizer22 = new wxBoxSizer( wxVERTICAL );
 1270 
 1271     OKButton = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
 1272     OKButton->SetDefault();
 1273     bSizer22->Add( OKButton, 0, wxALL|wxEXPAND, 5 );
 1274 
 1275     CancelButton = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
 1276     bSizer22->Add( CancelButton, 0, wxALL|wxEXPAND, 5 );
 1277 
 1278     WarningStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1279     WarningStaticText->Wrap( -1 );
 1280     bSizer22->Add( WarningStaticText, 1, wxALL|wxEXPAND, 5 );
 1281 
 1282 
 1283     UpperSizer->Add( bSizer22, 0, wxEXPAND, 5 );
 1284 
 1285 
 1286     bSizer26->Add( UpperSizer, 1, wxTOP|wxRIGHT|wxLEFT, 5 );
 1287 
 1288     wxBoxSizer* bSizer23;
 1289     bSizer23 = new wxBoxSizer( wxVERTICAL );
 1290 
 1291     KeyfilesNoteSizer = new wxBoxSizer( wxVERTICAL );
 1292 
 1293     wxStaticLine* m_staticline1;
 1294     m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 1295     KeyfilesNoteSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
 1296 
 1297     KeyfilesNoteStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1298     KeyfilesNoteStaticText->Wrap( -1 );
 1299     KeyfilesNoteSizer->Add( KeyfilesNoteStaticText, 0, wxALL|wxEXPAND, 5 );
 1300 
 1301     wxStaticLine* m_staticline2;
 1302     m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 1303     KeyfilesNoteSizer->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
 1304 
 1305 
 1306     bSizer23->Add( KeyfilesNoteSizer, 1, wxEXPAND, 5 );
 1307 
 1308     wxFlexGridSizer* fgSizer2;
 1309     fgSizer2 = new wxFlexGridSizer( 1, 2, 0, 0 );
 1310     fgSizer2->AddGrowableCol( 0 );
 1311     fgSizer2->SetFlexibleDirection( wxBOTH );
 1312     fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 1313 
 1314     KeyfilesHyperlink = new wxHyperlinkCtrl( this, wxID_ANY, _("More information on keyfiles"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
 1315 
 1316     KeyfilesHyperlink->SetHoverColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 1317     KeyfilesHyperlink->SetNormalColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 1318     KeyfilesHyperlink->SetVisitedColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 1319     fgSizer2->Add( KeyfilesHyperlink, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 1320 
 1321     CreateKeyfileButtton = new wxButton( this, wxID_ANY, _("&Generate Random Keyfile..."), wxDefaultPosition, wxDefaultSize, 0 );
 1322     fgSizer2->Add( CreateKeyfileButtton, 0, wxALL, 5 );
 1323 
 1324 
 1325     bSizer23->Add( fgSizer2, 0, wxEXPAND, 5 );
 1326 
 1327 
 1328     bSizer26->Add( bSizer23, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 1329 
 1330 
 1331     this->SetSizer( bSizer26 );
 1332     this->Layout();
 1333     bSizer26->Fit( this );
 1334 
 1335     // Connect Events
 1336     KeyfilesHyperlink->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( KeyfilesDialogBase::OnKeyfilesHyperlinkClick ), NULL, this );
 1337     CreateKeyfileButtton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesDialogBase::OnCreateKeyfileButttonClick ), NULL, this );
 1338 }
 1339 
 1340 KeyfilesDialogBase::~KeyfilesDialogBase()
 1341 {
 1342     // Disconnect Events
 1343     KeyfilesHyperlink->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( KeyfilesDialogBase::OnKeyfilesHyperlinkClick ), NULL, this );
 1344     CreateKeyfileButtton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesDialogBase::OnCreateKeyfileButttonClick ), NULL, this );
 1345 
 1346 }
 1347 
 1348 KeyfileGeneratorDialogBase::KeyfileGeneratorDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 1349 {
 1350     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 1351 
 1352     MainSizer = new wxBoxSizer( wxVERTICAL );
 1353 
 1354     wxBoxSizer* bSizer144;
 1355     bSizer144 = new wxBoxSizer( wxVERTICAL );
 1356 
 1357     wxBoxSizer* bSizer145;
 1358     bSizer145 = new wxBoxSizer( wxHORIZONTAL );
 1359 
 1360 
 1361     bSizer145->Add( 0, 0, 1, wxEXPAND, 5 );
 1362 
 1363     wxStaticText* m_staticText49;
 1364     m_staticText49 = new wxStaticText( this, wxID_ANY, _("Mixing PRF:"), wxDefaultPosition, wxDefaultSize, 0 );
 1365     m_staticText49->Wrap( -1 );
 1366     bSizer145->Add( m_staticText49, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 1367 
 1368     wxArrayString HashChoiceChoices;
 1369     HashChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, HashChoiceChoices, 0 );
 1370     HashChoice->SetSelection( 0 );
 1371     bSizer145->Add( HashChoice, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 1372 
 1373 
 1374     bSizer145->Add( 0, 0, 1, wxEXPAND, 5 );
 1375 
 1376 
 1377     bSizer144->Add( bSizer145, 0, wxEXPAND, 5 );
 1378 
 1379     wxStaticBoxSizer* sbSizer43;
 1380     sbSizer43 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
 1381 
 1382     wxBoxSizer* bSizer147;
 1383     bSizer147 = new wxBoxSizer( wxHORIZONTAL );
 1384 
 1385     wxStaticText* m_staticText52;
 1386     m_staticText52 = new wxStaticText( this, wxID_ANY, _("Random Pool:"), wxDefaultPosition, wxDefaultSize, 0 );
 1387     m_staticText52->Wrap( -1 );
 1388     bSizer147->Add( m_staticText52, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 1389 
 1390     RandomPoolStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1391     RandomPoolStaticText->Wrap( -1 );
 1392     RandomPoolStaticText->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxT("Courier New") ) );
 1393 
 1394     bSizer147->Add( RandomPoolStaticText, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 1395 
 1396     ShowRandomPoolCheckBox = new wxCheckBox( this, wxID_ANY, _("Show"), wxDefaultPosition, wxDefaultSize, 0 );
 1397     bSizer147->Add( ShowRandomPoolCheckBox, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 1398 
 1399 
 1400     sbSizer43->Add( bSizer147, 0, wxEXPAND|wxTOP, 5 );
 1401 
 1402 
 1403     sbSizer43->Add( 0, 0, 1, wxEXPAND, 5 );
 1404 
 1405     wxStaticBoxSizer* sbSizer45;
 1406     sbSizer45 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Randomness Collected From Mouse Movements") ), wxVERTICAL );
 1407 
 1408     CollectedEntropy = new wxGauge( this, wxID_ANY, 2560, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL|wxGA_SMOOTH );
 1409     CollectedEntropy->SetValue( 0 );
 1410     sbSizer45->Add( CollectedEntropy, 1, wxALL|wxEXPAND, 5 );
 1411 
 1412 
 1413     sbSizer43->Add( sbSizer45, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
 1414 
 1415 
 1416     sbSizer43->Add( 0, 0, 1, wxEXPAND, 5 );
 1417 
 1418     MouseStaticText = new wxStaticText( this, wxID_ANY, _("IMPORTANT: Move your mouse as randomly as possible within this window. The longer you move it, the better. This significantly increases the cryptographic strength of the keyfile."), wxDefaultPosition, wxDefaultSize, 0 );
 1419     MouseStaticText->Wrap( -1 );
 1420     sbSizer43->Add( MouseStaticText, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
 1421 
 1422 
 1423     sbSizer43->Add( 0, 0, 1, wxEXPAND, 5 );
 1424 
 1425 
 1426     bSizer144->Add( sbSizer43, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 1427 
 1428     wxBoxSizer* bSizer162;
 1429     bSizer162 = new wxBoxSizer( wxVERTICAL );
 1430 
 1431     wxFlexGridSizer* fgSizer8;
 1432     fgSizer8 = new wxFlexGridSizer( 3, 3, 0, 0 );
 1433     fgSizer8->AddGrowableCol( 2 );
 1434     fgSizer8->SetFlexibleDirection( wxBOTH );
 1435     fgSizer8->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 1436 
 1437     m_staticText60 = new wxStaticText( this, wxID_ANY, _("Number of keyfiles:"), wxDefaultPosition, wxDefaultSize, 0 );
 1438     m_staticText60->Wrap( -1 );
 1439     fgSizer8->Add( m_staticText60, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 1440 
 1441     NumberOfKeyfiles = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 9999999, 1 );
 1442     fgSizer8->Add( NumberOfKeyfiles, 0, wxALL, 5 );
 1443 
 1444     m_panel18 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 1445     fgSizer8->Add( m_panel18, 1, wxEXPAND | wxALL, 5 );
 1446 
 1447     m_staticText63 = new wxStaticText( this, wxID_ANY, _("Keyfiles size (in Bytes):"), wxDefaultPosition, wxDefaultSize, 0 );
 1448     m_staticText63->Wrap( -1 );
 1449     fgSizer8->Add( m_staticText63, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 1450 
 1451     KeyfilesSize = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 64, 1048576, 64 );
 1452     fgSizer8->Add( KeyfilesSize, 0, wxALL, 5 );
 1453 
 1454     RandomSizeCheckBox = new wxCheckBox( this, wxID_ANY, _("Random size (64 <-> 1048576)"), wxDefaultPosition, wxDefaultSize, 0 );
 1455     fgSizer8->Add( RandomSizeCheckBox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 1456 
 1457     m_staticText65 = new wxStaticText( this, wxID_ANY, _("Keyfiles base name:"), wxDefaultPosition, wxDefaultSize, 0 );
 1458     m_staticText65->Wrap( -1 );
 1459     fgSizer8->Add( m_staticText65, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 1460 
 1461     KeyfilesBaseName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1462     fgSizer8->Add( KeyfilesBaseName, 0, wxALL, 5 );
 1463 
 1464     m_panel19 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 1465     fgSizer8->Add( m_panel19, 1, wxEXPAND | wxALL, 5 );
 1466 
 1467 
 1468     bSizer162->Add( fgSizer8, 1, wxEXPAND, 5 );
 1469 
 1470 
 1471     bSizer144->Add( bSizer162, 0, wxALL|wxEXPAND, 5 );
 1472 
 1473     wxBoxSizer* bSizer146;
 1474     bSizer146 = new wxBoxSizer( wxHORIZONTAL );
 1475 
 1476     GenerateButton = new wxButton( this, wxID_ANY, _("Generate and Save Keyfile..."), wxDefaultPosition, wxDefaultSize, 0 );
 1477     bSizer146->Add( GenerateButton, 0, wxALL, 5 );
 1478 
 1479 
 1480     bSizer146->Add( 0, 0, 1, wxEXPAND, 5 );
 1481 
 1482     wxButton* m_button61;
 1483     m_button61 = new wxButton( this, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
 1484     bSizer146->Add( m_button61, 0, wxALL, 5 );
 1485 
 1486 
 1487     bSizer144->Add( bSizer146, 0, wxEXPAND, 5 );
 1488 
 1489 
 1490     MainSizer->Add( bSizer144, 1, wxEXPAND|wxALL, 5 );
 1491 
 1492 
 1493     this->SetSizer( MainSizer );
 1494     this->Layout();
 1495     MainSizer->Fit( this );
 1496 
 1497     // Connect Events
 1498     this->Connect( wxEVT_MOTION, wxMouseEventHandler( KeyfileGeneratorDialogBase::OnMouseMotion ) );
 1499     HashChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( KeyfileGeneratorDialogBase::OnHashSelected ), NULL, this );
 1500     ShowRandomPoolCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( KeyfileGeneratorDialogBase::OnShowRandomPoolCheckBoxClicked ), NULL, this );
 1501     RandomSizeCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( KeyfileGeneratorDialogBase::OnRandomSizeCheckBoxClicked ), NULL, this );
 1502     GenerateButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfileGeneratorDialogBase::OnGenerateButtonClick ), NULL, this );
 1503 }
 1504 
 1505 KeyfileGeneratorDialogBase::~KeyfileGeneratorDialogBase()
 1506 {
 1507     // Disconnect Events
 1508     this->Disconnect( wxEVT_MOTION, wxMouseEventHandler( KeyfileGeneratorDialogBase::OnMouseMotion ) );
 1509     HashChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( KeyfileGeneratorDialogBase::OnHashSelected ), NULL, this );
 1510     ShowRandomPoolCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( KeyfileGeneratorDialogBase::OnShowRandomPoolCheckBoxClicked ), NULL, this );
 1511     RandomSizeCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( KeyfileGeneratorDialogBase::OnRandomSizeCheckBoxClicked ), NULL, this );
 1512     GenerateButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfileGeneratorDialogBase::OnGenerateButtonClick ), NULL, this );
 1513 
 1514 }
 1515 
 1516 LegalNoticesDialogBase::LegalNoticesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 1517 {
 1518     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 1519 
 1520     wxBoxSizer* bSizer114;
 1521     bSizer114 = new wxBoxSizer( wxVERTICAL );
 1522 
 1523     wxBoxSizer* bSizer115;
 1524     bSizer115 = new wxBoxSizer( wxVERTICAL );
 1525 
 1526     LegalNoticesTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY );
 1527     bSizer115->Add( LegalNoticesTextCtrl, 1, wxALL|wxEXPAND, 5 );
 1528 
 1529     wxButton* OKButton;
 1530     OKButton = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
 1531     OKButton->SetDefault();
 1532     bSizer115->Add( OKButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
 1533 
 1534 
 1535     bSizer114->Add( bSizer115, 1, wxEXPAND|wxALL, 5 );
 1536 
 1537 
 1538     this->SetSizer( bSizer114 );
 1539     this->Layout();
 1540     bSizer114->Fit( this );
 1541 }
 1542 
 1543 LegalNoticesDialogBase::~LegalNoticesDialogBase()
 1544 {
 1545 }
 1546 
 1547 MountOptionsDialogBase::MountOptionsDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 1548 {
 1549     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 1550     this->SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
 1551 
 1552     MainSizer = new wxBoxSizer( wxVERTICAL );
 1553 
 1554     wxBoxSizer* bSizer19;
 1555     bSizer19 = new wxBoxSizer( wxVERTICAL );
 1556 
 1557     wxBoxSizer* bSizer14;
 1558     bSizer14 = new wxBoxSizer( wxHORIZONTAL );
 1559 
 1560     PasswordSizer = new wxBoxSizer( wxVERTICAL );
 1561 
 1562 
 1563     bSizer14->Add( PasswordSizer, 1, wxEXPAND, 5 );
 1564 
 1565     wxBoxSizer* bSizer9;
 1566     bSizer9 = new wxBoxSizer( wxVERTICAL );
 1567 
 1568     OKButton = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
 1569     OKButton->SetDefault();
 1570     bSizer9->Add( OKButton, 0, wxALL|wxEXPAND, 5 );
 1571 
 1572     CancelButton = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
 1573     bSizer9->Add( CancelButton, 0, wxALL|wxEXPAND, 5 );
 1574 
 1575 
 1576     bSizer9->Add( 0, 0, 1, wxTOP|wxEXPAND, 5 );
 1577 
 1578     OptionsButton = new wxButton( this, wxID_ANY, _("Op&tions"), wxDefaultPosition, wxDefaultSize, 0 );
 1579     bSizer9->Add( OptionsButton, 0, wxALL|wxEXPAND, 5 );
 1580 
 1581 
 1582     bSizer14->Add( bSizer9, 0, wxEXPAND, 5 );
 1583 
 1584 
 1585     bSizer19->Add( bSizer14, 0, wxEXPAND|wxALL, 5 );
 1586 
 1587     wxBoxSizer* bSizer6;
 1588     bSizer6 = new wxBoxSizer( wxVERTICAL );
 1589 
 1590     OptionsPanel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 1591     OptionsSizer = new wxStaticBoxSizer( new wxStaticBox( OptionsPanel, wxID_ANY, wxEmptyString ), wxVERTICAL );
 1592 
 1593 
 1594     OptionsSizer->Add( 0, 0, 0, wxTOP, 5 );
 1595 
 1596     ReadOnlyCheckBox = new wxCheckBox( OptionsPanel, wxID_ANY, _("Mount volume as &read-only"), wxDefaultPosition, wxDefaultSize, 0 );
 1597     OptionsSizer->Add( ReadOnlyCheckBox, 0, wxALL, 5 );
 1598 
 1599     RemovableCheckBox = new wxCheckBox( OptionsPanel, wxID_ANY, _("Mount volume as removable &medium"), wxDefaultPosition, wxDefaultSize, 0 );
 1600     OptionsSizer->Add( RemovableCheckBox, 0, wxALL, 5 );
 1601 
 1602     BackupHeaderCheckBox = new wxCheckBox( OptionsPanel, wxID_ANY, _("Use backup header embedded in &volume if available"), wxDefaultPosition, wxDefaultSize, 0 );
 1603     OptionsSizer->Add( BackupHeaderCheckBox, 0, wxALL, 5 );
 1604 
 1605     PartitionInSystemEncryptionScopeCheckBox = new wxCheckBox( OptionsPanel, wxID_ANY, _("Mount partition &using system encryption (preboot authentication)"), wxDefaultPosition, wxDefaultSize, 0 );
 1606     OptionsSizer->Add( PartitionInSystemEncryptionScopeCheckBox, 0, wxALL, 5 );
 1607 
 1608     ProtectionSizer = new wxStaticBoxSizer( new wxStaticBox( OptionsPanel, wxID_ANY, _("Hidden Volume Protection") ), wxVERTICAL );
 1609 
 1610     ProtectionCheckBox = new wxCheckBox( OptionsPanel, wxID_ANY, _("&Protect hidden volume when mounting outer volume"), wxDefaultPosition, wxDefaultSize, 0 );
 1611     ProtectionSizer->Add( ProtectionCheckBox, 0, wxALL, 5 );
 1612 
 1613     ProtectionPasswordSizer = new wxBoxSizer( wxVERTICAL );
 1614 
 1615 
 1616     ProtectionSizer->Add( ProtectionPasswordSizer, 1, wxEXPAND|wxLEFT, 5 );
 1617 
 1618     ProtectionHyperlinkCtrl = new wxHyperlinkCtrl( OptionsPanel, wxID_ANY, _("What is hidden volume protection?"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
 1619 
 1620     ProtectionHyperlinkCtrl->SetHoverColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 1621     ProtectionHyperlinkCtrl->SetNormalColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 1622     ProtectionHyperlinkCtrl->SetVisitedColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 1623     ProtectionSizer->Add( ProtectionHyperlinkCtrl, 0, wxALL, 5 );
 1624 
 1625 
 1626     OptionsSizer->Add( ProtectionSizer, 1, wxEXPAND|wxALL, 5 );
 1627 
 1628     FilesystemSizer = new wxBoxSizer( wxVERTICAL );
 1629 
 1630     m_panel8 = new wxPanel( OptionsPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 1631     wxStaticBoxSizer* sbSizer28;
 1632     sbSizer28 = new wxStaticBoxSizer( new wxStaticBox( m_panel8, wxID_ANY, _("Filesystem") ), wxVERTICAL );
 1633 
 1634     wxBoxSizer* bSizer54;
 1635     bSizer54 = new wxBoxSizer( wxVERTICAL );
 1636 
 1637     wxBoxSizer* bSizer55;
 1638     bSizer55 = new wxBoxSizer( wxVERTICAL );
 1639 
 1640     NoFilesystemCheckBox = new wxCheckBox( m_panel8, wxID_ANY, _("Do &not mount"), wxDefaultPosition, wxDefaultSize, 0 );
 1641     bSizer55->Add( NoFilesystemCheckBox, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
 1642 
 1643 
 1644     bSizer54->Add( bSizer55, 1, wxEXPAND, 5 );
 1645 
 1646     FilesystemOptionsSizer = new wxGridBagSizer( 0, 0 );
 1647     FilesystemOptionsSizer->SetFlexibleDirection( wxBOTH );
 1648     FilesystemOptionsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 1649     FilesystemOptionsSizer->SetEmptyCellSize( wxSize( 0,0 ) );
 1650 
 1651     FilesystemSpacer = new wxBoxSizer( wxVERTICAL );
 1652 
 1653 
 1654     FilesystemOptionsSizer->Add( FilesystemSpacer, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxEXPAND|wxTOP, 5 );
 1655 
 1656     MountPointTextCtrlStaticText = new wxStaticText( m_panel8, wxID_ANY, _("Mount at directory:"), wxDefaultPosition, wxDefaultSize, 0 );
 1657     MountPointTextCtrlStaticText->Wrap( -1 );
 1658     FilesystemOptionsSizer->Add( MountPointTextCtrlStaticText, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
 1659 
 1660     MountPointTextCtrl = new wxTextCtrl( m_panel8, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1661     MountPointTextCtrl->SetMaxLength( 0 );
 1662     FilesystemOptionsSizer->Add( MountPointTextCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
 1663 
 1664     MountPointButton = new wxButton( m_panel8, wxID_ANY, _("Se&lect..."), wxDefaultPosition, wxDefaultSize, 0 );
 1665     FilesystemOptionsSizer->Add( MountPointButton, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
 1666 
 1667     FilesystemOptionsStaticText = new wxStaticText( m_panel8, wxID_ANY, _("Mount options:"), wxDefaultPosition, wxDefaultSize, 0 );
 1668     FilesystemOptionsStaticText->Wrap( -1 );
 1669     FilesystemOptionsSizer->Add( FilesystemOptionsStaticText, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxLEFT, 5 );
 1670 
 1671     FilesystemOptionsTextCtrl = new wxTextCtrl( m_panel8, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1672     FilesystemOptionsTextCtrl->SetMaxLength( 0 );
 1673     FilesystemOptionsSizer->Add( FilesystemOptionsTextCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
 1674 
 1675 
 1676     FilesystemOptionsSizer->AddGrowableCol( 1 );
 1677 
 1678     bSizer54->Add( FilesystemOptionsSizer, 0, wxEXPAND, 5 );
 1679 
 1680 
 1681     sbSizer28->Add( bSizer54, 0, wxEXPAND|wxBOTTOM, 5 );
 1682 
 1683 
 1684     m_panel8->SetSizer( sbSizer28 );
 1685     m_panel8->Layout();
 1686     sbSizer28->Fit( m_panel8 );
 1687     FilesystemSizer->Add( m_panel8, 0, wxEXPAND | wxALL, 5 );
 1688 
 1689 
 1690     OptionsSizer->Add( FilesystemSizer, 0, wxEXPAND, 5 );
 1691 
 1692 
 1693     OptionsPanel->SetSizer( OptionsSizer );
 1694     OptionsPanel->Layout();
 1695     OptionsSizer->Fit( OptionsPanel );
 1696     bSizer6->Add( OptionsPanel, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 1697 
 1698 
 1699     bSizer19->Add( bSizer6, 0, wxEXPAND, 5 );
 1700 
 1701 
 1702     MainSizer->Add( bSizer19, 1, wxEXPAND, 5 );
 1703 
 1704 
 1705     this->SetSizer( MainSizer );
 1706     this->Layout();
 1707     MainSizer->Fit( this );
 1708 
 1709     this->Centre( wxBOTH );
 1710 
 1711     // Connect Events
 1712     this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( MountOptionsDialogBase::OnInitDialog ) );
 1713     OKButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnOKButtonClick ), NULL, this );
 1714     OptionsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnOptionsButtonClick ), NULL, this );
 1715     ReadOnlyCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnReadOnlyCheckBoxClick ), NULL, this );
 1716     ProtectionCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnProtectionCheckBoxClick ), NULL, this );
 1717     ProtectionHyperlinkCtrl->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( MountOptionsDialogBase::OnProtectionHyperlinkClick ), NULL, this );
 1718     NoFilesystemCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnNoFilesystemCheckBoxClick ), NULL, this );
 1719     MountPointButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnMountPointButtonClick ), NULL, this );
 1720 }
 1721 
 1722 MountOptionsDialogBase::~MountOptionsDialogBase()
 1723 {
 1724     // Disconnect Events
 1725     this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( MountOptionsDialogBase::OnInitDialog ) );
 1726     OKButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnOKButtonClick ), NULL, this );
 1727     OptionsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnOptionsButtonClick ), NULL, this );
 1728     ReadOnlyCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnReadOnlyCheckBoxClick ), NULL, this );
 1729     ProtectionCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnProtectionCheckBoxClick ), NULL, this );
 1730     ProtectionHyperlinkCtrl->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( MountOptionsDialogBase::OnProtectionHyperlinkClick ), NULL, this );
 1731     NoFilesystemCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnNoFilesystemCheckBoxClick ), NULL, this );
 1732     MountPointButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MountOptionsDialogBase::OnMountPointButtonClick ), NULL, this );
 1733 
 1734 }
 1735 
 1736 NewSecurityTokenKeyfileDialogBase::NewSecurityTokenKeyfileDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 1737 {
 1738     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 1739 
 1740     wxBoxSizer* bSizer143;
 1741     bSizer143 = new wxBoxSizer( wxVERTICAL );
 1742 
 1743     wxBoxSizer* bSizer144;
 1744     bSizer144 = new wxBoxSizer( wxVERTICAL );
 1745 
 1746     wxStaticBoxSizer* sbSizer42;
 1747     sbSizer42 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
 1748 
 1749     wxFlexGridSizer* fgSizer7;
 1750     fgSizer7 = new wxFlexGridSizer( 2, 2, 0, 0 );
 1751     fgSizer7->SetFlexibleDirection( wxBOTH );
 1752     fgSizer7->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 1753 
 1754     wxStaticText* m_staticText47;
 1755     m_staticText47 = new wxStaticText( this, wxID_ANY, _("Security token:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
 1756     m_staticText47->Wrap( -1 );
 1757     fgSizer7->Add( m_staticText47, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
 1758 
 1759     wxArrayString SecurityTokenChoiceChoices;
 1760     SecurityTokenChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, SecurityTokenChoiceChoices, 0 );
 1761     SecurityTokenChoice->SetSelection( 0 );
 1762     fgSizer7->Add( SecurityTokenChoice, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
 1763 
 1764     wxStaticText* m_staticText48;
 1765     m_staticText48 = new wxStaticText( this, wxID_ANY, _("Keyfile name:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
 1766     m_staticText48->Wrap( -1 );
 1767     fgSizer7->Add( m_staticText48, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
 1768 
 1769     KeyfileNameTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1770     KeyfileNameTextCtrl->SetMaxLength( 0 );
 1771     fgSizer7->Add( KeyfileNameTextCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALL, 5 );
 1772 
 1773 
 1774     sbSizer42->Add( fgSizer7, 1, wxEXPAND|wxTOP, 5 );
 1775 
 1776 
 1777     bSizer144->Add( sbSizer42, 1, wxEXPAND|wxALL, 5 );
 1778 
 1779     StdButtons = new wxStdDialogButtonSizer();
 1780     StdButtonsOK = new wxButton( this, wxID_OK );
 1781     StdButtons->AddButton( StdButtonsOK );
 1782     StdButtonsCancel = new wxButton( this, wxID_CANCEL );
 1783     StdButtons->AddButton( StdButtonsCancel );
 1784     StdButtons->Realize();
 1785 
 1786     bSizer144->Add( StdButtons, 0, wxALIGN_RIGHT|wxALL, 5 );
 1787 
 1788 
 1789     bSizer143->Add( bSizer144, 1, wxEXPAND|wxALL, 5 );
 1790 
 1791 
 1792     this->SetSizer( bSizer143 );
 1793     this->Layout();
 1794     bSizer143->Fit( this );
 1795 
 1796     // Connect Events
 1797     KeyfileNameTextCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( NewSecurityTokenKeyfileDialogBase::OnKeyfileNameChanged ), NULL, this );
 1798 }
 1799 
 1800 NewSecurityTokenKeyfileDialogBase::~NewSecurityTokenKeyfileDialogBase()
 1801 {
 1802     // Disconnect Events
 1803     KeyfileNameTextCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( NewSecurityTokenKeyfileDialogBase::OnKeyfileNameChanged ), NULL, this );
 1804 
 1805 }
 1806 
 1807 PreferencesDialogBase::PreferencesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 1808 {
 1809     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 1810     this->SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
 1811 
 1812     wxBoxSizer* bSizer32;
 1813     bSizer32 = new wxBoxSizer( wxVERTICAL );
 1814 
 1815     wxBoxSizer* bSizer41;
 1816     bSizer41 = new wxBoxSizer( wxVERTICAL );
 1817 
 1818     PreferencesNotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
 1819     SecurityPage = new wxPanel( PreferencesNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 1820     wxBoxSizer* bSizer44;
 1821     bSizer44 = new wxBoxSizer( wxVERTICAL );
 1822 
 1823     wxBoxSizer* bSizer33;
 1824     bSizer33 = new wxBoxSizer( wxVERTICAL );
 1825 
 1826     AutoDismountSizer = new wxStaticBoxSizer( new wxStaticBox( SecurityPage, wxID_ANY, _("Auto-Dismount") ), wxVERTICAL );
 1827 
 1828     wxStaticBoxSizer* sbSizer13;
 1829     sbSizer13 = new wxStaticBoxSizer( new wxStaticBox( SecurityPage, wxID_ANY, _("Dismount All Volumes When") ), wxVERTICAL );
 1830 
 1831     DismountOnLogOffCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("User logs off"), wxDefaultPosition, wxDefaultSize, 0 );
 1832     sbSizer13->Add( DismountOnLogOffCheckBox, 0, wxALL, 5 );
 1833 
 1834     DismountOnScreenSaverCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("Screen saver is launched"), wxDefaultPosition, wxDefaultSize, 0 );
 1835     sbSizer13->Add( DismountOnScreenSaverCheckBox, 0, wxALL, 5 );
 1836 
 1837     DismountOnPowerSavingCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("System is entering power saving mode"), wxDefaultPosition, wxDefaultSize, 0 );
 1838     sbSizer13->Add( DismountOnPowerSavingCheckBox, 0, wxALL, 5 );
 1839 
 1840 
 1841     AutoDismountSizer->Add( sbSizer13, 0, wxEXPAND|wxALL, 5 );
 1842 
 1843     wxBoxSizer* bSizer34;
 1844     bSizer34 = new wxBoxSizer( wxHORIZONTAL );
 1845 
 1846     DismountOnInactivityCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("Auto-dismount volume after no data has been read/written to it for"), wxDefaultPosition, wxDefaultSize, 0 );
 1847     bSizer34->Add( DismountOnInactivityCheckBox, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 1848 
 1849     DismountOnInactivitySpinCtrl = new wxSpinCtrl( SecurityPage, wxID_ANY, wxT("1"), wxDefaultPosition, wxSize( -1,-1 ), wxSP_ARROW_KEYS, 1, 9999, 1 );
 1850     DismountOnInactivitySpinCtrl->SetMinSize( wxSize( 60,-1 ) );
 1851 
 1852     bSizer34->Add( DismountOnInactivitySpinCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 1853 
 1854     wxStaticText* m_staticText5;
 1855     m_staticText5 = new wxStaticText( SecurityPage, wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 );
 1856     m_staticText5->Wrap( -1 );
 1857     bSizer34->Add( m_staticText5, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
 1858 
 1859 
 1860     AutoDismountSizer->Add( bSizer34, 0, wxEXPAND, 5 );
 1861 
 1862     ForceAutoDismountCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("Force auto-dismount even if volume contains open files or directories"), wxDefaultPosition, wxDefaultSize, 0 );
 1863     AutoDismountSizer->Add( ForceAutoDismountCheckBox, 0, wxALL, 5 );
 1864 
 1865 
 1866     bSizer33->Add( AutoDismountSizer, 0, wxEXPAND|wxALL, 5 );
 1867 
 1868     FilesystemSecuritySizer = new wxStaticBoxSizer( new wxStaticBox( SecurityPage, wxID_ANY, _("Filesystem") ), wxVERTICAL );
 1869 
 1870     PreserveTimestampsCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("Preserve modification timestamp of file containers"), wxDefaultPosition, wxDefaultSize, 0 );
 1871     FilesystemSecuritySizer->Add( PreserveTimestampsCheckBox, 0, wxALL, 5 );
 1872 
 1873 
 1874     bSizer33->Add( FilesystemSecuritySizer, 0, wxEXPAND|wxALL, 5 );
 1875 
 1876     wxStaticBoxSizer* sbSizer14;
 1877     sbSizer14 = new wxStaticBoxSizer( new wxStaticBox( SecurityPage, wxID_ANY, _("Password Cache") ), wxVERTICAL );
 1878 
 1879     WipeCacheOnCloseCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("Wipe after VeraCrypt window has been closed"), wxDefaultPosition, wxDefaultSize, 0 );
 1880     sbSizer14->Add( WipeCacheOnCloseCheckBox, 0, wxALL, 5 );
 1881 
 1882     WipeCacheOnAutoDismountCheckBox = new wxCheckBox( SecurityPage, wxID_ANY, _("Wipe after volume has been auto-dismounted"), wxDefaultPosition, wxDefaultSize, 0 );
 1883     sbSizer14->Add( WipeCacheOnAutoDismountCheckBox, 0, wxALL, 5 );
 1884 
 1885 
 1886     bSizer33->Add( sbSizer14, 0, wxEXPAND|wxALL, 5 );
 1887 
 1888 
 1889     bSizer44->Add( bSizer33, 1, wxEXPAND|wxALL, 5 );
 1890 
 1891 
 1892     SecurityPage->SetSizer( bSizer44 );
 1893     SecurityPage->Layout();
 1894     bSizer44->Fit( SecurityPage );
 1895     PreferencesNotebook->AddPage( SecurityPage, _("Security"), true );
 1896     DefaultMountOptionsPage = new wxPanel( PreferencesNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 1897     wxBoxSizer* bSizer46;
 1898     bSizer46 = new wxBoxSizer( wxVERTICAL );
 1899 
 1900     wxBoxSizer* bSizer35;
 1901     bSizer35 = new wxBoxSizer( wxVERTICAL );
 1902 
 1903     wxStaticBoxSizer* sbSizer15;
 1904     sbSizer15 = new wxStaticBoxSizer( new wxStaticBox( DefaultMountOptionsPage, wxID_ANY, _("Default Mount Options") ), wxVERTICAL );
 1905 
 1906     MountReadOnlyCheckBox = new wxCheckBox( DefaultMountOptionsPage, wxID_ANY, _("Mount volumes as read-only"), wxDefaultPosition, wxDefaultSize, 0 );
 1907     sbSizer15->Add( MountReadOnlyCheckBox, 0, wxALL, 5 );
 1908 
 1909     MountRemovableCheckBox = new wxCheckBox( DefaultMountOptionsPage, wxID_ANY, _("Mount volumes as removable media"), wxDefaultPosition, wxDefaultSize, 0 );
 1910     sbSizer15->Add( MountRemovableCheckBox, 0, wxALL, 5 );
 1911 
 1912     CachePasswordsCheckBox = new wxCheckBox( DefaultMountOptionsPage, wxID_ANY, _("Cache passwords in memory"), wxDefaultPosition, wxDefaultSize, 0 );
 1913     sbSizer15->Add( CachePasswordsCheckBox, 0, wxALL, 5 );
 1914 
 1915     TrueCryptModeCheckBox = new wxCheckBox( DefaultMountOptionsPage, wxID_ANY, _("TrueCrypt Mode"), wxDefaultPosition, wxDefaultSize, 0 );
 1916     sbSizer15->Add( TrueCryptModeCheckBox, 0, wxALL, 5 );
 1917 
 1918     wxBoxSizer* bSizer163;
 1919     bSizer163 = new wxBoxSizer( wxHORIZONTAL );
 1920 
 1921     Pkcs5PrfStaticText = new wxStaticText( DefaultMountOptionsPage, wxID_ANY, _("PKCS5-PRF:"), wxDefaultPosition, wxDefaultSize, 0 );
 1922     Pkcs5PrfStaticText->Wrap( -1 );
 1923     bSizer163->Add( Pkcs5PrfStaticText, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 1924 
 1925     wxArrayString Pkcs5PrfChoiceChoices;
 1926     Pkcs5PrfChoice = new wxChoice( DefaultMountOptionsPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, Pkcs5PrfChoiceChoices, 0 );
 1927     Pkcs5PrfChoice->SetSelection( 0 );
 1928     bSizer163->Add( Pkcs5PrfChoice, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 1929 
 1930 
 1931     sbSizer15->Add( bSizer163, 0, wxEXPAND, 5 );
 1932 
 1933 
 1934     bSizer35->Add( sbSizer15, 0, wxEXPAND|wxALL, 5 );
 1935 
 1936     FilesystemSizer = new wxStaticBoxSizer( new wxStaticBox( DefaultMountOptionsPage, wxID_ANY, _("Filesystem") ), wxVERTICAL );
 1937 
 1938     wxFlexGridSizer* fgSizer3;
 1939     fgSizer3 = new wxFlexGridSizer( 1, 2, 0, 0 );
 1940     fgSizer3->AddGrowableCol( 1 );
 1941     fgSizer3->SetFlexibleDirection( wxBOTH );
 1942     fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 1943 
 1944     wxStaticText* m_staticText6;
 1945     m_staticText6 = new wxStaticText( DefaultMountOptionsPage, wxID_ANY, _("Mount options:"), wxDefaultPosition, wxDefaultSize, 0 );
 1946     m_staticText6->Wrap( -1 );
 1947     fgSizer3->Add( m_staticText6, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
 1948 
 1949     FilesystemOptionsTextCtrl = new wxTextCtrl( DefaultMountOptionsPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 1950     FilesystemOptionsTextCtrl->SetMaxLength( 0 );
 1951     fgSizer3->Add( FilesystemOptionsTextCtrl, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 1952 
 1953 
 1954     FilesystemSizer->Add( fgSizer3, 1, wxEXPAND, 5 );
 1955 
 1956 
 1957     bSizer35->Add( FilesystemSizer, 0, wxEXPAND|wxALL, 5 );
 1958 
 1959 
 1960     bSizer46->Add( bSizer35, 1, wxEXPAND|wxALL, 5 );
 1961 
 1962 
 1963     DefaultMountOptionsPage->SetSizer( bSizer46 );
 1964     DefaultMountOptionsPage->Layout();
 1965     bSizer46->Fit( DefaultMountOptionsPage );
 1966     PreferencesNotebook->AddPage( DefaultMountOptionsPage, _("Mount Options"), false );
 1967     BackgroundTaskPanel = new wxPanel( PreferencesNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 1968     wxBoxSizer* bSizer61;
 1969     bSizer61 = new wxBoxSizer( wxVERTICAL );
 1970 
 1971     wxBoxSizer* bSizer62;
 1972     bSizer62 = new wxBoxSizer( wxVERTICAL );
 1973 
 1974     wxStaticBoxSizer* sbSizer18;
 1975     sbSizer18 = new wxStaticBoxSizer( new wxStaticBox( BackgroundTaskPanel, wxID_ANY, _("VeraCrypt Background Task") ), wxVERTICAL );
 1976 
 1977     BackgroundTaskEnabledCheckBox = new wxCheckBox( BackgroundTaskPanel, wxID_ANY, _("Enabled"), wxDefaultPosition, wxDefaultSize, 0 );
 1978     sbSizer18->Add( BackgroundTaskEnabledCheckBox, 0, wxALL, 5 );
 1979 
 1980     CloseBackgroundTaskOnNoVolumesCheckBox = new wxCheckBox( BackgroundTaskPanel, wxID_ANY, _("Exit when there are no mounted volumes"), wxDefaultPosition, wxDefaultSize, 0 );
 1981     sbSizer18->Add( CloseBackgroundTaskOnNoVolumesCheckBox, 0, wxALL, 5 );
 1982 
 1983     wxStaticBoxSizer* sbSizer26;
 1984     sbSizer26 = new wxStaticBoxSizer( new wxStaticBox( BackgroundTaskPanel, wxID_ANY, _("Task Icon Menu Items") ), wxVERTICAL );
 1985 
 1986     BackgroundTaskMenuMountItemsEnabledCheckBox = new wxCheckBox( BackgroundTaskPanel, wxID_ANY, _("Mount Favorite Volumes"), wxDefaultPosition, wxDefaultSize, 0 );
 1987     sbSizer26->Add( BackgroundTaskMenuMountItemsEnabledCheckBox, 0, wxALL, 5 );
 1988 
 1989     BackgroundTaskMenuOpenItemsEnabledCheckBox = new wxCheckBox( BackgroundTaskPanel, wxID_ANY, _("Open Mounted Volumes"), wxDefaultPosition, wxDefaultSize, 0 );
 1990     sbSizer26->Add( BackgroundTaskMenuOpenItemsEnabledCheckBox, 0, wxALL, 5 );
 1991 
 1992     BackgroundTaskMenuDismountItemsEnabledCheckBox = new wxCheckBox( BackgroundTaskPanel, wxID_ANY, _("Dismount Mounted Volumes"), wxDefaultPosition, wxDefaultSize, 0 );
 1993     sbSizer26->Add( BackgroundTaskMenuDismountItemsEnabledCheckBox, 0, wxALL, 5 );
 1994 
 1995 
 1996     sbSizer18->Add( sbSizer26, 1, wxEXPAND|wxALL, 5 );
 1997 
 1998 
 1999     bSizer62->Add( sbSizer18, 0, wxEXPAND|wxALL, 5 );
 2000 
 2001 
 2002     bSizer61->Add( bSizer62, 1, wxEXPAND|wxALL, 5 );
 2003 
 2004 
 2005     BackgroundTaskPanel->SetSizer( bSizer61 );
 2006     BackgroundTaskPanel->Layout();
 2007     bSizer61->Fit( BackgroundTaskPanel );
 2008     PreferencesNotebook->AddPage( BackgroundTaskPanel, _("Background Task"), false );
 2009     SystemIntegrationPage = new wxPanel( PreferencesNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 2010     wxBoxSizer* bSizer49;
 2011     bSizer49 = new wxBoxSizer( wxVERTICAL );
 2012 
 2013     wxBoxSizer* bSizer37;
 2014     bSizer37 = new wxBoxSizer( wxVERTICAL );
 2015 
 2016     LogOnSizer = new wxStaticBoxSizer( new wxStaticBox( SystemIntegrationPage, wxID_ANY, _("Actions to Perform when User Logs On") ), wxVERTICAL );
 2017 
 2018     StartOnLogonCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Start VeraCrypt Background Task"), wxDefaultPosition, wxDefaultSize, 0 );
 2019     LogOnSizer->Add( StartOnLogonCheckBox, 0, wxALL, 5 );
 2020 
 2021     MountFavoritesOnLogonCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Mount favorite volumes"), wxDefaultPosition, wxDefaultSize, 0 );
 2022     LogOnSizer->Add( MountFavoritesOnLogonCheckBox, 0, wxALL, 5 );
 2023 
 2024     MountDevicesOnLogonCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Mount all device-hosted VeraCrypt volumes"), wxDefaultPosition, wxDefaultSize, 0 );
 2025     LogOnSizer->Add( MountDevicesOnLogonCheckBox, 0, wxALL, 5 );
 2026 
 2027 
 2028     bSizer37->Add( LogOnSizer, 0, wxALL|wxEXPAND, 5 );
 2029 
 2030     ExplorerSizer = new wxStaticBoxSizer( new wxStaticBox( SystemIntegrationPage, wxID_ANY, _("Filesystem Explorer") ), wxVERTICAL );
 2031 
 2032     OpenExplorerWindowAfterMountCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Open Explorer window for successfully mounted volume"), wxDefaultPosition, wxDefaultSize, 0 );
 2033     ExplorerSizer->Add( OpenExplorerWindowAfterMountCheckBox, 0, wxALL, 5 );
 2034 
 2035     CloseExplorerWindowsOnDismountCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Close all Explorer windows of volume being dismounted"), wxDefaultPosition, wxDefaultSize, 0 );
 2036     ExplorerSizer->Add( CloseExplorerWindowsOnDismountCheckBox, 0, wxALL, 5 );
 2037 
 2038 
 2039     bSizer37->Add( ExplorerSizer, 0, wxEXPAND|wxALL, 5 );
 2040 
 2041     KernelServicesSizer = new wxStaticBoxSizer( new wxStaticBox( SystemIntegrationPage, wxID_ANY, _("Kernel Services") ), wxVERTICAL );
 2042 
 2043     NoKernelCryptoCheckBox = new wxCheckBox( SystemIntegrationPage, wxID_ANY, _("Do not use kernel cryptographic services"), wxDefaultPosition, wxDefaultSize, 0 );
 2044     KernelServicesSizer->Add( NoKernelCryptoCheckBox, 0, wxALL, 5 );
 2045 
 2046 
 2047     bSizer37->Add( KernelServicesSizer, 0, wxEXPAND|wxALL, 5 );
 2048 
 2049 
 2050     bSizer49->Add( bSizer37, 1, wxEXPAND|wxALL, 5 );
 2051 
 2052 
 2053     SystemIntegrationPage->SetSizer( bSizer49 );
 2054     SystemIntegrationPage->Layout();
 2055     bSizer49->Fit( SystemIntegrationPage );
 2056     PreferencesNotebook->AddPage( SystemIntegrationPage, _("System Integration"), false );
 2057     PerformanceOptionsPage = new wxPanel( PreferencesNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 2058     wxBoxSizer* bSizer151;
 2059     bSizer151 = new wxBoxSizer( wxVERTICAL );
 2060 
 2061     wxBoxSizer* bSizer152;
 2062     bSizer152 = new wxBoxSizer( wxVERTICAL );
 2063 
 2064     wxStaticBoxSizer* sbSizer44;
 2065     sbSizer44 = new wxStaticBoxSizer( new wxStaticBox( PerformanceOptionsPage, wxID_ANY, _("Hardware Acceleration") ), wxVERTICAL );
 2066 
 2067     wxBoxSizer* bSizer158;
 2068     bSizer158 = new wxBoxSizer( wxHORIZONTAL );
 2069 
 2070     wxStaticText* m_staticText57;
 2071     m_staticText57 = new wxStaticText( PerformanceOptionsPage, wxID_ANY, _("Processor (CPU) in this computer supports hardware acceleration for AES:"), wxDefaultPosition, wxDefaultSize, 0 );
 2072     m_staticText57->Wrap( -1 );
 2073     bSizer158->Add( m_staticText57, 0, wxALL, 5 );
 2074 
 2075     AesHwCpuSupportedStaticText = new wxStaticText( PerformanceOptionsPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0|wxSUNKEN_BORDER );
 2076     AesHwCpuSupportedStaticText->Wrap( -1 );
 2077     bSizer158->Add( AesHwCpuSupportedStaticText, 0, wxALL, 5 );
 2078 
 2079 
 2080     sbSizer44->Add( bSizer158, 1, wxEXPAND, 5 );
 2081 
 2082 
 2083     sbSizer44->Add( 0, 0, 0, wxBOTTOM, 5 );
 2084 
 2085     NoHardwareCryptoCheckBox = new wxCheckBox( PerformanceOptionsPage, wxID_ANY, _("Do not accelerate AES encryption/decryption by using the AES instructions of the processor"), wxDefaultPosition, wxDefaultSize, 0 );
 2086     sbSizer44->Add( NoHardwareCryptoCheckBox, 0, wxALL, 5 );
 2087 
 2088 
 2089     bSizer152->Add( sbSizer44, 0, wxEXPAND|wxALL, 5 );
 2090 
 2091 
 2092     bSizer151->Add( bSizer152, 1, wxALL|wxEXPAND, 5 );
 2093 
 2094 
 2095     PerformanceOptionsPage->SetSizer( bSizer151 );
 2096     PerformanceOptionsPage->Layout();
 2097     bSizer151->Fit( PerformanceOptionsPage );
 2098     PreferencesNotebook->AddPage( PerformanceOptionsPage, _("Performance"), false );
 2099     DefaultKeyfilesPage = new wxPanel( PreferencesNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 2100     wxBoxSizer* bSizer40;
 2101     bSizer40 = new wxBoxSizer( wxVERTICAL );
 2102 
 2103     wxBoxSizer* bSizer43;
 2104     bSizer43 = new wxBoxSizer( wxVERTICAL );
 2105 
 2106     wxStaticBoxSizer* bSizer42;
 2107     bSizer42 = new wxStaticBoxSizer( new wxStaticBox( DefaultKeyfilesPage, wxID_ANY, _("Default Keyfiles") ), wxVERTICAL );
 2108 
 2109     DefaultKeyfilesSizer = new wxBoxSizer( wxVERTICAL );
 2110 
 2111 
 2112     bSizer42->Add( DefaultKeyfilesSizer, 1, wxEXPAND, 5 );
 2113 
 2114 
 2115     bSizer43->Add( bSizer42, 1, wxEXPAND|wxALL, 5 );
 2116 
 2117     UseKeyfilesCheckBox = new wxCheckBox( DefaultKeyfilesPage, wxID_ANY, _("Use keyfiles by default"), wxDefaultPosition, wxDefaultSize, 0 );
 2118     bSizer43->Add( UseKeyfilesCheckBox, 0, wxALL, 5 );
 2119 
 2120 
 2121     bSizer40->Add( bSizer43, 1, wxEXPAND|wxALL, 5 );
 2122 
 2123 
 2124     DefaultKeyfilesPage->SetSizer( bSizer40 );
 2125     DefaultKeyfilesPage->Layout();
 2126     bSizer40->Fit( DefaultKeyfilesPage );
 2127     PreferencesNotebook->AddPage( DefaultKeyfilesPage, _("Keyfiles"), false );
 2128     SecurityTokensPage = new wxPanel( PreferencesNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 2129     wxBoxSizer* bSizer127;
 2130     bSizer127 = new wxBoxSizer( wxVERTICAL );
 2131 
 2132     wxBoxSizer* bSizer128;
 2133     bSizer128 = new wxBoxSizer( wxVERTICAL );
 2134 
 2135     wxStaticBoxSizer* sbSizer36;
 2136     sbSizer36 = new wxStaticBoxSizer( new wxStaticBox( SecurityTokensPage, wxID_ANY, _("PKCS #11 Library Path") ), wxVERTICAL );
 2137 
 2138     wxBoxSizer* bSizer129;
 2139     bSizer129 = new wxBoxSizer( wxHORIZONTAL );
 2140 
 2141     Pkcs11ModulePathTextCtrl = new wxTextCtrl( SecurityTokensPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2142     Pkcs11ModulePathTextCtrl->SetMaxLength( 0 );
 2143     bSizer129->Add( Pkcs11ModulePathTextCtrl, 1, wxALL, 5 );
 2144 
 2145     SelectPkcs11ModuleButton = new wxButton( SecurityTokensPage, wxID_ANY, _("Select &Library..."), wxDefaultPosition, wxDefaultSize, 0 );
 2146     bSizer129->Add( SelectPkcs11ModuleButton, 0, wxALL, 5 );
 2147 
 2148 
 2149     sbSizer36->Add( bSizer129, 1, wxEXPAND, 5 );
 2150 
 2151 
 2152     bSizer128->Add( sbSizer36, 0, wxEXPAND|wxALL, 5 );
 2153 
 2154     wxStaticBoxSizer* sbSizer37;
 2155     sbSizer37 = new wxStaticBoxSizer( new wxStaticBox( SecurityTokensPage, wxID_ANY, _("Security Options") ), wxVERTICAL );
 2156 
 2157     CloseSecurityTokenSessionsAfterMountCheckBox = new wxCheckBox( SecurityTokensPage, wxID_ANY, _("&Close token session (log out) after a volume is successfully mounted"), wxDefaultPosition, wxDefaultSize, 0 );
 2158     sbSizer37->Add( CloseSecurityTokenSessionsAfterMountCheckBox, 0, wxALL, 5 );
 2159 
 2160 
 2161     bSizer128->Add( sbSizer37, 0, wxEXPAND|wxALL, 5 );
 2162 
 2163 
 2164     bSizer127->Add( bSizer128, 1, wxEXPAND|wxALL, 5 );
 2165 
 2166 
 2167     SecurityTokensPage->SetSizer( bSizer127 );
 2168     SecurityTokensPage->Layout();
 2169     bSizer127->Fit( SecurityTokensPage );
 2170     PreferencesNotebook->AddPage( SecurityTokensPage, _("Security Tokens"), false );
 2171     HotkeysPage = new wxPanel( PreferencesNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
 2172     wxBoxSizer* bSizer51;
 2173     bSizer51 = new wxBoxSizer( wxVERTICAL );
 2174 
 2175     wxBoxSizer* bSizer38;
 2176     bSizer38 = new wxBoxSizer( wxVERTICAL );
 2177 
 2178     wxStaticBoxSizer* sbSizer21;
 2179     sbSizer21 = new wxStaticBoxSizer( new wxStaticBox( HotkeysPage, wxID_ANY, _("System-Wide Hotkeys") ), wxVERTICAL );
 2180 
 2181     HotkeyListCtrl = new wxListCtrl( HotkeysPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SINGLE_SEL|wxLC_VRULES|wxSUNKEN_BORDER );
 2182     sbSizer21->Add( HotkeyListCtrl, 1, wxALL|wxEXPAND, 5 );
 2183 
 2184     wxStaticBoxSizer* sbSizer23;
 2185     sbSizer23 = new wxStaticBoxSizer( new wxStaticBox( HotkeysPage, wxID_ANY, _("Shortcut") ), wxVERTICAL );
 2186 
 2187     wxFlexGridSizer* fgSizer4;
 2188     fgSizer4 = new wxFlexGridSizer( 2, 3, 0, 0 );
 2189     fgSizer4->SetFlexibleDirection( wxBOTH );
 2190     fgSizer4->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 2191 
 2192     wxStaticText* m_staticText10;
 2193     m_staticText10 = new wxStaticText( HotkeysPage, wxID_ANY, _("Key to assign:"), wxDefaultPosition, wxDefaultSize, 0 );
 2194     m_staticText10->Wrap( -1 );
 2195     fgSizer4->Add( m_staticText10, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
 2196 
 2197     HotkeyTextCtrl = new wxTextCtrl( HotkeysPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2198     HotkeyTextCtrl->SetMaxLength( 0 );
 2199     fgSizer4->Add( HotkeyTextCtrl, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 2200 
 2201     AssignHotkeyButton = new wxButton( HotkeysPage, wxID_ANY, _("Assign"), wxDefaultPosition, wxDefaultSize, 0 );
 2202     fgSizer4->Add( AssignHotkeyButton, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2203 
 2204 
 2205     fgSizer4->Add( 0, 0, 1, wxEXPAND, 5 );
 2206 
 2207     wxGridSizer* gSizer4;
 2208     gSizer4 = new wxGridSizer( 1, 4, 0, 0 );
 2209 
 2210     HotkeyControlCheckBox = new wxCheckBox( HotkeysPage, wxID_ANY, _("Control"), wxDefaultPosition, wxDefaultSize, 0 );
 2211     gSizer4->Add( HotkeyControlCheckBox, 0, wxALL, 5 );
 2212 
 2213     HotkeyShiftCheckBox = new wxCheckBox( HotkeysPage, wxID_ANY, _("Shift"), wxDefaultPosition, wxDefaultSize, 0 );
 2214     gSizer4->Add( HotkeyShiftCheckBox, 0, wxALL, 5 );
 2215 
 2216     HotkeyAltCheckBox = new wxCheckBox( HotkeysPage, wxID_ANY, _("Alt"), wxDefaultPosition, wxDefaultSize, 0 );
 2217     gSizer4->Add( HotkeyAltCheckBox, 0, wxALL, 5 );
 2218 
 2219     HotkeyWinCheckBox = new wxCheckBox( HotkeysPage, wxID_ANY, _("Win"), wxDefaultPosition, wxDefaultSize, 0 );
 2220     gSizer4->Add( HotkeyWinCheckBox, 0, wxALL, 5 );
 2221 
 2222 
 2223     fgSizer4->Add( gSizer4, 1, wxEXPAND, 5 );
 2224 
 2225     RemoveHotkeyButton = new wxButton( HotkeysPage, wxID_ANY, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 );
 2226     fgSizer4->Add( RemoveHotkeyButton, 1, wxALL, 5 );
 2227 
 2228 
 2229     sbSizer23->Add( fgSizer4, 1, wxALIGN_RIGHT, 5 );
 2230 
 2231 
 2232     sbSizer21->Add( sbSizer23, 0, wxEXPAND|wxALL, 5 );
 2233 
 2234     wxStaticBoxSizer* sbSizer24;
 2235     sbSizer24 = new wxStaticBoxSizer( new wxStaticBox( HotkeysPage, wxID_ANY, _("Options") ), wxVERTICAL );
 2236 
 2237     BeepAfterHotkeyMountDismountCheckBox = new wxCheckBox( HotkeysPage, wxID_ANY, _("Play system notification sound after mount/dismount"), wxDefaultPosition, wxDefaultSize, 0 );
 2238     sbSizer24->Add( BeepAfterHotkeyMountDismountCheckBox, 0, wxALL, 5 );
 2239 
 2240     DisplayMessageAfterHotkeyDismountCheckBox = new wxCheckBox( HotkeysPage, wxID_ANY, _("Display confirmation message box after dismount"), wxDefaultPosition, wxDefaultSize, 0 );
 2241     sbSizer24->Add( DisplayMessageAfterHotkeyDismountCheckBox, 0, wxALL, 5 );
 2242 
 2243 
 2244     sbSizer21->Add( sbSizer24, 0, wxEXPAND|wxALL, 5 );
 2245 
 2246 
 2247     bSizer38->Add( sbSizer21, 1, wxEXPAND|wxALL, 5 );
 2248 
 2249 
 2250     bSizer51->Add( bSizer38, 1, wxEXPAND|wxALL, 5 );
 2251 
 2252 
 2253     HotkeysPage->SetSizer( bSizer51 );
 2254     HotkeysPage->Layout();
 2255     bSizer51->Fit( HotkeysPage );
 2256     PreferencesNotebook->AddPage( HotkeysPage, _("Hotkeys"), false );
 2257 
 2258     bSizer41->Add( PreferencesNotebook, 1, wxEXPAND | wxALL, 5 );
 2259 
 2260     StdButtons = new wxStdDialogButtonSizer();
 2261     StdButtonsOK = new wxButton( this, wxID_OK );
 2262     StdButtons->AddButton( StdButtonsOK );
 2263     StdButtonsCancel = new wxButton( this, wxID_CANCEL );
 2264     StdButtons->AddButton( StdButtonsCancel );
 2265     StdButtons->Realize();
 2266 
 2267     bSizer41->Add( StdButtons, 0, wxEXPAND|wxALL, 5 );
 2268 
 2269 
 2270     bSizer32->Add( bSizer41, 1, wxEXPAND|wxALL, 5 );
 2271 
 2272 
 2273     this->SetSizer( bSizer32 );
 2274     this->Layout();
 2275     bSizer32->Fit( this );
 2276 
 2277     // Connect Events
 2278     this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( PreferencesDialogBase::OnClose ) );
 2279     DismountOnScreenSaverCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnDismountOnScreenSaverCheckBoxClick ), NULL, this );
 2280     DismountOnPowerSavingCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnDismountOnPowerSavingCheckBoxClick ), NULL, this );
 2281     ForceAutoDismountCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnForceAutoDismountCheckBoxClick ), NULL, this );
 2282     PreserveTimestampsCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnPreserveTimestampsCheckBoxClick ), NULL, this );
 2283     BackgroundTaskEnabledCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnBackgroundTaskEnabledCheckBoxClick ), NULL, this );
 2284     NoKernelCryptoCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnNoKernelCryptoCheckBoxClick ), NULL, this );
 2285     NoHardwareCryptoCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnNoHardwareCryptoCheckBoxClick ), NULL, this );
 2286     SelectPkcs11ModuleButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnSelectPkcs11ModuleButtonClick ), NULL, this );
 2287     HotkeyListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( PreferencesDialogBase::OnHotkeyListItemDeselected ), NULL, this );
 2288     HotkeyListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( PreferencesDialogBase::OnHotkeyListItemSelected ), NULL, this );
 2289     AssignHotkeyButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnAssignHotkeyButtonClick ), NULL, this );
 2290     RemoveHotkeyButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnRemoveHotkeyButtonClick ), NULL, this );
 2291     StdButtonsCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnCancelButtonClick ), NULL, this );
 2292     StdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnOKButtonClick ), NULL, this );
 2293 }
 2294 
 2295 PreferencesDialogBase::~PreferencesDialogBase()
 2296 {
 2297     // Disconnect Events
 2298     this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( PreferencesDialogBase::OnClose ) );
 2299     DismountOnScreenSaverCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnDismountOnScreenSaverCheckBoxClick ), NULL, this );
 2300     DismountOnPowerSavingCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnDismountOnPowerSavingCheckBoxClick ), NULL, this );
 2301     ForceAutoDismountCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnForceAutoDismountCheckBoxClick ), NULL, this );
 2302     PreserveTimestampsCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnPreserveTimestampsCheckBoxClick ), NULL, this );
 2303     BackgroundTaskEnabledCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnBackgroundTaskEnabledCheckBoxClick ), NULL, this );
 2304     NoKernelCryptoCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnNoKernelCryptoCheckBoxClick ), NULL, this );
 2305     NoHardwareCryptoCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnNoHardwareCryptoCheckBoxClick ), NULL, this );
 2306     SelectPkcs11ModuleButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnSelectPkcs11ModuleButtonClick ), NULL, this );
 2307     HotkeyListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( PreferencesDialogBase::OnHotkeyListItemDeselected ), NULL, this );
 2308     HotkeyListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( PreferencesDialogBase::OnHotkeyListItemSelected ), NULL, this );
 2309     AssignHotkeyButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnAssignHotkeyButtonClick ), NULL, this );
 2310     RemoveHotkeyButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnRemoveHotkeyButtonClick ), NULL, this );
 2311     StdButtonsCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnCancelButtonClick ), NULL, this );
 2312     StdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PreferencesDialogBase::OnOKButtonClick ), NULL, this );
 2313 
 2314 }
 2315 
 2316 RandomPoolEnrichmentDialogBase::RandomPoolEnrichmentDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 2317 {
 2318     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 2319 
 2320     MainSizer = new wxBoxSizer( wxVERTICAL );
 2321 
 2322     wxBoxSizer* bSizer144;
 2323     bSizer144 = new wxBoxSizer( wxVERTICAL );
 2324 
 2325     wxBoxSizer* bSizer145;
 2326     bSizer145 = new wxBoxSizer( wxHORIZONTAL );
 2327 
 2328 
 2329     bSizer145->Add( 0, 0, 1, wxEXPAND, 5 );
 2330 
 2331     wxStaticText* m_staticText49;
 2332     m_staticText49 = new wxStaticText( this, wxID_ANY, _("Mixing PRF:"), wxDefaultPosition, wxDefaultSize, 0 );
 2333     m_staticText49->Wrap( -1 );
 2334     bSizer145->Add( m_staticText49, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2335 
 2336     wxArrayString HashChoiceChoices;
 2337     HashChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, HashChoiceChoices, 0 );
 2338     HashChoice->SetSelection( 0 );
 2339     bSizer145->Add( HashChoice, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2340 
 2341 
 2342     bSizer145->Add( 0, 0, 1, wxEXPAND, 5 );
 2343 
 2344 
 2345     bSizer144->Add( bSizer145, 0, wxEXPAND, 5 );
 2346 
 2347     wxStaticBoxSizer* sbSizer43;
 2348     sbSizer43 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
 2349 
 2350     wxBoxSizer* bSizer147;
 2351     bSizer147 = new wxBoxSizer( wxHORIZONTAL );
 2352 
 2353     wxStaticText* m_staticText52;
 2354     m_staticText52 = new wxStaticText( this, wxID_ANY, _("Random Pool:"), wxDefaultPosition, wxDefaultSize, 0 );
 2355     m_staticText52->Wrap( -1 );
 2356     bSizer147->Add( m_staticText52, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 2357 
 2358     RandomPoolStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2359     RandomPoolStaticText->Wrap( -1 );
 2360     RandomPoolStaticText->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxT("Courier New") ) );
 2361 
 2362     bSizer147->Add( RandomPoolStaticText, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2363 
 2364     ShowRandomPoolCheckBox = new wxCheckBox( this, wxID_ANY, _("Show"), wxDefaultPosition, wxDefaultSize, 0 );
 2365     bSizer147->Add( ShowRandomPoolCheckBox, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2366 
 2367 
 2368     sbSizer43->Add( bSizer147, 0, wxEXPAND|wxTOP, 5 );
 2369 
 2370 
 2371     sbSizer43->Add( 0, 0, 1, wxEXPAND, 5 );
 2372 
 2373     wxStaticBoxSizer* sbSizer45;
 2374     sbSizer45 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Randomness Collected From Mouse Movements") ), wxVERTICAL );
 2375 
 2376     CollectedEntropy = new wxGauge( this, wxID_ANY, 2560, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL|wxGA_SMOOTH );
 2377     CollectedEntropy->SetValue( 0 );
 2378     sbSizer45->Add( CollectedEntropy, 0, wxALL|wxEXPAND, 5 );
 2379 
 2380 
 2381     sbSizer43->Add( sbSizer45, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
 2382 
 2383 
 2384     sbSizer43->Add( 0, 0, 1, wxEXPAND, 5 );
 2385 
 2386     MouseStaticText = new wxStaticText( this, wxID_ANY, _("IMPORTANT: Move your mouse as randomly as possible within this window. The longer you move it, the better. This significantly increases security. When done, click 'Continue'."), wxDefaultPosition, wxDefaultSize, 0 );
 2387     MouseStaticText->Wrap( -1 );
 2388     sbSizer43->Add( MouseStaticText, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
 2389 
 2390 
 2391     sbSizer43->Add( 0, 0, 1, wxEXPAND, 5 );
 2392 
 2393 
 2394     bSizer144->Add( sbSizer43, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 2395 
 2396     wxBoxSizer* bSizer146;
 2397     bSizer146 = new wxBoxSizer( wxHORIZONTAL );
 2398 
 2399 
 2400     bSizer146->Add( 0, 0, 1, wxEXPAND, 5 );
 2401 
 2402     ContinueButton = new wxButton( this, wxID_OK, _("&Continue"), wxDefaultPosition, wxDefaultSize, 0 );
 2403     ContinueButton->SetDefault();
 2404     bSizer146->Add( ContinueButton, 0, wxALL, 5 );
 2405 
 2406 
 2407     bSizer146->Add( 0, 0, 1, wxEXPAND, 5 );
 2408 
 2409 
 2410     bSizer144->Add( bSizer146, 0, wxEXPAND, 5 );
 2411 
 2412 
 2413     MainSizer->Add( bSizer144, 1, wxEXPAND|wxALL, 5 );
 2414 
 2415 
 2416     this->SetSizer( MainSizer );
 2417     this->Layout();
 2418     MainSizer->Fit( this );
 2419 
 2420     this->Centre( wxBOTH );
 2421 
 2422     // Connect Events
 2423     this->Connect( wxEVT_MOTION, wxMouseEventHandler( RandomPoolEnrichmentDialogBase::OnMouseMotion ) );
 2424     HashChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( RandomPoolEnrichmentDialogBase::OnHashSelected ), NULL, this );
 2425     ShowRandomPoolCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( RandomPoolEnrichmentDialogBase::OnShowRandomPoolCheckBoxClicked ), NULL, this );
 2426 }
 2427 
 2428 RandomPoolEnrichmentDialogBase::~RandomPoolEnrichmentDialogBase()
 2429 {
 2430     // Disconnect Events
 2431     this->Disconnect( wxEVT_MOTION, wxMouseEventHandler( RandomPoolEnrichmentDialogBase::OnMouseMotion ) );
 2432     HashChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( RandomPoolEnrichmentDialogBase::OnHashSelected ), NULL, this );
 2433     ShowRandomPoolCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( RandomPoolEnrichmentDialogBase::OnShowRandomPoolCheckBoxClicked ), NULL, this );
 2434 
 2435 }
 2436 
 2437 SecurityTokenKeyfilesDialogBase::SecurityTokenKeyfilesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 2438 {
 2439     this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
 2440     this->SetExtraStyle( GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY );
 2441 
 2442     wxBoxSizer* bSizer3;
 2443     bSizer3 = new wxBoxSizer( wxVERTICAL );
 2444 
 2445     wxBoxSizer* bSizer138;
 2446     bSizer138 = new wxBoxSizer( wxHORIZONTAL );
 2447 
 2448     wxBoxSizer* bSizer142;
 2449     bSizer142 = new wxBoxSizer( wxVERTICAL );
 2450 
 2451     SecurityTokenKeyfileListCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_VRULES|wxSUNKEN_BORDER );
 2452     bSizer142->Add( SecurityTokenKeyfileListCtrl, 1, wxALL|wxEXPAND, 5 );
 2453 
 2454     wxBoxSizer* bSizer141;
 2455     bSizer141 = new wxBoxSizer( wxHORIZONTAL );
 2456 
 2457     ExportButton = new wxButton( this, wxID_ANY, _("&Export..."), wxDefaultPosition, wxDefaultSize, 0 );
 2458     bSizer141->Add( ExportButton, 0, wxALL, 5 );
 2459 
 2460     DeleteButton = new wxButton( this, wxID_ANY, _("&Delete"), wxDefaultPosition, wxDefaultSize, 0 );
 2461     bSizer141->Add( DeleteButton, 0, wxALL, 5 );
 2462 
 2463 
 2464     bSizer141->Add( 0, 0, 1, wxEXPAND|wxLEFT, 5 );
 2465 
 2466     ImportButton = new wxButton( this, wxID_ANY, _("&Import Keyfile to Token..."), wxDefaultPosition, wxDefaultSize, 0 );
 2467     bSizer141->Add( ImportButton, 0, wxALL, 5 );
 2468 
 2469 
 2470     bSizer142->Add( bSizer141, 0, wxEXPAND, 5 );
 2471 
 2472 
 2473     bSizer138->Add( bSizer142, 1, wxEXPAND, 5 );
 2474 
 2475     wxBoxSizer* bSizer139;
 2476     bSizer139 = new wxBoxSizer( wxVERTICAL );
 2477 
 2478     OKButton = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
 2479     OKButton->SetDefault();
 2480     bSizer139->Add( OKButton, 0, wxALL, 5 );
 2481 
 2482     CancelButton = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
 2483     bSizer139->Add( CancelButton, 0, wxALL, 5 );
 2484 
 2485 
 2486     bSizer138->Add( bSizer139, 0, wxEXPAND, 5 );
 2487 
 2488 
 2489     bSizer3->Add( bSizer138, 1, wxEXPAND|wxALL, 5 );
 2490 
 2491 
 2492     this->SetSizer( bSizer3 );
 2493     this->Layout();
 2494     bSizer3->Fit( this );
 2495 
 2496     // Connect Events
 2497     SecurityTokenKeyfileListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( SecurityTokenKeyfilesDialogBase::OnListItemActivated ), NULL, this );
 2498     SecurityTokenKeyfileListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( SecurityTokenKeyfilesDialogBase::OnListItemDeselected ), NULL, this );
 2499     SecurityTokenKeyfileListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( SecurityTokenKeyfilesDialogBase::OnListItemSelected ), NULL, this );
 2500     ExportButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SecurityTokenKeyfilesDialogBase::OnExportButtonClick ), NULL, this );
 2501     DeleteButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SecurityTokenKeyfilesDialogBase::OnDeleteButtonClick ), NULL, this );
 2502     ImportButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SecurityTokenKeyfilesDialogBase::OnImportButtonClick ), NULL, this );
 2503     OKButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SecurityTokenKeyfilesDialogBase::OnOKButtonClick ), NULL, this );
 2504 }
 2505 
 2506 SecurityTokenKeyfilesDialogBase::~SecurityTokenKeyfilesDialogBase()
 2507 {
 2508     // Disconnect Events
 2509     SecurityTokenKeyfileListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( SecurityTokenKeyfilesDialogBase::OnListItemActivated ), NULL, this );
 2510     SecurityTokenKeyfileListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( SecurityTokenKeyfilesDialogBase::OnListItemDeselected ), NULL, this );
 2511     SecurityTokenKeyfileListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( SecurityTokenKeyfilesDialogBase::OnListItemSelected ), NULL, this );
 2512     ExportButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SecurityTokenKeyfilesDialogBase::OnExportButtonClick ), NULL, this );
 2513     DeleteButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SecurityTokenKeyfilesDialogBase::OnDeleteButtonClick ), NULL, this );
 2514     ImportButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SecurityTokenKeyfilesDialogBase::OnImportButtonClick ), NULL, this );
 2515     OKButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SecurityTokenKeyfilesDialogBase::OnOKButtonClick ), NULL, this );
 2516 
 2517 }
 2518 
 2519 VolumePropertiesDialogBase::VolumePropertiesDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 2520 {
 2521     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 2522 
 2523     wxBoxSizer* bSizer49;
 2524     bSizer49 = new wxBoxSizer( wxVERTICAL );
 2525 
 2526     wxBoxSizer* bSizer50;
 2527     bSizer50 = new wxBoxSizer( wxVERTICAL );
 2528 
 2529     PropertiesListCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_VRULES|wxSUNKEN_BORDER );
 2530     bSizer50->Add( PropertiesListCtrl, 1, wxALL|wxEXPAND, 5 );
 2531 
 2532     StdButtons = new wxStdDialogButtonSizer();
 2533     StdButtonsOK = new wxButton( this, wxID_OK );
 2534     StdButtons->AddButton( StdButtonsOK );
 2535     StdButtons->Realize();
 2536 
 2537     bSizer50->Add( StdButtons, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
 2538 
 2539 
 2540     bSizer49->Add( bSizer50, 1, wxEXPAND|wxALL, 5 );
 2541 
 2542 
 2543     this->SetSizer( bSizer49 );
 2544     this->Layout();
 2545     bSizer49->Fit( this );
 2546 }
 2547 
 2548 VolumePropertiesDialogBase::~VolumePropertiesDialogBase()
 2549 {
 2550 }
 2551 
 2552 EncryptionOptionsWizardPageBase::EncryptionOptionsWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 2553 {
 2554     wxBoxSizer* bSizer93;
 2555     bSizer93 = new wxBoxSizer( wxVERTICAL );
 2556 
 2557     wxBoxSizer* bSizer94;
 2558     bSizer94 = new wxBoxSizer( wxVERTICAL );
 2559 
 2560     wxBoxSizer* bSizer95;
 2561     bSizer95 = new wxBoxSizer( wxVERTICAL );
 2562 
 2563     wxStaticBoxSizer* sbSizer29;
 2564     sbSizer29 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Encryption Algorithm") ), wxVERTICAL );
 2565 
 2566     wxBoxSizer* bSizer96;
 2567     bSizer96 = new wxBoxSizer( wxHORIZONTAL );
 2568 
 2569     wxArrayString EncryptionAlgorithmChoiceChoices;
 2570     EncryptionAlgorithmChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, EncryptionAlgorithmChoiceChoices, 0 );
 2571     EncryptionAlgorithmChoice->SetSelection( 0 );
 2572     bSizer96->Add( EncryptionAlgorithmChoice, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2573 
 2574     TestButton = new wxButton( this, wxID_ANY, _("&Test"), wxDefaultPosition, wxDefaultSize, 0 );
 2575     bSizer96->Add( TestButton, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
 2576 
 2577 
 2578     sbSizer29->Add( bSizer96, 0, wxEXPAND, 5 );
 2579 
 2580     EncryptionAlgorithmStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2581     EncryptionAlgorithmStaticText->Wrap( -1 );
 2582     sbSizer29->Add( EncryptionAlgorithmStaticText, 1, wxALL|wxEXPAND, 5 );
 2583 
 2584     wxBoxSizer* bSizer97;
 2585     bSizer97 = new wxBoxSizer( wxHORIZONTAL );
 2586 
 2587     EncryptionAlgorithmHyperlink = new wxHyperlinkCtrl( this, wxID_ANY, _("More information"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
 2588 
 2589     EncryptionAlgorithmHyperlink->SetHoverColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 2590     EncryptionAlgorithmHyperlink->SetNormalColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 2591     EncryptionAlgorithmHyperlink->SetVisitedColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 2592     bSizer97->Add( EncryptionAlgorithmHyperlink, 0, wxALL, 5 );
 2593 
 2594 
 2595     bSizer97->Add( 0, 0, 1, wxEXPAND, 5 );
 2596 
 2597     BenchmarkButton = new wxButton( this, wxID_ANY, _("&Benchmark"), wxDefaultPosition, wxDefaultSize, 0 );
 2598     bSizer97->Add( BenchmarkButton, 0, wxALL, 5 );
 2599 
 2600 
 2601     sbSizer29->Add( bSizer97, 0, wxEXPAND, 5 );
 2602 
 2603 
 2604     bSizer95->Add( sbSizer29, 1, wxEXPAND|wxALL, 5 );
 2605 
 2606     wxStaticBoxSizer* sbSizer30;
 2607     sbSizer30 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Hash Algorithm") ), wxHORIZONTAL );
 2608 
 2609     wxArrayString HashChoiceChoices;
 2610     HashChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, HashChoiceChoices, 0 );
 2611     HashChoice->SetSelection( 0 );
 2612     sbSizer30->Add( HashChoice, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2613 
 2614     HashHyperlink = new wxHyperlinkCtrl( this, wxID_ANY, _("Information on hash algorithms"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
 2615 
 2616     HashHyperlink->SetHoverColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 2617     HashHyperlink->SetNormalColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 2618     HashHyperlink->SetVisitedColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT ) );
 2619     sbSizer30->Add( HashHyperlink, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2620 
 2621 
 2622     bSizer95->Add( sbSizer30, 0, wxEXPAND|wxALL, 5 );
 2623 
 2624 
 2625     bSizer94->Add( bSizer95, 1, wxEXPAND, 5 );
 2626 
 2627 
 2628     bSizer93->Add( bSizer94, 1, wxEXPAND, 5 );
 2629 
 2630 
 2631     this->SetSizer( bSizer93 );
 2632     this->Layout();
 2633     bSizer93->Fit( this );
 2634 
 2635     // Connect Events
 2636     EncryptionAlgorithmChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( EncryptionOptionsWizardPageBase::OnEncryptionAlgorithmSelected ), NULL, this );
 2637     TestButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionOptionsWizardPageBase::OnTestButtonClick ), NULL, this );
 2638     EncryptionAlgorithmHyperlink->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( EncryptionOptionsWizardPageBase::OnEncryptionAlgorithmHyperlinkClick ), NULL, this );
 2639     BenchmarkButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionOptionsWizardPageBase::OnBenchmarkButtonClick ), NULL, this );
 2640     HashHyperlink->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( EncryptionOptionsWizardPageBase::OnHashHyperlinkClick ), NULL, this );
 2641 }
 2642 
 2643 EncryptionOptionsWizardPageBase::~EncryptionOptionsWizardPageBase()
 2644 {
 2645     // Disconnect Events
 2646     EncryptionAlgorithmChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( EncryptionOptionsWizardPageBase::OnEncryptionAlgorithmSelected ), NULL, this );
 2647     TestButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionOptionsWizardPageBase::OnTestButtonClick ), NULL, this );
 2648     EncryptionAlgorithmHyperlink->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( EncryptionOptionsWizardPageBase::OnEncryptionAlgorithmHyperlinkClick ), NULL, this );
 2649     BenchmarkButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( EncryptionOptionsWizardPageBase::OnBenchmarkButtonClick ), NULL, this );
 2650     HashHyperlink->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( EncryptionOptionsWizardPageBase::OnHashHyperlinkClick ), NULL, this );
 2651 
 2652 }
 2653 
 2654 InfoWizardPageBase::InfoWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 2655 {
 2656     wxBoxSizer* bSizer71;
 2657     bSizer71 = new wxBoxSizer( wxVERTICAL );
 2658 
 2659     InfoPageSizer = new wxBoxSizer( wxVERTICAL );
 2660 
 2661     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2662     InfoStaticText->Wrap( -1 );
 2663     InfoPageSizer->Add( InfoStaticText, 1, wxALL|wxEXPAND, 5 );
 2664 
 2665 
 2666     bSizer71->Add( InfoPageSizer, 1, wxEXPAND, 5 );
 2667 
 2668 
 2669     this->SetSizer( bSizer71 );
 2670     this->Layout();
 2671     bSizer71->Fit( this );
 2672 }
 2673 
 2674 InfoWizardPageBase::~InfoWizardPageBase()
 2675 {
 2676 }
 2677 
 2678 KeyfilesPanelBase::KeyfilesPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
 2679 {
 2680     this->SetMinSize( wxSize( 500,300 ) );
 2681 
 2682     wxBoxSizer* bSizer19;
 2683     bSizer19 = new wxBoxSizer( wxVERTICAL );
 2684 
 2685     wxBoxSizer* bSizer20;
 2686     bSizer20 = new wxBoxSizer( wxHORIZONTAL );
 2687 
 2688     wxBoxSizer* bSizer21;
 2689     bSizer21 = new wxBoxSizer( wxVERTICAL );
 2690 
 2691     KeyfilesListCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxSUNKEN_BORDER );
 2692     bSizer21->Add( KeyfilesListCtrl, 1, wxEXPAND|wxALL, 5 );
 2693 
 2694     wxBoxSizer* bSizer137;
 2695     bSizer137 = new wxBoxSizer( wxHORIZONTAL );
 2696 
 2697     AddFilesButton = new wxButton( this, wxID_ANY, _("Add &Files..."), wxDefaultPosition, wxDefaultSize, 0 );
 2698     bSizer137->Add( AddFilesButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
 2699 
 2700     AddDirectoryButton = new wxButton( this, wxID_ANY, _("Add &Path..."), wxDefaultPosition, wxDefaultSize, 0 );
 2701     bSizer137->Add( AddDirectoryButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
 2702 
 2703     AddSecurityTokenSignatureButton = new wxButton( this, wxID_ANY, _("Add &Token Files..."), wxDefaultPosition, wxDefaultSize, 0 );
 2704     bSizer137->Add( AddSecurityTokenSignatureButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
 2705 
 2706     RemoveButton = new wxButton( this, wxID_ANY, _("&Remove"), wxDefaultPosition, wxDefaultSize, 0 );
 2707     bSizer137->Add( RemoveButton, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
 2708 
 2709     RemoveAllButton = new wxButton( this, wxID_ANY, _("Remove &All"), wxDefaultPosition, wxDefaultSize, 0 );
 2710     bSizer137->Add( RemoveAllButton, 0, wxEXPAND|wxALL, 5 );
 2711 
 2712 
 2713     bSizer21->Add( bSizer137, 0, wxEXPAND, 5 );
 2714 
 2715 
 2716     bSizer20->Add( bSizer21, 1, wxEXPAND, 5 );
 2717 
 2718 
 2719     bSizer19->Add( bSizer20, 1, wxEXPAND, 5 );
 2720 
 2721 
 2722     this->SetSizer( bSizer19 );
 2723     this->Layout();
 2724     bSizer19->Fit( this );
 2725 
 2726     // Connect Events
 2727     KeyfilesListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( KeyfilesPanelBase::OnListItemDeselected ), NULL, this );
 2728     KeyfilesListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( KeyfilesPanelBase::OnListItemSelected ), NULL, this );
 2729     KeyfilesListCtrl->Connect( wxEVT_SIZE, wxSizeEventHandler( KeyfilesPanelBase::OnListSizeChanged ), NULL, this );
 2730     AddFilesButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnAddFilesButtonClick ), NULL, this );
 2731     AddDirectoryButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnAddDirectoryButtonClick ), NULL, this );
 2732     AddSecurityTokenSignatureButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnAddSecurityTokenSignatureButtonClick ), NULL, this );
 2733     RemoveButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnRemoveButtonClick ), NULL, this );
 2734     RemoveAllButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnRemoveAllButtonClick ), NULL, this );
 2735 }
 2736 
 2737 KeyfilesPanelBase::~KeyfilesPanelBase()
 2738 {
 2739     // Disconnect Events
 2740     KeyfilesListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( KeyfilesPanelBase::OnListItemDeselected ), NULL, this );
 2741     KeyfilesListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( KeyfilesPanelBase::OnListItemSelected ), NULL, this );
 2742     KeyfilesListCtrl->Disconnect( wxEVT_SIZE, wxSizeEventHandler( KeyfilesPanelBase::OnListSizeChanged ), NULL, this );
 2743     AddFilesButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnAddFilesButtonClick ), NULL, this );
 2744     AddDirectoryButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnAddDirectoryButtonClick ), NULL, this );
 2745     AddSecurityTokenSignatureButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnAddSecurityTokenSignatureButtonClick ), NULL, this );
 2746     RemoveButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnRemoveButtonClick ), NULL, this );
 2747     RemoveAllButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( KeyfilesPanelBase::OnRemoveAllButtonClick ), NULL, this );
 2748 
 2749 }
 2750 
 2751 ProgressWizardPageBase::ProgressWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 2752 {
 2753     wxBoxSizer* bSizer81;
 2754     bSizer81 = new wxBoxSizer( wxVERTICAL );
 2755 
 2756     wxBoxSizer* bSizer82;
 2757     bSizer82 = new wxBoxSizer( wxVERTICAL );
 2758 
 2759     ProgressSizer = new wxBoxSizer( wxHORIZONTAL );
 2760 
 2761     ProgressGauge = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( -1,-1 ), wxGA_HORIZONTAL|wxGA_SMOOTH );
 2762     ProgressGauge->SetValue( 0 );
 2763     ProgressSizer->Add( ProgressGauge, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2764 
 2765     AbortButton = new wxButton( this, wxID_ANY, _("&Abort"), wxDefaultPosition, wxDefaultSize, 0 );
 2766     AbortButton->Enable( false );
 2767 
 2768     ProgressSizer->Add( AbortButton, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
 2769 
 2770 
 2771     bSizer82->Add( ProgressSizer, 0, wxEXPAND, 5 );
 2772 
 2773     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2774     InfoStaticText->Wrap( -1 );
 2775     bSizer82->Add( InfoStaticText, 0, wxALL|wxEXPAND, 5 );
 2776 
 2777 
 2778     bSizer81->Add( bSizer82, 0, wxEXPAND, 5 );
 2779 
 2780 
 2781     this->SetSizer( bSizer81 );
 2782     this->Layout();
 2783     bSizer81->Fit( this );
 2784 
 2785     // Connect Events
 2786     AbortButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProgressWizardPageBase::OnAbortButtonClick ), NULL, this );
 2787 }
 2788 
 2789 ProgressWizardPageBase::~ProgressWizardPageBase()
 2790 {
 2791     // Disconnect Events
 2792     AbortButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProgressWizardPageBase::OnAbortButtonClick ), NULL, this );
 2793 
 2794 }
 2795 
 2796 SelectDirectoryWizardPageBase::SelectDirectoryWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 2797 {
 2798     this->SetMinSize( wxSize( 200,65 ) );
 2799 
 2800     wxBoxSizer* bSizer68;
 2801     bSizer68 = new wxBoxSizer( wxVERTICAL );
 2802 
 2803     wxBoxSizer* bSizer69;
 2804     bSizer69 = new wxBoxSizer( wxVERTICAL );
 2805 
 2806     wxBoxSizer* bSizer70;
 2807     bSizer70 = new wxBoxSizer( wxHORIZONTAL );
 2808 
 2809     DirectoryTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2810     DirectoryTextCtrl->SetMaxLength( 0 );
 2811     bSizer70->Add( DirectoryTextCtrl, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2812 
 2813     BrowseButton = new wxButton( this, wxID_ANY, _("&Browse..."), wxDefaultPosition, wxDefaultSize, 0 );
 2814     bSizer70->Add( BrowseButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2815 
 2816 
 2817     bSizer69->Add( bSizer70, 0, wxEXPAND, 5 );
 2818 
 2819     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2820     InfoStaticText->Wrap( 300 );
 2821     bSizer69->Add( InfoStaticText, 1, wxALL|wxEXPAND, 5 );
 2822 
 2823 
 2824     bSizer68->Add( bSizer69, 1, wxEXPAND, 5 );
 2825 
 2826 
 2827     this->SetSizer( bSizer68 );
 2828     this->Layout();
 2829     bSizer68->Fit( this );
 2830 
 2831     // Connect Events
 2832     DirectoryTextCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( SelectDirectoryWizardPageBase::OnDirectoryTextChanged ), NULL, this );
 2833     BrowseButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SelectDirectoryWizardPageBase::OnBrowseButtonClick ), NULL, this );
 2834 }
 2835 
 2836 SelectDirectoryWizardPageBase::~SelectDirectoryWizardPageBase()
 2837 {
 2838     // Disconnect Events
 2839     DirectoryTextCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( SelectDirectoryWizardPageBase::OnDirectoryTextChanged ), NULL, this );
 2840     BrowseButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SelectDirectoryWizardPageBase::OnBrowseButtonClick ), NULL, this );
 2841 
 2842 }
 2843 
 2844 SingleChoiceWizardPageBase::SingleChoiceWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 2845 {
 2846     wxBoxSizer* bSizer71;
 2847     bSizer71 = new wxBoxSizer( wxVERTICAL );
 2848 
 2849     wxBoxSizer* bSizer77;
 2850     bSizer77 = new wxBoxSizer( wxVERTICAL );
 2851 
 2852 
 2853     bSizer77->Add( 0, 0, 0, wxEXPAND|wxTOP, 5 );
 2854 
 2855     OuterChoicesSizer = new wxBoxSizer( wxVERTICAL );
 2856 
 2857     ChoicesSizer = new wxBoxSizer( wxVERTICAL );
 2858 
 2859 
 2860     OuterChoicesSizer->Add( ChoicesSizer, 0, wxEXPAND, 5 );
 2861 
 2862 
 2863     bSizer77->Add( OuterChoicesSizer, 0, wxEXPAND, 5 );
 2864 
 2865     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2866     InfoStaticText->Wrap( -1 );
 2867     bSizer77->Add( InfoStaticText, 1, wxALL|wxEXPAND, 5 );
 2868 
 2869 
 2870     bSizer71->Add( bSizer77, 1, wxEXPAND, 5 );
 2871 
 2872 
 2873     this->SetSizer( bSizer71 );
 2874     this->Layout();
 2875     bSizer71->Fit( this );
 2876 }
 2877 
 2878 SingleChoiceWizardPageBase::~SingleChoiceWizardPageBase()
 2879 {
 2880 }
 2881 
 2882 VolumeCreationProgressWizardPageBase::VolumeCreationProgressWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 2883 {
 2884     wxBoxSizer* bSizer104;
 2885     bSizer104 = new wxBoxSizer( wxVERTICAL );
 2886 
 2887     wxBoxSizer* bSizer105;
 2888     bSizer105 = new wxBoxSizer( wxVERTICAL );
 2889 
 2890     wxStaticBoxSizer* sbSizer31;
 2891     sbSizer31 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
 2892 
 2893     KeySamplesUpperSizer = new wxBoxSizer( wxVERTICAL );
 2894 
 2895     KeySamplesUpperInnerSizer = new wxBoxSizer( wxVERTICAL );
 2896 
 2897 
 2898     KeySamplesUpperSizer->Add( KeySamplesUpperInnerSizer, 1, wxEXPAND|wxTOP, 3 );
 2899 
 2900 
 2901     sbSizer31->Add( KeySamplesUpperSizer, 1, wxEXPAND, 30 );
 2902 
 2903     wxFlexGridSizer* fgSizer5;
 2904     fgSizer5 = new wxFlexGridSizer( 3, 2, 0, 0 );
 2905     fgSizer5->SetFlexibleDirection( wxBOTH );
 2906     fgSizer5->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 2907 
 2908     wxStaticText* m_staticText25;
 2909     m_staticText25 = new wxStaticText( this, wxID_ANY, _("Random Pool:"), wxDefaultPosition, wxDefaultSize, 0 );
 2910     m_staticText25->Wrap( -1 );
 2911     fgSizer5->Add( m_staticText25, 0, wxALL|wxALIGN_RIGHT|wxALIGN_BOTTOM, 5 );
 2912 
 2913     wxBoxSizer* bSizer126;
 2914     bSizer126 = new wxBoxSizer( wxHORIZONTAL );
 2915 
 2916     RandomPoolSampleStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2917     RandomPoolSampleStaticText->Wrap( -1 );
 2918     RandomPoolSampleStaticText->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxT("Courier New") ) );
 2919 
 2920     bSizer126->Add( RandomPoolSampleStaticText, 0, wxEXPAND|wxTOP|wxRIGHT|wxALIGN_BOTTOM, 7 );
 2921 
 2922     DisplayKeysCheckBox = new wxCheckBox( this, wxID_ANY, _("Show"), wxDefaultPosition, wxDefaultSize, 0 );
 2923     bSizer126->Add( DisplayKeysCheckBox, 0, wxEXPAND|wxRIGHT, 5 );
 2924 
 2925 
 2926     fgSizer5->Add( bSizer126, 1, wxEXPAND|wxALIGN_BOTTOM, 5 );
 2927 
 2928     wxStaticText* m_staticText28;
 2929     m_staticText28 = new wxStaticText( this, wxID_ANY, _("Header Key:"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
 2930     m_staticText28->Wrap( -1 );
 2931     fgSizer5->Add( m_staticText28, 0, wxALIGN_RIGHT|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_BOTTOM, 5 );
 2932 
 2933     HeaderKeySampleStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2934     HeaderKeySampleStaticText->Wrap( -1 );
 2935     HeaderKeySampleStaticText->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxT("Courier New") ) );
 2936 
 2937     fgSizer5->Add( HeaderKeySampleStaticText, 0, wxALIGN_BOTTOM|wxEXPAND|wxTOP|wxRIGHT, 2 );
 2938 
 2939     wxStaticText* m_staticText29;
 2940     m_staticText29 = new wxStaticText( this, wxID_ANY, _("Master Key:"), wxDefaultPosition, wxDefaultSize, 0 );
 2941     m_staticText29->Wrap( -1 );
 2942     fgSizer5->Add( m_staticText29, 0, wxALIGN_RIGHT|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_BOTTOM, 5 );
 2943 
 2944     MasterKeySampleStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 2945     MasterKeySampleStaticText->Wrap( -1 );
 2946     MasterKeySampleStaticText->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxT("Courier New") ) );
 2947 
 2948     fgSizer5->Add( MasterKeySampleStaticText, 0, wxEXPAND|wxALIGN_BOTTOM|wxTOP|wxRIGHT, 2 );
 2949 
 2950 
 2951     sbSizer31->Add( fgSizer5, 0, wxEXPAND, 5 );
 2952 
 2953 
 2954     bSizer105->Add( sbSizer31, 0, wxALL|wxEXPAND, 5 );
 2955 
 2956     wxStaticBoxSizer* sbSizer45;
 2957     sbSizer45 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Randomness Collected From Mouse Movements") ), wxVERTICAL );
 2958 
 2959     CollectedEntropy = new wxGauge( this, wxID_ANY, 2560, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL|wxGA_SMOOTH );
 2960     CollectedEntropy->SetValue( 0 );
 2961     sbSizer45->Add( CollectedEntropy, 0, wxALL|wxEXPAND, 5 );
 2962 
 2963 
 2964     bSizer105->Add( sbSizer45, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
 2965 
 2966     wxStaticBoxSizer* sbSizer32;
 2967     sbSizer32 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxEmptyString ), wxVERTICAL );
 2968 
 2969     wxBoxSizer* bSizer106;
 2970     bSizer106 = new wxBoxSizer( wxHORIZONTAL );
 2971 
 2972     ProgressGauge = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL|wxGA_SMOOTH );
 2973     bSizer106->Add( ProgressGauge, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 2974 
 2975     AbortButton = new wxButton( this, wxID_ANY, _("Abort"), wxDefaultPosition, wxDefaultSize, 0 );
 2976     bSizer106->Add( AbortButton, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 2977 
 2978 
 2979     sbSizer32->Add( bSizer106, 0, wxEXPAND, 5 );
 2980 
 2981     wxGridSizer* gSizer6;
 2982     gSizer6 = new wxGridSizer( 1, 3, 0, 0 );
 2983 
 2984     wxBoxSizer* bSizer108;
 2985     bSizer108 = new wxBoxSizer( wxHORIZONTAL );
 2986 
 2987     m_staticText31 = new wxStaticText( this, wxID_ANY, _("Done"), wxDefaultPosition, wxDefaultSize, 0 );
 2988     m_staticText31->Wrap( -1 );
 2989     bSizer108->Add( m_staticText31, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
 2990 
 2991     m_panel12 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxSUNKEN_BORDER );
 2992     wxBoxSizer* bSizer115;
 2993     bSizer115 = new wxBoxSizer( wxHORIZONTAL );
 2994 
 2995     SizeDoneStaticText = new wxStaticText( m_panel12, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE );
 2996     SizeDoneStaticText->Wrap( -1 );
 2997     bSizer115->Add( SizeDoneStaticText, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALL, 3 );
 2998 
 2999 
 3000     m_panel12->SetSizer( bSizer115 );
 3001     m_panel12->Layout();
 3002     bSizer115->Fit( m_panel12 );
 3003     bSizer108->Add( m_panel12, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 3004 
 3005 
 3006     gSizer6->Add( bSizer108, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
 3007 
 3008     wxBoxSizer* bSizer1081;
 3009     bSizer1081 = new wxBoxSizer( wxHORIZONTAL );
 3010 
 3011     m_staticText311 = new wxStaticText( this, wxID_ANY, _("Speed"), wxDefaultPosition, wxDefaultSize, 0 );
 3012     m_staticText311->Wrap( -1 );
 3013     bSizer1081->Add( m_staticText311, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
 3014 
 3015     m_panel121 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER );
 3016     wxBoxSizer* bSizer1151;
 3017     bSizer1151 = new wxBoxSizer( wxHORIZONTAL );
 3018 
 3019     SpeedStaticText = new wxStaticText( m_panel121, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE );
 3020     SpeedStaticText->Wrap( -1 );
 3021     bSizer1151->Add( SpeedStaticText, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 );
 3022 
 3023 
 3024     m_panel121->SetSizer( bSizer1151 );
 3025     m_panel121->Layout();
 3026     bSizer1151->Fit( m_panel121 );
 3027     bSizer1081->Add( m_panel121, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
 3028 
 3029 
 3030     gSizer6->Add( bSizer1081, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
 3031 
 3032     wxBoxSizer* bSizer1082;
 3033     bSizer1082 = new wxBoxSizer( wxHORIZONTAL );
 3034 
 3035     m_staticText312 = new wxStaticText( this, wxID_ANY, _("Left"), wxDefaultPosition, wxDefaultSize, 0 );
 3036     m_staticText312->Wrap( -1 );
 3037     bSizer1082->Add( m_staticText312, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
 3038 
 3039     m_panel122 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
 3040     wxBoxSizer* bSizer1152;
 3041     bSizer1152 = new wxBoxSizer( wxHORIZONTAL );
 3042 
 3043     TimeLeftStaticText = new wxStaticText( m_panel122, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT|wxST_NO_AUTORESIZE );
 3044     TimeLeftStaticText->Wrap( -1 );
 3045     bSizer1152->Add( TimeLeftStaticText, 1, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 3 );
 3046 
 3047 
 3048     m_panel122->SetSizer( bSizer1152 );
 3049     m_panel122->Layout();
 3050     bSizer1152->Fit( m_panel122 );
 3051     bSizer1082->Add( m_panel122, 1, wxALL|wxEXPAND, 5 );
 3052 
 3053 
 3054     gSizer6->Add( bSizer1082, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
 3055 
 3056 
 3057     sbSizer32->Add( gSizer6, 0, wxEXPAND|wxTOP, 2 );
 3058 
 3059 
 3060     bSizer105->Add( sbSizer32, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
 3061 
 3062     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 3063     InfoStaticText->Wrap( -1 );
 3064     bSizer105->Add( InfoStaticText, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
 3065 
 3066 
 3067     bSizer104->Add( bSizer105, 1, wxEXPAND, 5 );
 3068 
 3069 
 3070     this->SetSizer( bSizer104 );
 3071     this->Layout();
 3072     bSizer104->Fit( this );
 3073 
 3074     // Connect Events
 3075     DisplayKeysCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumeCreationProgressWizardPageBase::OnDisplayKeysCheckBoxClick ), NULL, this );
 3076     AbortButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( VolumeCreationProgressWizardPageBase::OnAbortButtonClick ), NULL, this );
 3077 }
 3078 
 3079 VolumeCreationProgressWizardPageBase::~VolumeCreationProgressWizardPageBase()
 3080 {
 3081     // Disconnect Events
 3082     DisplayKeysCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumeCreationProgressWizardPageBase::OnDisplayKeysCheckBoxClick ), NULL, this );
 3083     AbortButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( VolumeCreationProgressWizardPageBase::OnAbortButtonClick ), NULL, this );
 3084 
 3085 }
 3086 
 3087 VolumeLocationWizardPageBase::VolumeLocationWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 3088 {
 3089     wxBoxSizer* bSizer86;
 3090     bSizer86 = new wxBoxSizer( wxVERTICAL );
 3091 
 3092     wxBoxSizer* bSizer87;
 3093     bSizer87 = new wxBoxSizer( wxVERTICAL );
 3094 
 3095 
 3096     bSizer87->Add( 0, 0, 0, wxEXPAND|wxTOP, 5 );
 3097 
 3098     wxBoxSizer* bSizer88;
 3099     bSizer88 = new wxBoxSizer( wxHORIZONTAL );
 3100 
 3101     wxBoxSizer* bSizer89;
 3102     bSizer89 = new wxBoxSizer( wxVERTICAL );
 3103 
 3104     wxBoxSizer* bSizer126;
 3105     bSizer126 = new wxBoxSizer( wxHORIZONTAL );
 3106 
 3107     VolumePathComboBox = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN );
 3108     bSizer126->Add( VolumePathComboBox, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
 3109 
 3110     wxBoxSizer* bSizer90;
 3111     bSizer90 = new wxBoxSizer( wxVERTICAL );
 3112 
 3113     SelectFileButton = new wxButton( this, wxID_ANY, _("Select &File..."), wxDefaultPosition, wxDefaultSize, 0 );
 3114     bSizer90->Add( SelectFileButton, 0, wxALL|wxEXPAND, 5 );
 3115 
 3116     SelectDeviceButton = new wxButton( this, wxID_ANY, _("Select D&evice..."), wxDefaultPosition, wxDefaultSize, 0 );
 3117     bSizer90->Add( SelectDeviceButton, 0, wxALL|wxEXPAND, 5 );
 3118 
 3119 
 3120     bSizer126->Add( bSizer90, 0, wxALIGN_CENTER_VERTICAL, 5 );
 3121 
 3122 
 3123     bSizer89->Add( bSizer126, 0, wxEXPAND, 5 );
 3124 
 3125     wxBoxSizer* bSizer91;
 3126     bSizer91 = new wxBoxSizer( wxHORIZONTAL );
 3127 
 3128 
 3129     bSizer91->Add( 0, 0, 0, wxLEFT, 5 );
 3130 
 3131     NoHistoryCheckBox = new wxCheckBox( this, wxID_ANY, _("&Never save history"), wxDefaultPosition, wxDefaultSize, 0 );
 3132     bSizer91->Add( NoHistoryCheckBox, 0, wxALL|wxEXPAND, 5 );
 3133 
 3134 
 3135     bSizer89->Add( bSizer91, 0, wxEXPAND, 5 );
 3136 
 3137 
 3138     bSizer88->Add( bSizer89, 1, wxEXPAND, 5 );
 3139 
 3140 
 3141     bSizer87->Add( bSizer88, 0, wxEXPAND, 5 );
 3142 
 3143 
 3144     bSizer87->Add( 0, 0, 0, wxEXPAND|wxBOTTOM, 5 );
 3145 
 3146     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 3147     InfoStaticText->Wrap( -1 );
 3148     bSizer87->Add( InfoStaticText, 0, wxALL|wxEXPAND, 5 );
 3149 
 3150 
 3151     bSizer86->Add( bSizer87, 1, wxEXPAND, 5 );
 3152 
 3153 
 3154     this->SetSizer( bSizer86 );
 3155     this->Layout();
 3156     bSizer86->Fit( this );
 3157 
 3158     // Connect Events
 3159     VolumePathComboBox->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumeLocationWizardPageBase::OnVolumePathTextChanged ), NULL, this );
 3160     SelectFileButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( VolumeLocationWizardPageBase::OnSelectFileButtonClick ), NULL, this );
 3161     SelectDeviceButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( VolumeLocationWizardPageBase::OnSelectDeviceButtonClick ), NULL, this );
 3162     NoHistoryCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumeLocationWizardPageBase::OnNoHistoryCheckBoxClick ), NULL, this );
 3163 }
 3164 
 3165 VolumeLocationWizardPageBase::~VolumeLocationWizardPageBase()
 3166 {
 3167     // Disconnect Events
 3168     VolumePathComboBox->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumeLocationWizardPageBase::OnVolumePathTextChanged ), NULL, this );
 3169     SelectFileButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( VolumeLocationWizardPageBase::OnSelectFileButtonClick ), NULL, this );
 3170     SelectDeviceButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( VolumeLocationWizardPageBase::OnSelectDeviceButtonClick ), NULL, this );
 3171     NoHistoryCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumeLocationWizardPageBase::OnNoHistoryCheckBoxClick ), NULL, this );
 3172 
 3173 }
 3174 
 3175 VolumeFormatOptionsWizardPageBase::VolumeFormatOptionsWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 3176 {
 3177     wxBoxSizer* bSizer124;
 3178     bSizer124 = new wxBoxSizer( wxVERTICAL );
 3179 
 3180     wxBoxSizer* bSizer125;
 3181     bSizer125 = new wxBoxSizer( wxVERTICAL );
 3182 
 3183     wxStaticBoxSizer* sbSizer33;
 3184     sbSizer33 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Filesystem Options") ), wxVERTICAL );
 3185 
 3186     wxFlexGridSizer* fgSizer6;
 3187     fgSizer6 = new wxFlexGridSizer( 2, 2, 0, 0 );
 3188     fgSizer6->SetFlexibleDirection( wxBOTH );
 3189     fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 3190 
 3191     m_staticText43 = new wxStaticText( this, wxID_ANY, _("Filesystem type:"), wxDefaultPosition, wxDefaultSize, 0 );
 3192     m_staticText43->Wrap( -1 );
 3193     fgSizer6->Add( m_staticText43, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
 3194 
 3195     wxArrayString FilesystemTypeChoiceChoices;
 3196     FilesystemTypeChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, FilesystemTypeChoiceChoices, 0 );
 3197     FilesystemTypeChoice->SetSelection( 0 );
 3198     fgSizer6->Add( FilesystemTypeChoice, 0, wxALL, 5 );
 3199 
 3200 
 3201     sbSizer33->Add( fgSizer6, 1, wxEXPAND, 5 );
 3202 
 3203 
 3204     bSizer125->Add( sbSizer33, 0, wxEXPAND|wxALL, 5 );
 3205 
 3206     wxStaticBoxSizer* sbSizer34;
 3207     sbSizer34 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Volume Format Options") ), wxVERTICAL );
 3208 
 3209     QuickFormatCheckBox = new wxCheckBox( this, wxID_ANY, _("Quick format"), wxDefaultPosition, wxDefaultSize, 0 );
 3210     sbSizer34->Add( QuickFormatCheckBox, 0, wxALL, 5 );
 3211 
 3212 
 3213     bSizer125->Add( sbSizer34, 0, wxEXPAND|wxALL, 5 );
 3214 
 3215 
 3216     bSizer125->Add( 0, 0, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 );
 3217 
 3218     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 3219     InfoStaticText->Wrap( -1 );
 3220     bSizer125->Add( InfoStaticText, 0, wxALL, 5 );
 3221 
 3222 
 3223     bSizer124->Add( bSizer125, 0, wxEXPAND, 5 );
 3224 
 3225 
 3226     this->SetSizer( bSizer124 );
 3227     this->Layout();
 3228     bSizer124->Fit( this );
 3229 
 3230     // Connect Events
 3231     FilesystemTypeChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( VolumeFormatOptionsWizardPageBase::OnFilesystemTypeSelected ), NULL, this );
 3232     QuickFormatCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumeFormatOptionsWizardPageBase::OnQuickFormatCheckBoxClick ), NULL, this );
 3233 }
 3234 
 3235 VolumeFormatOptionsWizardPageBase::~VolumeFormatOptionsWizardPageBase()
 3236 {
 3237     // Disconnect Events
 3238     FilesystemTypeChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( VolumeFormatOptionsWizardPageBase::OnFilesystemTypeSelected ), NULL, this );
 3239     QuickFormatCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumeFormatOptionsWizardPageBase::OnQuickFormatCheckBoxClick ), NULL, this );
 3240 
 3241 }
 3242 
 3243 VolumePasswordPanelBase::VolumePasswordPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
 3244 {
 3245     wxBoxSizer* bSizer7;
 3246     bSizer7 = new wxBoxSizer( wxVERTICAL );
 3247 
 3248     GridBagSizer = new wxGridBagSizer( 0, 0 );
 3249     GridBagSizer->SetFlexibleDirection( wxBOTH );
 3250     GridBagSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
 3251     GridBagSizer->SetEmptyCellSize( wxSize( 0,0 ) );
 3252 
 3253     PasswordStaticText = new wxStaticText( this, wxID_ANY, _("Password:"), wxDefaultPosition, wxDefaultSize, 0 );
 3254     PasswordStaticText->Wrap( -1 );
 3255     GridBagSizer->Add( PasswordStaticText, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxBOTTOM|wxRIGHT, 5 );
 3256 
 3257     PasswordTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD );
 3258     PasswordTextCtrl->SetMaxLength( 1 );
 3259     PasswordTextCtrl->SetMinSize( wxSize( 232,-1 ) );
 3260 
 3261     GridBagSizer->Add( PasswordTextCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxBOTTOM|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
 3262 
 3263     ConfirmPasswordStaticText = new wxStaticText( this, wxID_ANY, _("Confirm password:"), wxDefaultPosition, wxDefaultSize, 0 );
 3264     ConfirmPasswordStaticText->Wrap( -1 );
 3265     GridBagSizer->Add( ConfirmPasswordStaticText, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
 3266 
 3267     ConfirmPasswordTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD );
 3268     ConfirmPasswordTextCtrl->SetMaxLength( 1 );
 3269     ConfirmPasswordTextCtrl->SetMinSize( wxSize( 232,-1 ) );
 3270 
 3271     GridBagSizer->Add( ConfirmPasswordTextCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxBOTTOM|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
 3272 
 3273     VolumePimStaticText = new wxStaticText( this, wxID_ANY, _("Volume PIM:"), wxDefaultPosition, wxDefaultSize, 0 );
 3274     VolumePimStaticText->Wrap( -1 );
 3275     GridBagSizer->Add( VolumePimStaticText, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxBOTTOM|wxRIGHT, 5 );
 3276 
 3277     VolumePimTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD );
 3278     VolumePimTextCtrl->SetMaxLength( 7 );
 3279     GridBagSizer->Add( VolumePimTextCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND, 5 );
 3280 
 3281     VolumePimHelpStaticText = new wxStaticText( this, wxID_ANY, _("(Empty or 0 for default iterations)"), wxDefaultPosition, wxDefaultSize, 0 );
 3282     VolumePimHelpStaticText->Wrap( -1 );
 3283     GridBagSizer->Add( VolumePimHelpStaticText, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
 3284 
 3285     PimCheckBox = new wxCheckBox( this, wxID_ANY, _("Use PIM"), wxDefaultPosition, wxDefaultSize, 0 );
 3286     GridBagSizer->Add( PimCheckBox, wxGBPosition( 4, 1 ), wxGBSpan( 1, 2 ), wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 3287 
 3288     CacheCheckBox = new wxCheckBox( this, wxID_ANY, _("Cach&e passwords and keyfiles in memory "), wxDefaultPosition, wxDefaultSize, 0 );
 3289     GridBagSizer->Add( CacheCheckBox, wxGBPosition( 5, 1 ), wxGBSpan( 1, 2 ), wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 3290 
 3291     DisplayPasswordCheckBox = new wxCheckBox( this, wxID_ANY, _("&Display password"), wxDefaultPosition, wxDefaultSize, 0 );
 3292     GridBagSizer->Add( DisplayPasswordCheckBox, wxGBPosition( 6, 1 ), wxGBSpan( 1, 2 ), wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
 3293 
 3294     UseKeyfilesCheckBox = new wxCheckBox( this, wxID_ANY, _("U&se keyfiles"), wxDefaultPosition, wxDefaultSize, 0 );
 3295     GridBagSizer->Add( UseKeyfilesCheckBox, wxGBPosition( 7, 1 ), wxGBSpan( 1, 1 ), wxTOP|wxRIGHT|wxLEFT, 5 );
 3296 
 3297     KeyfilesButton = new wxButton( this, wxID_ANY, _("&Keyfiles..."), wxDefaultPosition, wxDefaultSize, 0 );
 3298     GridBagSizer->Add( KeyfilesButton, wxGBPosition( 7, 2 ), wxGBSpan( 1, 1 ), wxALIGN_RIGHT|wxALIGN_BOTTOM|wxLEFT, 5 );
 3299 
 3300     Pkcs5PrfSizer = new wxBoxSizer( wxVERTICAL );
 3301 
 3302 
 3303     GridBagSizer->Add( Pkcs5PrfSizer, wxGBPosition( 8, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxTOP|wxBOTTOM, 5 );
 3304 
 3305     Pkcs5PrfStaticText = new wxStaticText( this, wxID_ANY, _("PKCS-5 PRF:"), wxDefaultPosition, wxDefaultSize, 0 );
 3306     Pkcs5PrfStaticText->Wrap( -1 );
 3307     GridBagSizer->Add( Pkcs5PrfStaticText, wxGBPosition( 9, 0 ), wxGBSpan( 1, 1 ), wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
 3308 
 3309     wxString Pkcs5PrfChoiceChoices[] = { _("Unchanged") };
 3310     int Pkcs5PrfChoiceNChoices = sizeof( Pkcs5PrfChoiceChoices ) / sizeof( wxString );
 3311     Pkcs5PrfChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, Pkcs5PrfChoiceNChoices, Pkcs5PrfChoiceChoices, 0 );
 3312     Pkcs5PrfChoice->SetSelection( 0 );
 3313     GridBagSizer->Add( Pkcs5PrfChoice, wxGBPosition( 9, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
 3314 
 3315     TrueCryptModeCheckBox = new wxCheckBox( this, wxID_ANY, _("TrueCrypt Mode"), wxDefaultPosition, wxDefaultSize, 0 );
 3316     GridBagSizer->Add( TrueCryptModeCheckBox, wxGBPosition( 9, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
 3317 
 3318     HeaderWipeCountText = new wxStaticText( this, wxID_ANY, _("Header Wipe:"), wxDefaultPosition, wxDefaultSize, 0 );
 3319     HeaderWipeCountText->Wrap( -1 );
 3320     GridBagSizer->Add( HeaderWipeCountText, wxGBPosition( 10, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxRIGHT, 5 );
 3321 
 3322     wxString HeaderWipeCountChoices[] = { _("1-pass"), _("3-pass"), _("7-pass"), _("35-pass"), _("256-pass") };
 3323     int HeaderWipeCountNChoices = sizeof( HeaderWipeCountChoices ) / sizeof( wxString );
 3324     HeaderWipeCount = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, HeaderWipeCountNChoices, HeaderWipeCountChoices, 0 );
 3325     HeaderWipeCount->SetSelection( 1 );
 3326     GridBagSizer->Add( HeaderWipeCount, wxGBPosition( 10, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
 3327 
 3328     PasswordPlaceholderSizer = new wxBoxSizer( wxVERTICAL );
 3329 
 3330 
 3331     GridBagSizer->Add( PasswordPlaceholderSizer, wxGBPosition( 11, 1 ), wxGBSpan( 1, 2 ), wxTOP|wxEXPAND, 5 );
 3332 
 3333 
 3334     GridBagSizer->AddGrowableCol( 1 );
 3335 
 3336     bSizer7->Add( GridBagSizer, 1, wxALL|wxEXPAND, 5 );
 3337 
 3338 
 3339     this->SetSizer( bSizer7 );
 3340     this->Layout();
 3341     bSizer7->Fit( this );
 3342 
 3343     // Connect Events
 3344     PasswordTextCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumePasswordPanelBase::OnTextChanged ), NULL, this );
 3345     ConfirmPasswordTextCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumePasswordPanelBase::OnTextChanged ), NULL, this );
 3346     VolumePimTextCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumePasswordPanelBase::OnPimChanged ), NULL, this );
 3347     PimCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnUsePimCheckBoxClick ), NULL, this );
 3348     DisplayPasswordCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnDisplayPasswordCheckBoxClick ), NULL, this );
 3349     UseKeyfilesCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnUseKeyfilesCheckBoxClick ), NULL, this );
 3350     KeyfilesButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnKeyfilesButtonClick ), NULL, this );
 3351     KeyfilesButton->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( VolumePasswordPanelBase::OnKeyfilesButtonRightDown ), NULL, this );
 3352     KeyfilesButton->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( VolumePasswordPanelBase::OnKeyfilesButtonRightClick ), NULL, this );
 3353     TrueCryptModeCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnTrueCryptModeChecked ), NULL, this );
 3354 }
 3355 
 3356 VolumePasswordPanelBase::~VolumePasswordPanelBase()
 3357 {
 3358     // Disconnect Events
 3359     PasswordTextCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumePasswordPanelBase::OnTextChanged ), NULL, this );
 3360     ConfirmPasswordTextCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumePasswordPanelBase::OnTextChanged ), NULL, this );
 3361     VolumePimTextCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumePasswordPanelBase::OnPimChanged ), NULL, this );
 3362     PimCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnUsePimCheckBoxClick ), NULL, this );
 3363     DisplayPasswordCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnDisplayPasswordCheckBoxClick ), NULL, this );
 3364     UseKeyfilesCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnUseKeyfilesCheckBoxClick ), NULL, this );
 3365     KeyfilesButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnKeyfilesButtonClick ), NULL, this );
 3366     KeyfilesButton->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( VolumePasswordPanelBase::OnKeyfilesButtonRightDown ), NULL, this );
 3367     KeyfilesButton->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( VolumePasswordPanelBase::OnKeyfilesButtonRightClick ), NULL, this );
 3368     TrueCryptModeCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePasswordPanelBase::OnTrueCryptModeChecked ), NULL, this );
 3369 
 3370 }
 3371 
 3372 VolumePasswordWizardPageBase::VolumePasswordWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 3373 {
 3374     wxBoxSizer* bSizer101;
 3375     bSizer101 = new wxBoxSizer( wxVERTICAL );
 3376 
 3377     wxBoxSizer* bSizer102;
 3378     bSizer102 = new wxBoxSizer( wxVERTICAL );
 3379 
 3380     PasswordPanelSizer = new wxBoxSizer( wxVERTICAL );
 3381 
 3382 
 3383     bSizer102->Add( PasswordPanelSizer, 0, wxEXPAND, 5 );
 3384 
 3385     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 3386     InfoStaticText->Wrap( -1 );
 3387     bSizer102->Add( InfoStaticText, 0, wxALL|wxEXPAND, 5 );
 3388 
 3389 
 3390     bSizer101->Add( bSizer102, 1, wxEXPAND, 5 );
 3391 
 3392 
 3393     this->SetSizer( bSizer101 );
 3394     this->Layout();
 3395     bSizer101->Fit( this );
 3396 }
 3397 
 3398 VolumePasswordWizardPageBase::~VolumePasswordWizardPageBase()
 3399 {
 3400 }
 3401 
 3402 VolumePimWizardPageBase::VolumePimWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 3403 {
 3404     wxBoxSizer* bSizer101;
 3405     bSizer101 = new wxBoxSizer( wxVERTICAL );
 3406 
 3407     wxBoxSizer* bSizer102;
 3408     bSizer102 = new wxBoxSizer( wxVERTICAL );
 3409 
 3410     PimPanelSizer = new wxBoxSizer( wxVERTICAL );
 3411 
 3412     PimSizer = new wxBoxSizer( wxHORIZONTAL );
 3413 
 3414     VolumePimStaticText = new wxStaticText( this, wxID_ANY, _("Volume PIM:"), wxDefaultPosition, wxDefaultSize, 0 );
 3415     VolumePimStaticText->Wrap( -1 );
 3416     PimSizer->Add( VolumePimStaticText, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 3417 
 3418     VolumePimTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD );
 3419     VolumePimTextCtrl->SetMaxLength( 7 );
 3420     PimSizer->Add( VolumePimTextCtrl, 0, wxALL, 5 );
 3421 
 3422     VolumePimHelpStaticText = new wxStaticText( this, wxID_ANY, _("(Empty or 0 for default iterations)"), wxDefaultPosition, wxDefaultSize, 0 );
 3423     VolumePimHelpStaticText->Wrap( -1 );
 3424     PimSizer->Add( VolumePimHelpStaticText, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
 3425 
 3426 
 3427     PimPanelSizer->Add( PimSizer, 1, wxEXPAND, 5 );
 3428 
 3429     wxBoxSizer* bSizer166;
 3430     bSizer166 = new wxBoxSizer( wxHORIZONTAL );
 3431 
 3432     DisplayPimCheckBox = new wxCheckBox( this, wxID_ANY, _("&Display PIM"), wxDefaultPosition, wxDefaultSize, 0 );
 3433     bSizer166->Add( DisplayPimCheckBox, 1, wxALL|wxEXPAND, 5 );
 3434 
 3435 
 3436     PimPanelSizer->Add( bSizer166, 1, wxEXPAND, 5 );
 3437 
 3438 
 3439     bSizer102->Add( PimPanelSizer, 0, wxEXPAND, 5 );
 3440 
 3441     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 3442     InfoStaticText->Wrap( -1 );
 3443     bSizer102->Add( InfoStaticText, 0, wxALL|wxEXPAND, 5 );
 3444 
 3445 
 3446     bSizer101->Add( bSizer102, 1, wxEXPAND, 5 );
 3447 
 3448 
 3449     this->SetSizer( bSizer101 );
 3450     this->Layout();
 3451     bSizer101->Fit( this );
 3452 
 3453     // Connect Events
 3454     VolumePimTextCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumePimWizardPageBase::OnPimChanged ), NULL, this );
 3455     DisplayPimCheckBox->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePimWizardPageBase::OnDisplayPimCheckBoxClick ), NULL, this );
 3456 }
 3457 
 3458 VolumePimWizardPageBase::~VolumePimWizardPageBase()
 3459 {
 3460     // Disconnect Events
 3461     VolumePimTextCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumePimWizardPageBase::OnPimChanged ), NULL, this );
 3462     DisplayPimCheckBox->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( VolumePimWizardPageBase::OnDisplayPimCheckBoxClick ), NULL, this );
 3463 
 3464 }
 3465 
 3466 VolumeSizeWizardPageBase::VolumeSizeWizardPageBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : WizardPage( parent, id, pos, size, style )
 3467 {
 3468     wxBoxSizer* bSizer98;
 3469     bSizer98 = new wxBoxSizer( wxVERTICAL );
 3470 
 3471     wxBoxSizer* bSizer99;
 3472     bSizer99 = new wxBoxSizer( wxVERTICAL );
 3473 
 3474 
 3475     bSizer99->Add( 0, 0, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
 3476 
 3477     wxBoxSizer* bSizer100;
 3478     bSizer100 = new wxBoxSizer( wxHORIZONTAL );
 3479 
 3480     VolumeSizeTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 3481     VolumeSizeTextCtrl->SetMaxLength( 0 );
 3482     bSizer100->Add( VolumeSizeTextCtrl, 0, wxALL, 5 );
 3483 
 3484     wxArrayString VolumeSizePrefixChoiceChoices;
 3485     VolumeSizePrefixChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, VolumeSizePrefixChoiceChoices, 0 );
 3486     VolumeSizePrefixChoice->SetSelection( 0 );
 3487     bSizer100->Add( VolumeSizePrefixChoice, 0, wxALL, 5 );
 3488 
 3489 
 3490     bSizer99->Add( bSizer100, 0, wxEXPAND, 5 );
 3491 
 3492 
 3493     bSizer99->Add( 0, 0, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
 3494 
 3495     FreeSpaceStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 3496     FreeSpaceStaticText->Wrap( -1 );
 3497     bSizer99->Add( FreeSpaceStaticText, 0, wxALL|wxEXPAND, 5 );
 3498 
 3499 
 3500     bSizer99->Add( 0, 0, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
 3501 
 3502     InfoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
 3503     InfoStaticText->Wrap( -1 );
 3504     bSizer99->Add( InfoStaticText, 0, wxALL|wxEXPAND, 5 );
 3505 
 3506 
 3507     bSizer98->Add( bSizer99, 0, wxEXPAND, 5 );
 3508 
 3509 
 3510     this->SetSizer( bSizer98 );
 3511     this->Layout();
 3512     bSizer98->Fit( this );
 3513 
 3514     // Connect Events
 3515     VolumeSizeTextCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumeSizeWizardPageBase::OnVolumeSizeTextChanged ), NULL, this );
 3516     VolumeSizePrefixChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( VolumeSizeWizardPageBase::OnVolumeSizePrefixSelected ), NULL, this );
 3517 }
 3518 
 3519 VolumeSizeWizardPageBase::~VolumeSizeWizardPageBase()
 3520 {
 3521     // Disconnect Events
 3522     VolumeSizeTextCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( VolumeSizeWizardPageBase::OnVolumeSizeTextChanged ), NULL, this );
 3523     VolumeSizePrefixChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( VolumeSizeWizardPageBase::OnVolumeSizePrefixSelected ), NULL, this );
 3524 
 3525 }
 3526 
 3527 WaitDialogBase::WaitDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
 3528 {
 3529     this->SetSizeHints( wxDefaultSize, wxDefaultSize );
 3530 
 3531     wxBoxSizer* bSizer160;
 3532     bSizer160 = new wxBoxSizer( wxVERTICAL );
 3533 
 3534     WaitStaticText = new wxStaticText( this, wxID_ANY, _("MyLabel"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
 3535     WaitStaticText->Wrap( -1 );
 3536     bSizer160->Add( WaitStaticText, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );
 3537 
 3538     WaitProgessBar = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL|wxGA_SMOOTH );
 3539     WaitProgessBar->SetValue( 0 );
 3540     bSizer160->Add( WaitProgessBar, 0, wxALL|wxEXPAND, 5 );
 3541 
 3542 
 3543     this->SetSizer( bSizer160 );
 3544     this->Layout();
 3545     bSizer160->Fit( this );
 3546 
 3547     this->Centre( wxBOTH );
 3548 
 3549     // Connect Events
 3550     this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( WaitDialogBase::OnWaitDialogClose ) );
 3551     this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( WaitDialogBase::OnWaitDialogInit ) );
 3552 }
 3553 
 3554 WaitDialogBase::~WaitDialogBase()
 3555 {
 3556     // Disconnect Events
 3557     this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( WaitDialogBase::OnWaitDialogClose ) );
 3558     this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( WaitDialogBase::OnWaitDialogInit ) );
 3559 
 3560 }