|
|
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.