void CTSVNPathList::DeleteAllPaths(bool bTrash, bool bFilesOnly, HWND hErrorWnd) { if (m_paths.empty()) return; PathVector::const_iterator it; SortByPathname (true); // nested ones first CString sPaths; for (it = m_paths.begin(); it != m_paths.end(); ++it) { if ((it->Exists())&&((it->IsDirectory() != bFilesOnly)||!bFilesOnly)) { if (!it->IsDirectory()) ::SetFileAttributes(it->GetWinPath(), FILE_ATTRIBUTE_NORMAL); sPaths += it->GetWinPath(); sPaths += '\0'; } } if (sPaths.IsEmpty()) return; sPaths += '\0'; sPaths += '\0'; DeleteViaShell((LPCTSTR)sPaths, bTrash, hErrorWnd); Clear(); }
void CSetSavedDataPage::OnBnClickedRepologclear() { CString path = CPathUtils::GetAppDataDirectory()+_T("logcache"); TCHAR pathbuf[MAX_PATH] = {0}; _tcscpy_s(pathbuf, MAX_PATH, (LPCTSTR)path); DeleteViaShell(pathbuf, IDS_SETTINGS_DELCACHE); m_btnRepoLogClear.EnableWindow(FALSE); m_tooltips.DelTool(GetDlgItem(IDC_REPOLOG)); m_tooltips.DelTool(GetDlgItem(IDC_REPOLOGCLEAR)); }
void CSetSavedDataPage::OnBnClickedAuthhistclear() { CRegStdString auth = CRegStdString(_T("Software\\TortoiseGit\\Auth\\")); auth.removeKey(); PWSTR pszPath = nullptr; if (SHGetKnownFolderPath(FOLDERID_RoamingAppData, KF_FLAG_CREATE, nullptr, &pszPath) == S_OK) { CString path = pszPath; CoTaskMemFree(pszPath); path += L"\\Subversion\\auth\\"; DeleteViaShell(path, IDS_SETTINGS_DELFILE); } m_btnAuthHistClear.EnableWindow(FALSE); m_tooltips.DelTool(GetDlgItem(IDC_AUTHHISTCLEAR)); m_tooltips.DelTool(GetDlgItem(IDC_AUTHHISTORY)); }