From a0c86284a825ddc47a94309aed721b32545697fc Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10> Date: Sun, 14 Nov 2010 18:14:01 +0000 Subject: Removed folder selection dialog git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@571 4f64403b-2f21-0410-a795-97e2b3489a10 --- updater/options.cpp | 235 +++++++--------------------------------------------- 1 file changed, 30 insertions(+), 205 deletions(-) (limited to 'updater/options.cpp') diff --git a/updater/options.cpp b/updater/options.cpp index 312adbd..aa51a07 100644 --- a/updater/options.cpp +++ b/updater/options.cpp @@ -373,84 +373,6 @@ static INT_PTR CALLBACK DlgProcOpts1(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR return FALSE; } -static INT_PTR CALLBACK DlgProcOpts2(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) -{ - switch ( msg ) - { - case WM_INITDIALOG: - TranslateDialogDefault( hwndDlg ); - - SetDlgItemText(hwndDlg, IDC_ED_DATA, options.data_folder); - SetDlgItemText(hwndDlg, IDC_ED_BACKUPS, options.backup_folder); - SetDlgItemText(hwndDlg, IDC_ED_ZIPS, options.zip_folder); - - return FALSE; - case WM_COMMAND: - if ( HIWORD( wParam ) == EN_CHANGE && ( HWND )lParam == GetFocus()) { - switch( LOWORD( wParam )) { - case IDC_ED_DATA: - case IDC_ED_BACKUPS: - case IDC_ED_ZIPS: - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - } - } - if ( HIWORD( wParam ) == BN_CLICKED ) { - - TCHAR folder_buff[MAX_PATH]; - BROWSEINFO bi = {0}; - LPCITEMIDLIST pidl; - - bi.hwndOwner = hwndDlg; - bi.pidlRoot = 0; - bi.pszDisplayName = folder_buff; - bi.lpszTitle = TranslateT("Select Folder"); - bi.ulFlags = 0; - bi.lpfn = 0; - bi.lParam = 0; - bi.iImage = 0; - - if((pidl = SHBrowseForFolder(&bi)) != 0) { - SHGetPathFromIDList(pidl, folder_buff); - CoTaskMemFree((void *)pidl); - - switch( LOWORD( wParam )) { - case IDC_BTN_BRDATA: - SetDlgItemText(hwndDlg, IDC_ED_DATA, folder_buff); - SendMessage( GetParent( hwndDlg ), PSM_CHANGED, 0, 0 ); - break; - case IDC_BTN_BRBACKUPS: - SetDlgItemText(hwndDlg, IDC_ED_BACKUPS, folder_buff); - SendMessage( GetParent( hwndDlg ), PSM_CHANGED, 0, 0 ); - break; - case IDC_BTN_BRZIPS: - SetDlgItemText(hwndDlg, IDC_ED_ZIPS, folder_buff); - SendMessage( GetParent( hwndDlg ), PSM_CHANGED, 0, 0 ); - break; - } - - - return TRUE; - } - } - return FALSE; - case WM_NOTIFY: - if (((LPNMHDR)lParam)->code == (unsigned)PSN_APPLY ) { - GetDlgItemText(hwndDlg, IDC_ED_DATA, options.data_folder, MAX_PATH); - GetDlgItemText(hwndDlg, IDC_ED_BACKUPS, options.backup_folder, MAX_PATH); - GetDlgItemText(hwndDlg, IDC_ED_ZIPS, options.zip_folder, MAX_PATH); - - _tcscpy(options.temp_folder, options.data_folder); - _tcscat(options.temp_folder, _T("\\updates")); - - SaveOptions(); - - return TRUE; - } - break; - } - return FALSE; -} - int OptInit(WPARAM wParam,LPARAM lParam) { DWORD mirVir = (DWORD)CallService(MS_SYSTEM_GETVERSION, 0, 0); @@ -461,36 +383,12 @@ int OptInit(WPARAM wParam,LPARAM lParam) odp.position = -790000000; odp.hInstance = hInst; - if(ServiceExists(MS_FOLDERS_GET_PATH)) { - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT1); - //odp.pszTitle = LPGEN("Settings"); - //odp.pszGroup = LPGEN("Updates"); - odp.ptszTitle = LPGENT("Updater"); - odp.ptszGroup = LPGENT("Services"); - odp.nIDBottomSimpleControl = 0; - odp.pfnDlgProc = DlgProcOpts1; - CallService( MS_OPT_ADDPAGE, wParam,( LPARAM )&odp ); - } else { - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT1); - //odp.pszTitle = LPGEN("Settings"); - //odp.pszGroup = LPGEN("Updates"); - odp.ptszTitle = (mirVir >= 0x00060000 ? LPGENT("Updater") : LPGENT("Settings")); - odp.ptszGroup = (mirVir >= 0x00060000 ? LPGENT("Services") : LPGENT("Updates")); - odp.nIDBottomSimpleControl = 0; - odp.pfnDlgProc = DlgProcOpts1; - odp.ptszTab = LPGENT("Settings"); - CallService( MS_OPT_ADDPAGE, wParam,( LPARAM )&odp ); - - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT2); - //odp.pszTitle = LPGEN("Folders"); - //odp.pszGroup = LPGEN("Updates"); - odp.ptszTitle = (mirVir >= 0x00060000 ? LPGENT("Updater") : LPGENT("Folders")); - odp.ptszGroup = (mirVir >= 0x00060000 ? LPGENT("Services") : LPGENT("Updates")); - odp.nIDBottomSimpleControl = 0; - odp.pfnDlgProc = DlgProcOpts2; - odp.ptszTab = LPGENT("Folders"); - CallService( MS_OPT_ADDPAGE, wParam,( LPARAM )&odp ); - } + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT1); + odp.ptszTitle = LPGENT("Updater"); + odp.ptszGroup = LPGENT("Services"); + odp.nIDBottomSimpleControl = 0; + odp.pfnDlgProc = DlgProcOpts1; + CallService( MS_OPT_ADDPAGE, wParam,( LPARAM )&odp ); return 0; } @@ -510,7 +408,8 @@ void InitOptionsMenuItems() { add_update_and_exit_menu_item(); } -int FoldersPathChanged(WPARAM wParam, LPARAM lParam) { +int FoldersPathChanged(WPARAM wParam, LPARAM lParam) +{ FOLDERSGETDATA fgd = {0}; fgd.cbSize = sizeof(fgd); fgd.nMaxPathSize = MAX_PATH; @@ -524,13 +423,13 @@ int FoldersPathChanged(WPARAM wParam, LPARAM lParam) { fgd.szPathT = options.zip_folder; CallService(MS_FOLDERS_GET_PATH, (WPARAM)hArchivePath, (WPARAM)&fgd); - _tcscpy(options.temp_folder, options.data_folder); - _tcscat(options.temp_folder, _T("\\updates")); + mir_sntprintf(options.temp_folder, SIZEOF(options.temp_folder), _T("%s\\updates"), options.data_folder); return 0; } -void LoadOptions() { +void LoadOptions(void) +{ options.check_on_startup = (DBGetContactSettingByte(0, MODULE, "CheckOnStartup", 1) == 1); options.check_once = (DBGetContactSettingByte(0, MODULE, "CheckOnce", 1) == 1); options.check_daily = (DBGetContactSettingByte(0, MODULE, "CheckDaily", 1) == 1); @@ -552,89 +451,45 @@ void LoadOptions() { options.ver_req = (VersionRequirement)DBGetContactSettingByte(0, MODULE, "VersionRequirement", VR_BUILD); options.auto_dll_only = (DBGetContactSettingByte(0, MODULE, "AutoDLLOnly", 0) == 1); - if(ServiceExists(MS_FOLDERS_GET_PATH)) { + if(ServiceExists(MS_FOLDERS_GET_PATH)) + { FOLDERSDATA fd = {0}; fd.cbSize = sizeof(fd); #ifdef _UNICODE fd.flags = FF_UNICODE; #endif - strncpy(fd.szSection, "Updates", 64); + strcpy(fd.szSection, "Updates"); - strncpy(fd.szName, "Backups", 64); - fd.szFormatT = _T(MIRANDA_PATH) _T("\\updater\\backups"); + strcpy(fd.szName, "Backups"); + fd.szFormatT = _T("%miranda_userdata%\\updater\\backups"); hBackupPath = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd); - strncpy(fd.szName, "Data", 64); - fd.szFormatT = _T(MIRANDA_PATH) _T("\\updater\\data"); + strcpy(fd.szName, "Data"); + fd.szFormatT = _T("%miranda_userdata%\\updater\\data"); hDataPath = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd); - strncpy(fd.szName, "Saved Archives", 64); - fd.szFormatT = _T(MIRANDA_PATH) _T("\\updater\\archives"); + strcpy(fd.szName, "Saved Archives"); + fd.szFormatT = _T("%miranda_userdata%\\updater\\archives"); hArchivePath = (HANDLE)CallService(MS_FOLDERS_REGISTER_PATH, 0, (LPARAM)&fd); HookEvent(ME_FOLDERS_PATH_CHANGED, FoldersPathChanged); FoldersPathChanged(0, 0); - - return; } + else + { + TCHAR* mir_path = Utils_ReplaceVarsT(_T("%miranda_userdata%")); - REPLACEVARSDATA dat = {0}; - dat.cbSize = sizeof(dat); - dat.dwFlags = RVF_TCHAR; - - TCHAR* mir_path = (TCHAR*)CallService(MS_UTILS_REPLACEVARS, (WPARAM)_T("%miranda_userdata%"), (LPARAM)&dat); - - DBVARIANT dbv; - if(!DBGetString(0, MODULE, "BackupFolder", &dbv)) { - if(_tcslen(dbv.ptszVal) >= 2 && dbv.ptszVal[1] == _T(':')) // detect an absolute path? - _tcsncpy(options.backup_folder, dbv.ptszVal, MAX_PATH); - else { - _tcscpy(options.backup_folder, mir_path); - _tcscat(options.backup_folder, dbv.ptszVal); - } - DBFreeVariant(&dbv); - } else { - - _tcscpy(options.backup_folder, mir_path); - _tcscat(options.backup_folder, _T("\\Updater")); - _tcscat(options.backup_folder, _T("\\Backups")); - } + mir_sntprintf(options.backup_folder, SIZEOF(options.backup_folder), _T("%s\\Updater\\Backups"), mir_path); + mir_sntprintf(options.data_folder, SIZEOF(options.data_folder), _T("%s\\Updater\\Data"), mir_path); + mir_sntprintf(options.zip_folder, SIZEOF(options.zip_folder), _T("%s\\Updater\\Archives"), mir_path); + mir_sntprintf(options.temp_folder, SIZEOF(options.temp_folder), _T("%s\\updates"), options.data_folder); - if(!DBGetString(0, MODULE, " DataFolder", &dbv)) { - if(_tcslen(dbv.ptszVal) >= 2 && dbv.ptszVal[1] == _T(':')) // detect an absolute path? - _tcsncpy(options.data_folder, dbv.ptszVal, MAX_PATH); - else { - _tcscpy(options.data_folder, mir_path); - _tcscat(options.data_folder, dbv.ptszVal); - } - DBFreeVariant(&dbv); - } else { - _tcscpy(options.data_folder, mir_path); - _tcscat(options.data_folder, _T("\\Updater")); - _tcscat(options.data_folder, _T("\\Data")); + mir_free(mir_path); } - - if(!DBGetString(0, MODULE, "ZipFolder", &dbv)) { - if(_tcslen(dbv.ptszVal) >= 2 && dbv.ptszVal[1] == _T(':')) // detect an absolute path? - _tcsncpy(options.zip_folder, dbv.ptszVal, MAX_PATH); - else { - _tcscpy(options.zip_folder, mir_path); - _tcscat(options.zip_folder, dbv.ptszVal); - } - DBFreeVariant(&dbv); - } else { - _tcscpy(options.zip_folder, mir_path); - _tcscat(options.zip_folder, _T("\\Updater")); - _tcscat(options.zip_folder, _T("\\Archives")); - } - - _tcscpy(options.temp_folder, options.data_folder); - _tcscat(options.temp_folder, _T("\\updates")); - - mir_free(mir_path); } -void SaveOptions() { +void SaveOptions() +{ DBWriteContactSettingByte(0, MODULE, "CheckOnStartup", options.check_on_startup ? 1 : 0); DBWriteContactSettingByte(0, MODULE, "CheckOnce", options.check_once ? 1 : 0); DBWriteContactSettingByte(0, MODULE, "CheckDaily", options.check_daily ? 1 : 0); @@ -649,36 +504,6 @@ void SaveOptions() { DBWriteContactSettingByte(0, MODULE, "SaveZips", (int)options.save_zips); DBWriteContactSettingByte(0, MODULE, "NoUnzip", (int)options.no_unzip); DBWriteContactSettingByte(0, MODULE, "AutoDLLOnly", options.auto_dll_only ? 1 : 0); - - REPLACEVARSDATA dat = {0}; - dat.cbSize = sizeof(dat); - dat.dwFlags = RVF_TCHAR; - - TCHAR* mir_path = (TCHAR*)CallService(MS_UTILS_REPLACEVARS, (WPARAM)_T("%miranda_userdata%"), (LPARAM)&dat); - size_t mp_len = _tcslen(mir_path); - - // remove mir_path from the front of folder names, so that profile can be moved - if(_tcslen(options.backup_folder) > mp_len && _tcsncmp(options.backup_folder, mir_path, mp_len) == 0) { - TCHAR *p = options.backup_folder + mp_len; - DBWriteString(0, MODULE, "BackupFolder", p); - } else { - DBWriteString(0, MODULE, "BackupFolder", options.backup_folder); - } - - if(_tcslen(options.data_folder) > mp_len && _tcsncmp(options.data_folder, mir_path, mp_len) == 0) { - TCHAR *p = options.data_folder + mp_len; - DBWriteString(0, MODULE, "DataFolder", p); - } else { - DBWriteString(0, MODULE, "DataFolder", options.data_folder); - } - - if(_tcslen(options.zip_folder) > mp_len && _tcsncmp(options.zip_folder, mir_path, mp_len) == 0) { - TCHAR *p = options.zip_folder + mp_len; - DBWriteString(0, MODULE, "ZipFolder", p); - } else { - DBWriteString(0, MODULE, "ZipFolder", options.zip_folder); - } - mir_free(mir_path); } -- cgit v1.2.3