[292622]: PasskeyChangeDlg.cpp Maximize Restore History

Download this file

PasskeyChangeDlg.cpp    131 lines (108 with data), 3.7 kB

  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
125
126
127
128
129
130
/// \file PasskeyChangeDlg.cpp
//-----------------------------------------------------------------------------
#include "stdafx.h"
#include "PasswordSafe.h"
#include "PwsPlatform.h"
#include "corelib/PWCharPool.h" // for CheckPassword()
#include "ThisMfcApp.h"
#if defined(POCKET_PC)
#include "pocketpc/resource.h"
#include "pocketpc/PocketPC.h"
#else
#include "resource.h"
#endif
#include "PasskeyChangeDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//-----------------------------------------------------------------------------
CPasskeyChangeDlg::CPasskeyChangeDlg(CWnd* pParent)
: super(CPasskeyChangeDlg::IDD, pParent)
{
m_confirmnew = _T("");
m_newpasskey = _T("");
m_oldpasskey = _T("");
}
void
CPasskeyChangeDlg::DoDataExchange(CDataExchange* pDX)
{
super::DoDataExchange(pDX);
DDX_Text(pDX, IDC_CONFIRMNEW, (CString &)m_confirmnew);
DDX_Text(pDX, IDC_NEWPASSKEY, (CString &)m_newpasskey);
DDX_Text(pDX, IDC_OLDPASSKEY, (CString &)m_oldpasskey);
}
BEGIN_MESSAGE_MAP(CPasskeyChangeDlg, super)
ON_BN_CLICKED(ID_HELP, OnHelp)
#if defined(POCKET_PC)
ON_EN_SETFOCUS(IDC_OLDPASSKEY, OnPasskeySetfocus)
ON_EN_SETFOCUS(IDC_NEWPASSKEY, OnPasskeySetfocus)
ON_EN_SETFOCUS(IDC_CONFIRMNEW, OnPasskeySetfocus)
ON_EN_KILLFOCUS(IDC_OLDPASSKEY, OnPasskeyKillfocus)
ON_EN_KILLFOCUS(IDC_NEWPASSKEY, OnPasskeyKillfocus)
ON_EN_KILLFOCUS(IDC_CONFIRMNEW, OnPasskeyKillfocus)
#endif
END_MESSAGE_MAP()
void
CPasskeyChangeDlg::OnOK()
{
CMyString errmess;
UpdateData(TRUE);
if (m_oldpasskey != global.m_passkey)
AfxMessageBox(_T("The old safe combination is not correct"));
else if (m_confirmnew != m_newpasskey)
AfxMessageBox(_T("New safe combination and confirmation do not match"));
else if (m_newpasskey.IsEmpty())
AfxMessageBox(_T("The new safe combination cannot be blank."));
else if (!CPasswordCharPool::CheckPassword(m_newpasskey, errmess)) {
CString msg(_T("Weak password:\n"));
msg += CString(errmess);
msg += _T("\nAccept anyway?");
if (AfxMessageBox(msg, MB_YESNO) == IDYES) {
app.m_pMainWnd = NULL;
super::OnOK();
}
} else {
app.m_pMainWnd = NULL;
super::OnOK();
}
}
void
CPasskeyChangeDlg::OnCancel()
{
app.m_pMainWnd = NULL;
super::OnCancel();
}
void
CPasskeyChangeDlg::OnHelp()
{
#if defined(POCKET_PC)
CreateProcess( _T("PegHelp.exe"), _T("pws_ce_help.html#changecombo"), NULL, NULL, FALSE, 0, NULL, NULL, NULL, NULL );
#else
//WinHelp(0x20083, HELP_CONTEXT);
::HtmlHelp(NULL,
"pwsafe.chm::/html/pws_combo_chg.htm",
HH_DISPLAY_TOPIC, 0);
#endif
}
#if defined(POCKET_PC)
/************************************************************************/
/* Restore the state of word completion when the password field loses */
/* focus. */
/************************************************************************/
void CPasskeyChangeDlg::OnPasskeyKillfocus()
{
EnableWordCompletion( m_hWnd );
}
/************************************************************************/
/* When the password field is activated, pull up the SIP and disable */
/* word completion. */
/************************************************************************/
void CPasskeyChangeDlg::OnPasskeySetfocus()
{
DisableWordCompletion( m_hWnd );
}
#endif
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------