1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// dlgPgpassConfig.cpp - Configure setting
//
//////////////////////////////////////////////////////////////////////////
// App headers
#include "pgAdmin3.h"
#include "dlg/dlgPgpassConfig.h"
#include "db/pgConn.h"
#include "db/pgSet.h"
// Icons
#include "images/property.pngc"
BEGIN_EVENT_TABLE(dlgPgpassConfig, DialogWithHelp)
EVT_BUTTON (wxID_OK, dlgPgpassConfig::OnOK)
EVT_BUTTON (wxID_CANCEL, dlgPgpassConfig::OnCancel)
EVT_CHECKBOX(XRCID("chkEnabled"), dlgPgpassConfig::OnChange)
EVT_TEXT(XRCID("txtHostname"), dlgPgpassConfig::OnChange)
EVT_TEXT(XRCID("txtPort"), dlgPgpassConfig::OnChange)
EVT_TEXT(XRCID("txtDatabase"), dlgPgpassConfig::OnChange)
EVT_TEXT(XRCID("txtUsername"), dlgPgpassConfig::OnChange)
EVT_TEXT(XRCID("txtPassword"), dlgPgpassConfig::OnChange)
EVT_TEXT(XRCID("txtRePassword"), dlgPgpassConfig::OnChange)
END_EVENT_TABLE()
#define chkEnabled CTRL_CHECKBOX("chkEnabled")
#define txtHostname CTRL_TEXT("txtHostname")
#define txtPort CTRL_TEXT("txtPort")
#define txtDatabase CTRL_TEXT("txtDatabase")
#define txtUsername CTRL_TEXT("txtUsername")
#define txtPassword CTRL_TEXT("txtPassword")
#define txtRePassword CTRL_TEXT("txtRePassword")
dlgPgpassConfig::dlgPgpassConfig(pgFrame *parent, pgPassConfigLine *_line) :
DialogWithHelp((frmMain *)parent)
{
SetFont(settings->GetSystemFont());
LoadResource((wxWindow *)parent, wxT("dlgPgpassConfig"));
userAdding = databaseAdding = false;
// Icon
SetIcon(*property_png_ico);
RestorePosition();
line = _line;
chkEnabled->SetValue(!line->isComment);
txtHostname->SetValue(line->hostname);
txtPort->SetValue(line->port);
txtDatabase->SetValue(line->database);
txtUsername->SetValue(line->username);
txtPassword->SetValue(line->password);
txtRePassword->SetValue(line->password);
btnOK->Disable();
}
dlgPgpassConfig::~dlgPgpassConfig()
{
SavePosition();
}
wxString dlgPgpassConfig::GetHelpPage() const
{
return wxT("pg/libpq-pgpass");
}
void dlgPgpassConfig::OnChange(wxCommandEvent &ev)
{
/* Add any required validation rules here */
wxString passwd = txtPassword->GetValue();
wxString repasswd = txtRePassword->GetValue();
if (passwd.IsEmpty() || (passwd.Length() > 1))
{
if (!passwd.compare(repasswd))
btnOK->Enable();
}
}
void dlgPgpassConfig::OnOK(wxCommandEvent &ev)
{
#ifdef __WXGTK__
if (!btnOK->IsEnabled())
return;
#endif
line->isComment = !chkEnabled->GetValue();
line->hostname = txtHostname->GetValue();
line->port = txtPort->GetValue();
line->database = txtDatabase->GetValue();
line->username = txtUsername->GetValue();
line->password = txtPassword->GetValue();
EndModal(wxID_OK);
}
void dlgPgpassConfig::OnCancel(wxCommandEvent &ev)
{
EndModal(wxID_CANCEL);
}
int dlgPgpassConfig::Go()
{
return ShowModal();
}
|