diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2010-08-06 21:49:52 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2010-08-06 21:49:52 +0300 |
commit | 776188f249fa2360bafcc3083119efc9d82446b7 (patch) | |
tree | 87b4ef5e97622be83e9653ce857cd8ee93d56dcd /options.cpp | |
parent | c3917bef1d9a681fe81a78a96267ddadfec0828f (diff) |
modified: commonheaders.h
modified: init.cpp
deleted: lib/gpgme.exp
deleted: lib/gpgme.lib
renamed: lib/libgcrypt.def -> lib/libgcrypt-11.def
renamed: lib/libgcrypt.exp -> lib/libgcrypt-11.exp
new file: lib/libgcrypt-11.lib
deleted: lib/libgcrypt.lib
renamed: lib/gpgme.def -> lib/libgpgme-11.def
new file: lib/libgpgme-11.exp
modified: lib/libgpgme-11.lib
renamed: lib/libksba.def -> lib/libksba-8.def
renamed: lib/libksba.exp -> lib/libksba-8.exp
new file: lib/libksba-8.lib
deleted: lib/libksba.lib
modified: main.cpp
modified: new_gpg.rc
modified: new_gpg.vcproj
modified: new_gpg.vcproj.EVIL2.sss.user
modified: options.cpp
modified: resource.h
modified: utilities.cpp
modified: utilities.h
Diffstat (limited to 'options.cpp')
-rw-r--r-- | options.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/options.cpp b/options.cpp index 69b9938..6d223ee 100644 --- a/options.cpp +++ b/options.cpp @@ -20,6 +20,7 @@ extern HINSTANCE hInst; static BOOL CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); +static BOOL CALLBACK DlgProcGpgBinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); int GpgOptInit(WPARAM wParam,LPARAM lParam) { @@ -33,6 +34,19 @@ int GpgOptInit(WPARAM wParam,LPARAM lParam) odp.flags=ODPF_BOLDGROUPS; odp.pfnDlgProc = DlgProcGpgOpts; CallService(MS_OPT_ADDPAGE,wParam,(LPARAM)&odp); + + ZeroMemory(&odp, sizeof(odp)); + + odp.cbSize = sizeof(odp); + odp.hInstance = hInst; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_GPG_BIN); + odp.pszTitle = szModuleName; + odp.pszGroup = "Services"; + odp.pszTab = "GnuPG Variables"; + odp.flags=ODPF_BOLDGROUPS; + odp.pfnDlgProc = DlgProcGpgBinOpts; + CallService(MS_OPT_ADDPAGE,wParam,(LPARAM)&odp); + return 0; } @@ -78,4 +92,51 @@ static BOOL CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA } +static BOOL CALLBACK DlgProcGpgBinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch (msg) + { + case WM_INITDIALOG: + { + TranslateDialogDefault(hwndDlg); + SetDlgItemText(hwndDlg, IDC_BIN_PATH, UniGetContactSettingUtf(NULL, szModuleName, "szGpgBinPath", _T("gpg2.exe"))); + return TRUE; + } + + + case WM_COMMAND: + { + switch (LOWORD(wParam)) + { + case IDC_SET_BIN_PATH: + GetFilePath(_T("Choose gpg2.exe"), "szGpgBinPath", _T("*.exe"), _T("EXE Executables")); + SetDlgItemText(hwndDlg, IDC_BIN_PATH, UniGetContactSettingUtf(NULL, szModuleName, "szGpgBinPath", _T("gpg2.exe"))); + break; + default: + break; + } + + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + } + + case WM_NOTIFY: + { + switch (((LPNMHDR)lParam)->code) + { + + case PSN_APPLY: + { + TCHAR tmp[512]; + GetDlgItemText(hwndDlg, IDC_BIN_PATH, tmp, 512); + DBWriteContactSettingTString(NULL, szModuleName, "szGpgBinPath", tmp); + return TRUE; + } + } + } + break; + } + + return FALSE; +} |