summaryrefslogtreecommitdiff
path: root/options.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-08-06 21:49:52 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2010-08-06 21:49:52 +0300
commit776188f249fa2360bafcc3083119efc9d82446b7 (patch)
tree87b4ef5e97622be83e9653ce857cd8ee93d56dcd /options.cpp
parentc3917bef1d9a681fe81a78a96267ddadfec0828f (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.cpp61
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;
+}