|
|
1.1 ! root 1: /* ! 2: Copyright (c) 2008 TrueCrypt Foundation. All rights reserved. ! 3: ! 4: Governed by the TrueCrypt License 2.4 the full text of which is contained ! 5: in the file License.txt included in TrueCrypt binary and source code ! 6: distribution packages. ! 7: */ ! 8: ! 9: #ifndef TC_HEADER_Main_Forms_PasswordPanel ! 10: #define TC_HEADER_Main_Forms_PasswordPanel ! 11: ! 12: #include "Forms.h" ! 13: #include "Platform/Functor.h" ! 14: #include "Main/Main.h" ! 15: ! 16: namespace TrueCrypt ! 17: { ! 18: class VolumePasswordPanel : public VolumePasswordPanelBase ! 19: { ! 20: public: ! 21: VolumePasswordPanel (wxWindow* parent, shared_ptr <VolumePassword> password, shared_ptr <KeyfileList> keyfiles, bool enableCache = false, bool enablePassword = true, bool enableKeyfiles = true, bool enableConfirmation = false, bool enablePkcs5Prf = false, const wxString &passwordLabel = wxString()); ! 22: virtual ~VolumePasswordPanel (); ! 23: ! 24: void AddKeyfile (shared_ptr <Keyfile> keyfile); ! 25: shared_ptr <KeyfileList> GetKeyfiles () const { return UseKeyfilesCheckBox->IsChecked() ? Keyfiles : shared_ptr <KeyfileList> (); } ! 26: shared_ptr <VolumePassword> GetPassword () const; ! 27: shared_ptr <Pkcs5Kdf> GetPkcs5Kdf () const; ! 28: void SetCacheCheckBoxValidator (const wxGenericValidator &validator) { CacheCheckBox->SetValidator (validator); } ! 29: void SetFocusToPasswordTextCtrl () { PasswordTextCtrl->SetSelection (-1, -1); PasswordTextCtrl->SetFocus(); } ! 30: bool PasswordsMatch () const; ! 31: ! 32: Event UpdateEvent; ! 33: ! 34: protected: ! 35: void DisplayPassword (bool display, wxTextCtrl **textCtrl, int row); ! 36: shared_ptr <VolumePassword> GetPassword (wxTextCtrl *textCtrl) const; ! 37: void OnAddKeyfileDirMenuItemSelected (wxCommandEvent& event); ! 38: void OnAddKeyfilesMenuItemSelected (wxCommandEvent& event); ! 39: void OnConfigureKeyfilesMenuItemSelected (wxCommandEvent& event); ! 40: void OnDisplayPasswordCheckBoxClick (wxCommandEvent& event); ! 41: void OnKeyfilesButtonClick (wxCommandEvent& event); ! 42: void OnTextChanged (wxCommandEvent& event) { OnUpdate(); } ! 43: void OnUpdate () { UpdateEvent.Raise(); } ! 44: void OnUseKeyfilesCheckBoxClick (wxCommandEvent& event) { OnUpdate(); } ! 45: void WipeTextCtrl (wxTextCtrl *textCtrl); ! 46: ! 47: shared_ptr <KeyfileList> Keyfiles; ! 48: shared_ptr <Functor> UpdateCallback; ! 49: }; ! 50: } ! 51: ! 52: #endif // TC_HEADER_Main_Forms_PasswordPanel
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.