summaryrefslogtreecommitdiff
path: root/Main/Forms/NewSecurityTokenKeyfileDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Main/Forms/NewSecurityTokenKeyfileDialog.cpp')
-rw-r--r--Main/Forms/NewSecurityTokenKeyfileDialog.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/Main/Forms/NewSecurityTokenKeyfileDialog.cpp b/Main/Forms/NewSecurityTokenKeyfileDialog.cpp
new file mode 100644
index 0000000..ed72825
--- /dev/null
+++ b/Main/Forms/NewSecurityTokenKeyfileDialog.cpp
@@ -0,0 +1,45 @@
+/*
+ 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.
+*/
+
+#include "System.h"
+#include "Main/GraphicUserInterface.h"
+#include "NewSecurityTokenKeyfileDialog.h"
+
+namespace TrueCrypt
+{
+ NewSecurityTokenKeyfileDialog::NewSecurityTokenKeyfileDialog (wxWindow* parent, const wstring &keyfileName) : NewSecurityTokenKeyfileDialogBase (parent)
+ {
+ list <SecurityTokenInfo> tokens = SecurityToken::GetAvailableTokens();
+
+ if (tokens.empty())
+ throw_err (LangString ["NO_TOKENS_FOUND"]);
+
+ foreach (const SecurityTokenInfo &token, tokens)
+ {
+ wstringstream tokenLabel;
+ tokenLabel << L"[" << token.SlotId << L"] " << token.Label;
+
+ SecurityTokenChoice->Append (tokenLabel.str(), (void *) token.SlotId);
+ }
+
+ SecurityTokenChoice->Select (0);
+ KeyfileNameTextCtrl->SetValue (keyfileName);
+
+ KeyfileNameTextCtrl->SetMinSize (wxSize (Gui->GetCharWidth (KeyfileNameTextCtrl) * 32, -1));
+
+ Fit();
+ Layout();
+ Center();
+ }
+
+ void NewSecurityTokenKeyfileDialog::OnKeyfileNameChanged (wxCommandEvent& event)
+ {
+ StdButtonsOK->Enable (!KeyfileNameTextCtrl->GetValue().empty());
+ event.Skip();
+ }
+}