Add common dialog wxCredentialEntryDialog

Prompting for user name and password is a common task.
At least windows provides these dialogs native but this
is just a generic implementation for now.
This commit is contained in:
Tobias Taschner
2018-10-23 19:58:34 +02:00
parent b11fbd0901
commit d756159f5d
32 changed files with 532 additions and 40 deletions

View File

@@ -110,6 +110,10 @@
#include "dialogs.h"
#if wxUSE_CREDENTIALDLG
#include "wx/creddlg.h"
#endif
#if USE_COLOURDLG_GENERIC
#include "wx/generic/colrdlgg.h"
#endif // USE_COLOURDLG_GENERIC
@@ -168,6 +172,10 @@ wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(DIALOGS_PASSWORD_ENTRY, MyFrame::PasswordEntry)
#endif // wxUSE_TEXTDLG
#if wxUSE_CREDENTIALDLG
EVT_MENU(DIALOGS_CREDENTIAL_ENTRY, MyFrame::CredentialEntry)
#endif // wxUSE_CREDENTIALDLG
#if wxUSE_NUMBERDLG
EVT_MENU(DIALOGS_NUM_ENTRY, MyFrame::NumericEntry)
#endif // wxUSE_NUMBERDLG
@@ -444,7 +452,7 @@ bool MyApp::OnInit()
#endif // wxUSE_COLOURDLG || wxUSE_FONTDLG || wxUSE_CHOICEDLG
#if wxUSE_TEXTDLG || wxUSE_NUMBERDLG
#if wxUSE_TEXTDLG || wxUSE_NUMBERDLG || wxUSE_CREDENTIALDLG
wxMenu *entry_menu = new wxMenu;
@@ -454,6 +462,10 @@ bool MyApp::OnInit()
entry_menu->Append(DIALOGS_PASSWORD_ENTRY, "&Password entry\tCtrl-P");
#endif // wxUSE_TEXTDLG
#if wxUSE_CREDENTIALDLG
entry_menu->Append(DIALOGS_CREDENTIAL_ENTRY, "&Credential entry\tShift-Ctrl-C");
#endif // wxUSE_CREDENTIALDLG
#if wxUSE_NUMBERDLG
entry_menu->Append(DIALOGS_NUM_ENTRY, "&Numeric entry\tCtrl-N");
#endif // wxUSE_NUMBERDLG
@@ -1083,6 +1095,20 @@ void MyFrame::TextEntry(wxCommandEvent& WXUNUSED(event))
}
#endif // wxUSE_TEXTDLG
#if wxUSE_CREDENTIALDLG
void MyFrame::CredentialEntry(wxCommandEvent& WXUNUSED(event))
{
wxCredentialEntryDialog dialog(this, "A login is required", "Credentials");
if (dialog.ShowModal() == wxID_OK)
{
wxMessageBox(
wxString::Format("User: %s Password: %s",
dialog.GetUser(), dialog.GetPassword()),
"Credentials", wxOK | wxICON_INFORMATION, this);
}
}
#endif // wxUSE_CREDENTIALDLG
#if wxUSE_CHOICEDLG
void MyFrame::SingleChoice(wxCommandEvent& WXUNUSED(event) )
{