From 3cb7fdea950dd2d0377f0d9ad8a88fcb7c48b842 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Wed, 14 Jul 2021 11:27:03 +1200 Subject: Initial mirror commit --- Main/Forms/VolumePasswordPanel.h | 54 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Main/Forms/VolumePasswordPanel.h (limited to 'Main/Forms/VolumePasswordPanel.h') diff --git a/Main/Forms/VolumePasswordPanel.h b/Main/Forms/VolumePasswordPanel.h new file mode 100644 index 0000000..8488cbd --- /dev/null +++ b/Main/Forms/VolumePasswordPanel.h @@ -0,0 +1,54 @@ +/* + Copyright (c) 2008 TrueCrypt Developers Association. All rights reserved. + + Governed by the TrueCrypt License 3.0 the full text of which is contained in + the file License.txt included in TrueCrypt binary and source code distribution + packages. +*/ + +#ifndef TC_HEADER_Main_Forms_PasswordPanel +#define TC_HEADER_Main_Forms_PasswordPanel + +#include "Forms.h" +#include "Platform/Functor.h" +#include "Main/Main.h" + +namespace TrueCrypt +{ + class VolumePasswordPanel : public VolumePasswordPanelBase + { + public: + VolumePasswordPanel (wxWindow* parent, shared_ptr password, shared_ptr keyfiles, bool enableCache = false, bool enablePassword = true, bool enableKeyfiles = true, bool enableConfirmation = false, bool enablePkcs5Prf = false, const wxString &passwordLabel = wxString()); + virtual ~VolumePasswordPanel (); + + void AddKeyfile (shared_ptr keyfile); + shared_ptr GetKeyfiles () const { return UseKeyfilesCheckBox->IsChecked() ? Keyfiles : shared_ptr (); } + shared_ptr GetPassword () const; + shared_ptr GetPkcs5Kdf () const; + void SetCacheCheckBoxValidator (const wxGenericValidator &validator) { CacheCheckBox->SetValidator (validator); } + void SetFocusToPasswordTextCtrl () { PasswordTextCtrl->SetSelection (-1, -1); PasswordTextCtrl->SetFocus(); } + bool PasswordsMatch () const; + + Event UpdateEvent; + + protected: + void DisplayPassword (bool display, wxTextCtrl **textCtrl, int row); + shared_ptr GetPassword (wxTextCtrl *textCtrl) const; + void OnAddKeyfileDirMenuItemSelected (wxCommandEvent& event); + void OnAddKeyfilesMenuItemSelected (wxCommandEvent& event); + void OnAddSecurityTokenSignatureMenuItemSelected (wxCommandEvent& event); + void OnDisplayPasswordCheckBoxClick (wxCommandEvent& event); + void OnKeyfilesButtonClick (wxCommandEvent& event); + void OnKeyfilesButtonRightClick (wxMouseEvent& event); + void OnKeyfilesButtonRightDown (wxMouseEvent& event); + void OnTextChanged (wxCommandEvent& event) { OnUpdate(); } + void OnUpdate () { UpdateEvent.Raise(); } + void OnUseKeyfilesCheckBoxClick (wxCommandEvent& event) { OnUpdate(); } + void WipeTextCtrl (wxTextCtrl *textCtrl); + + shared_ptr Keyfiles; + shared_ptr UpdateCallback; + }; +} + +#endif // TC_HEADER_Main_Forms_PasswordPanel -- cgit