diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2010-09-14 12:30:11 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2010-09-14 12:30:11 +0300 |
commit | e21fc45beaf3d6abcb012ffecb796e5053e8e5ac (patch) | |
tree | f25394033cb4a96378399d3f8a2a1b92390262d2 /main.cpp | |
parent | ce5c8cbc5632891613ccd653d81deb3742c932a7 (diff) |
modified: gpg_wrapper.cpp
modified: main.cpp
modified: new_gpg.vcproj
modified: options.cpp
modified: utilities.cpp
modified: utilities.h
Diffstat (limited to 'main.cpp')
-rw-r--r-- | main.cpp | 42 |
1 files changed, 33 insertions, 9 deletions
@@ -414,7 +414,7 @@ static BOOL CALLBACK DlgProcGpgBinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LP { TranslateDialogDefault(hwndDlg); DWORD len = MAX_PATH; - TCHAR *path = NULL; + TCHAR *path = new TCHAR [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); @@ -436,16 +436,40 @@ static BOOL CALLBACK DlgProcGpgBinOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LP switch (LOWORD(wParam)) { case IDC_SET_BIN_PATH: - GetFilePath(_T("Choose gpg.exe"), "szGpgBinPath", _T("*.exe"), _T("EXE Executables")); - tmp = UniGetContactSettingUtf(NULL, szGPGModuleName, "szGpgBinPath", _T("gpg.exe")); - SetDlgItemText(hwndDlg, IDC_BIN_PATH, tmp); - mir_free(tmp); + { + GetFilePath(_T("Choose gpg.exe"), "szGpgBinPath", _T("*.exe"), _T("EXE Executables")); + tmp = UniGetContactSettingUtf(NULL, szGPGModuleName, "szGpgBinPath", _T("gpg.exe")); + SetDlgItemText(hwndDlg, IDC_BIN_PATH, tmp); + char mir_path[MAX_PATH]; + char *atmp = mir_t2a(tmp); + mir_free(tmp); + CallService(MS_UTILS_PATHTOABSOLUTE, (WPARAM)"\\", (LPARAM)mir_path); + char* p_path = NULL; + if(StriStr(atmp, mir_path)) + { + p_path = atmp + strlen(mir_path); + tmp = mir_a2t(p_path); + SetDlgItemText(hwndDlg, IDC_BIN_PATH, tmp); + } + } break; case IDC_SET_HOME_DIR: - GetFolderPath(_T("Set home diractory"), "szHomePath"); - tmp = UniGetContactSettingUtf(NULL, szGPGModuleName, "szHomePath", _T("")); - SetDlgItemText(hwndDlg, IDC_HOME_DIR, tmp); - mir_free(tmp); + { + GetFolderPath(_T("Set home diractory"), "szHomePath"); + tmp = UniGetContactSettingUtf(NULL, szGPGModuleName, "szHomePath", _T("")); + SetDlgItemText(hwndDlg, IDC_HOME_DIR, tmp); + char mir_path[MAX_PATH]; + char *atmp = mir_t2a(tmp); + mir_free(tmp); + CallService(MS_UTILS_PATHTOABSOLUTE, (WPARAM)"\\", (LPARAM)mir_path); + char* p_path = NULL; + if(StriStr(atmp, mir_path)) + { + p_path = atmp + strlen(mir_path); + tmp = mir_a2t(p_path); + SetDlgItemText(hwndDlg, IDC_HOME_DIR, tmp); + } + } break; case ID_OK: { |