summaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/main.cpp b/main.cpp
index 0941c28..2eb1cd7 100644
--- a/main.cpp
+++ b/main.cpp
@@ -401,10 +401,18 @@ static BOOL CALLBACK DlgProcGpgBinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LP
case WM_INITDIALOG:
{
TranslateDialogDefault(hwndDlg);
- tmp = UniGetContactSettingUtf(NULL, szGPGModuleName, "szGpgBinPath", _T(""));
+ TCHAR *path = new TCHAR [MAX_PATH];
+ DWORD len = MAX_PATH;
+ tmp = UniGetContactSettingUtf(NULL, szGPGModuleName, "szGpgBinPath", (SHGetValue(HKEY_CURRENT_USER, _T("Software\\GNU\\GnuPG\\gpgProgram"), 0, 0, path, &len) == ERROR_SUCCESS)?path:_T(""));
+ delete [] path;
SetDlgItemText(hwndDlg, IDC_BIN_PATH, tmp);
mir_free(tmp);
- tmp = UniGetContactSettingUtf(NULL, szGPGModuleName, "szHomePath", _T(""));
+ path = new TCHAR [MAX_PATH];
+ ExpandEnvironmentStrings(_T("%APPDATA%"), path, MAX_PATH);
+ wstring path_ = path;
+ delete [] path;
+ path_ += _T("\\GnuPG");
+ tmp = UniGetContactSettingUtf(NULL, szGPGModuleName, "szHomePath", (TCHAR*)path_.c_str());
SetDlgItemText(hwndDlg, IDC_HOME_DIR, tmp);
mir_free(tmp);
return TRUE;