Changeset 47
- Timestamp:
- 10/12/2007 10:07:58 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 11 edited
-
Eraser.rc (modified) (6 diffs)
-
Eraser.vcproj (modified) (1 diff)
-
EraserDlg.cpp (modified) (1 diff)
-
EraserDll/Eraser.cpp (modified) (1 diff)
-
EraserView.cpp (modified) (7 diffs)
-
Item.cpp (modified) (1 diff)
-
Item.h (modified) (2 diffs)
-
SchedulerView.cpp (modified) (13 diffs)
-
TaskDataPage.cpp (modified) (16 diffs)
-
TaskDataPage.h (modified) (3 diffs)
-
shared/FileHelper.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Eraser.rc
r45 r47 57 57 IDB_HEADER BITMAP "res\\Header.bmp" 58 58 IDB_GFX_MENUCHECK BITMAP "res\\MenuCheck.bmp" 59 IDB_GFX_MENUCHECK_SELECTED BITMAP "res\\MenuCheckSelected.bmp"59 IDB_GFX_MENUCHECK_SELECTED BITMAP "res\\MenuCheckSelected.bmp" 60 60 61 61 ///////////////////////////////////////////////////////////////////////////// … … 64 64 // 65 65 66 IDR_TREEFILECTRL_DROPCOPY CURSOR "res\\tfdropcopy.cur"67 IDR_TREEFILECTRL_NO_DROPCOPY CURSOR "res\\tfnodropcopy.cur"68 IDR_TREEFILECTRL_NO_DROPMOVE CURSOR "res\\tfnodropmove.cur"66 IDR_TREEFILECTRL_DROPCOPY CURSOR "res\\tfdropcopy.cur" 67 IDR_TREEFILECTRL_NO_DROPCOPY CURSOR "res\\tfnodropcopy.cur" 68 IDR_TREEFILECTRL_NO_DROPMOVE CURSOR "res\\tfnodropmove.cur" 69 69 IDC_DRAGGING CURSOR "res\\dragging.cur" 70 70 IDC_HANDCUR CURSOR "res\\icr_hand.cur" … … 266 266 END 267 267 268 IDD_PROPPAGE_TASKDATA DIALOGEX 0, 0, 205, 2 46269 STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION268 IDD_PROPPAGE_TASKDATA DIALOGEX 0, 0, 205, 204 269 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION 270 270 CAPTION "Data" 271 271 FONT 8, "MS Shell Dlg", 0, 0, 0x0 … … 273 273 CONTROL "&Unused space on drive",IDC_RADIO_DISK,"Button",BS_AUTORADIOBUTTON,7,7,175,10 274 274 COMBOBOX IDC_COMBO_DRIVES,19,18,163,68,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | WS_VSCROLL | WS_TABSTOP 275 CONTROL "Files on f&older",IDC_RADIO_FILES,"Button",BS_AUTORADIOBUTTON,7,37,175,10275 CONTROL "Files in f&older",IDC_RADIO_FILES,"Button",BS_AUTORADIOBUTTON,7,37,175,10 276 276 EDITTEXT IDC_EDIT_FOLDER,19,49,142,14,ES_AUTOHSCROLL | ES_READONLY 277 277 PUSHBUTTON "...",IDC_BUTTON_BROWSE,165,49,16,14 … … 284 284 CONTROL "Use &wildcards",IDC_CHECK_WILDCARDS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,129,163,10 285 285 CONTROL "&Include subfolders",IDC_CHECK_WILDCARDS_SF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,31,140,151,10 286 CONTROL "&Keep task on the list",IDC_PERSISTENT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,99,210,90,10 287 COMBOBOX IDC_COMBO_WHENFINISH,7,209,81,180,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP 288 LTEXT "When finished",IDC_STATIC,7,199,46,8 289 CONTROL "Files on mask",IDC_RADIO_MASK,"Button",BS_AUTORADIOBUTTON,7,154,59,10 290 EDITTEXT IDC_EDIT_MASK,19,166,142,14,ES_AUTOHSCROLL | ES_READONLY 286 CONTROL "&Keep task on the list",IDC_PERSISTENT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,186,90,10 287 COMBOBOX IDC_COMBO_WHENFINISH,7,169,81,180,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP 288 LTEXT "When finished",IDC_STATIC,7,160,46,8 291 289 END 292 290 … … 448 446 VERTGUIDE, 161 449 447 TOPMARGIN, 7 450 BOTTOMMARGIN, 238448 BOTTOMMARGIN, 196 451 449 END 452 450 -
trunk/Eraser.vcproj
r40 r47 1410 1410 </File> 1411 1411 <File 1412 RelativePath=".\res\tfdropcopy.cur" 1413 > 1414 </File> 1415 <File 1412 1416 RelativePath=".\Verify\res\tfnodrop.cur" 1413 1417 > 1414 1418 </File> 1415 1419 <File 1420 RelativePath=".\Verify\res\tfnodropcopy.cur" 1421 > 1422 </File> 1423 <File 1416 1424 RelativePath=".\res\tfnodropcopy.cur" 1417 >1418 </File>1419 <File1420 RelativePath=".\Verify\res\tfnodropcopy.cur"1421 1425 > 1422 1426 </File> -
trunk/EraserDlg.cpp
r31 r47 192 192 m_saDrives.Add(strData); 193 193 break; 194 case Mask:195 findMaskedElements(strData, m_saFiles, m_saFolders);196 break;197 194 default: 198 195 NODEFAULT; -
trunk/EraserDll/Eraser.cpp
r44 r47 1671 1671 CString strTemp; 1672 1672 CString strUnit; 1673 E_UINT32 uIndex;1674 1673 E_UINT64 uTemp; 1675 INT_PTR u Size;1674 INT_PTR uIndex, uSize; 1676 1675 double dTime; 1677 1676 CReportDialog rd; -
trunk/EraserView.cpp
r31 r47 312 312 if (tps.m_pgData.m_strSelectedDrive.IsEmpty() && 313 313 tps.m_pgData.m_strFolder.IsEmpty() && 314 tps.m_pgData.m_strFile.IsEmpty() && 315 tps.m_pgData.m_strMask.IsEmpty()) 314 tps.m_pgData.m_strFile.IsEmpty()) 316 315 { 317 316 // no data … … 339 338 case Drive: 340 339 piItem->SetDrive(tps.m_pgData.m_strSelectedDrive); 341 break;342 case Mask:343 piItem->SetMask(tps.m_pgData.m_strMask);344 340 break; 345 341 default: … … 574 570 } 575 571 break; 576 case Mask:577 bExists = TRUE;578 break;579 572 default: 580 573 NODEFAULT; … … 772 765 piItem->GetData(tps.m_pgData.m_strSelectedDrive); 773 766 break; 774 case Mask:775 piItem->GetData(tps.m_pgData.m_strMask);776 break;777 767 default: 778 768 return; … … 786 776 if (tps.m_pgData.m_strSelectedDrive.IsEmpty() && 787 777 tps.m_pgData.m_strFolder.IsEmpty() && 788 tps.m_pgData.m_strFile.IsEmpty() && 789 tps.m_pgData.m_strMask.IsEmpty()) 778 tps.m_pgData.m_strFile.IsEmpty()) 790 779 { 791 780 // no data … … 812 801 piItem->SetDrive(tps.m_pgData.m_strSelectedDrive); 813 802 break; 814 case Mask:815 piItem->SetMask(tps.m_pgData.m_strMask);816 break;817 803 default: 818 804 return; … … 983 969 if (piItem->GetType() == Drive || 984 970 (piItem->GetType() == File && piItem->UseWildcards()) || 985 (piItem->GetType() == Folder && (!piItem->RemoveFolder() || piItem->OnlySubfolders())) || 986 piItem->GetType() == Mask) 971 (piItem->GetType() == Folder && (!piItem->RemoveFolder() || piItem->OnlySubfolders()))) 987 972 { 988 973 daRemovedIfComplete.Add(nIndex); -
trunk/Item.cpp
r31 r47 113 113 114 114 return TRUE; 115 }116 BOOL CItem::SetMask(const CString& str)117 {118 m_tType = Mask;119 m_strData = str;120 return TRUE;121 115 } 122 116 -
trunk/Item.h
r31 r47 49 49 Drive, 50 50 Folder, 51 File, 52 Mask 51 File 53 52 }; 54 53 … … 125 124 BOOL SetDrive(const CString&); 126 125 BOOL SetFile(const CString&); 127 BOOL SetMask(const CString& str);128 126 129 127 CString GetData() const { return m_strData; } -
trunk/SchedulerView.cpp
r44 r47 340 340 if (tps.m_pgData.m_strSelectedDrive.IsEmpty() && 341 341 tps.m_pgData.m_strFolder.IsEmpty() && 342 tps.m_pgData.m_strFile.IsEmpty() && 343 tps.m_pgData.m_strMask.IsEmpty()) 342 tps.m_pgData.m_strFile.IsEmpty()) 344 343 { 345 344 // no data … … 371 370 strData = tps.m_pgData.m_strFile; 372 371 break; 373 case Mask:374 strData = tps.m_pgData.m_strMask;375 break;376 372 default: 377 373 NODEFAULT; … … 401 397 psiItem->WildcardsInSubfolders(tps.m_pgData.m_bWildCardsInSubfolders); 402 398 break; 403 case Mask:404 psiItem->SetMask(tps.m_pgData.m_strMask);405 break;406 399 default: 407 400 NODEFAULT; … … 451 444 strncpy(Pathname,buffer,260); 452 445 delete buffer; 453 454 BOOL bNeed = TRUE;455 446 m_strExePath = '"'; 456 447 m_strExePath+= CString(Pathname); … … 476 467 m_strExePath+= '"'; 477 468 break; 478 case Mask: 479 bNeed = FALSE; 480 break; 469 481 470 default: 482 471 NODEFAULT; 483 472 }; 484 if (bNeed) kReg.SetValue(m_strExePath,psiItem->GetId());473 kReg.SetValue(m_strExePath, psiItem->GetId()); 485 474 m_strExePath.ReleaseBuffer(); 486 475 kReg.Close(); … … 671 660 tps.m_pgData.m_strFile = strData; 672 661 break; 673 case Mask:674 tps.m_pgData.m_strMask = strData;675 break;676 662 default: 677 663 NODEFAULT; … … 686 672 if (tps.m_pgData.m_strSelectedDrive.IsEmpty() && 687 673 tps.m_pgData.m_strFolder.IsEmpty() && 688 tps.m_pgData.m_strFile.IsEmpty() && 689 tps.m_pgData.m_strMask.IsEmpty()) 674 tps.m_pgData.m_strFile.IsEmpty()) 690 675 { 691 676 // no data … … 723 708 psiItem->WildcardsInSubfolders(tps.m_pgData.m_bWildCardsInSubfolders); 724 709 break; 725 case Mask:726 psiItem->SetMask(tps.m_pgData.m_strMask);727 break;728 710 default: 729 711 NODEFAULT; … … 778 760 strncpy(Pathname,buffer,260); 779 761 delete buffer; 780 BOOL bNeed = TRUE;781 762 m_strExePath = '"'; 782 763 m_strExePath+= CString(Pathname); … … 803 784 m_strExePath+= '"'; 804 785 break; 805 case Mask:806 bNeed = FALSE;807 break;808 786 default: 809 787 NODEFAULT; 810 788 }; 811 if (bNeed)kReg.SetValue(m_strExePath,psiItem->GetId());789 kReg.SetValue(m_strExePath,psiItem->GetId()); 812 790 m_strExePath.ReleaseBuffer(); 813 791 kReg.Close(); … … 1133 1111 } 1134 1112 1135 //remove folders on mask clear1136 if (psiItem->GetType() == Mask)1137 {1138 CString strMask;1139 CStringArray saFiles, saFolders;1140 1141 psiItem->GetData(strMask);1142 1143 findMaskedElements(strMask,1144 saFiles,1145 saFolders);1146 1147 int iSize = saFolders.GetSize();1148 if (iSize > 0)1149 {1150 for (int i = 0; i < iSize; i++)1151 {1152 if (eraserOK(eraserRemoveFolder((LPVOID)(LPCTSTR)saFolders[i],1153 (E_UINT16)saFolders[i].GetLength(), ERASER_REMOVE_FOLDERONLY)))1154 {1155 SHChangeNotify(SHCNE_RMDIR, SHCNF_PATH, (LPCTSTR)saFolders[i], NULL);1156 }1157 }1158 saFiles.RemoveAll();1159 saFolders.RemoveAll();1160 }1161 }1162 1163 1113 uValue = 0; 1164 1114 eraserTerminated(psiItem->m_ehContext, &uValue); … … 1599 1549 } 1600 1550 break; 1601 case Mask:1602 bExists = TRUE;1603 break;1604 1551 default: 1605 1552 NODEFAULT; … … 2151 2098 } 2152 2099 break; 2153 case Mask:2154 {2155 CWaitCursor wait;2156 CStringArray saFolders;2157 VERIFY(eraserOK(eraserSetDataType(psiItem->m_ehContext, ERASER_DATA_FILES)));2158 findMaskedElements(strData, saData, saFolders);2159 iSize = saData.GetSize();2160 for (i = 0; i < iSize; i++)2161 {2162 VERIFY(eraserOK(eraserAddItem(psiItem->m_ehContext,2163 (LPVOID)(LPCTSTR)saData[i], (E_UINT16)saData[i].GetLength())));2164 }2165 }2166 break;2167 2100 default: 2168 2101 NODEFAULT; -
trunk/TaskDataPage.cpp
r23 r47 3 3 // Eraser. Secure data removal. For Windows. 4 4 // Copyright © 1997-2001 Sami Tolvanen (sami@tolvanen.com). 5 // Copyright © 2007 The Eraser Project 5 6 // 6 7 // This program is free software; you can redistribute it and/or … … 49 50 m_strFolder = _T(""); 50 51 m_strFile = _T(""); 51 m_strMask = _T("");52 52 m_bRemoveOnlySub = FALSE; 53 53 m_bSubfolders = FALSE; … … 57 57 m_bWildCardsInSubfolders = FALSE; 58 58 //}}AFX_DATA_INIT 59 60 // m_psp.dwFlags &= (~PSP_HASHELP);61 59 } 62 60 … … 72 70 DDX_Text(pDX, IDC_EDIT_FOLDER, m_strFolder); 73 71 DDX_Text(pDX, IDC_EDIT_FILE, m_strFile); 74 DDX_Text(pDX, IDC_EDIT_MASK, m_strMask);75 72 DDX_Check(pDX, IDC_CHECK_ONLYSUB, m_bRemoveOnlySub); 76 73 DDX_Check(pDX, IDC_CHECK_SUBFOLDERS, m_bSubfolders); … … 79 76 DDX_Control(pDX, IDC_RADIO_FILES, m_buRadioFiles); 80 77 DDX_Control(pDX, IDC_RADIO_FILE, m_buRadioFile); 81 DDX_Control(pDX, IDC_RADIO_MASK, m_buRadioMask);82 78 DDX_Check(pDX, IDC_PERSISTENT_CHECK, m_bPersistent); 83 79 DDX_Check(pDX, IDC_CHECK_WILDCARDS, m_bUseWildCards); … … 104 100 ON_BN_CLICKED(IDC_RADIO_FILES, OnRadioFiles) 105 101 ON_BN_CLICKED(IDC_RADIO_FILE, OnRadioFile) 106 ON_BN_CLICKED(IDC_RADIO_MASK, OnRadioMask)107 102 ON_BN_CLICKED(IDC_CHECK_WILDCARDS, OnCheckWildcards) 108 103 //}}AFX_MSG_MAP … … 195 190 { 196 191 UpdateData(TRUE); 197 198 // Was CfileDialogEx now with MFC7 we can change back to MFC Class199 /*CFileDialog fdlg(TRUE, NULL, NULL,200 OFN_PATHMUSTEXIST |OFN_ENABLESIZING | OFN_NODEREFERENCELINKS | OFN_FILEMUSTEXIST | OFN_SHOWHELP | OFN_OVERWRITEPROMPT,201 "All Files (*.*) | *.*||", this);*/202 //CCustomFileDialog fdlg(TRUE, OFN_EXPLORER|OFN_PATHMUSTEXIST |OFN_ENABLESIZING |OFN_NODEREFERENCELINKS | OFN_FILEMUSTEXIST | OFN_SHOWHELP);203 204 //fdlg.m_ofn.lpstrTitle = "Select File to be Erased";205 192 CNewDialog fdlg; 206 193 if (fdlg.DoModal() == IDOK) 207 194 { 208 m_strFile = fdlg.m_sPath; //fdlg.GetPathName();195 m_strFile = fdlg.m_sPath; 209 196 UpdateData(FALSE); 210 197 } … … 249 236 GetDlgItem(IDC_CHECK_WILDCARDS)->EnableWindow(FALSE); 250 237 GetDlgItem(IDC_CHECK_WILDCARDS_SF)->EnableWindow(FALSE); 251 ((CEdit*)GetDlgItem(IDC_EDIT_MASK))->SetReadOnly(TRUE);252 238 } 253 239 … … 268 254 GetDlgItem(IDC_CHECK_WILDCARDS)->EnableWindow(FALSE); 269 255 GetDlgItem(IDC_CHECK_WILDCARDS_SF)->EnableWindow(FALSE); 270 ((CEdit*)GetDlgItem(IDC_EDIT_MASK))->SetReadOnly(TRUE);271 256 } 272 257 … … 282 267 // disable other sections 283 268 GetDlgItem(IDC_COMBO_DRIVES)->EnableWindow(FALSE); 284 ((CEdit*)GetDlgItem(IDC_EDIT_MASK))->SetReadOnly(TRUE);285 269 GetDlgItem(IDC_BUTTON_BROWSE)->EnableWindow(FALSE); 286 270 GetDlgItem(IDC_EDIT_FOLDER)->EnableWindow(FALSE); … … 291 275 } 292 276 293 #include "shared\FileHelper.h"294 void CTaskDataPage::OnRadioMask()295 {296 297 // enable file section298 GetDlgItem(IDC_EDIT_MASK)->EnableWindow(TRUE);299 ((CEdit*)GetDlgItem(IDC_EDIT_MASK))->SetReadOnly(FALSE);300 // disable other sections301 GetDlgItem(IDC_COMBO_DRIVES)->EnableWindow(FALSE);302 303 GetDlgItem(IDC_BUTTON_BROWSE)->EnableWindow(FALSE);304 GetDlgItem(IDC_EDIT_FOLDER)->EnableWindow(FALSE);305 GetDlgItem(IDC_EDIT_FILE)->EnableWindow(FALSE);306 GetDlgItem(IDC_CHECK_WILDCARDS)->EnableWindow(FALSE);307 GetDlgItem(IDC_CHECK_WILDCARDS_SF)->EnableWindow(FALSE);308 GetDlgItem(IDC_CHECK_FOLDER)->EnableWindow(FALSE);309 GetDlgItem(IDC_CHECK_SUBFOLDERS)->EnableWindow(FALSE);310 GetDlgItem(IDC_CHECK_ONLYSUB)->EnableWindow(FALSE);311 312 }313 314 277 void CTaskDataPage::OnCheckWildcards() 315 278 { … … 319 282 } 320 283 321 322 284 BOOL CTaskDataPage::OnInitDialog() 323 285 { … … 327 289 BOOL bFolder = (m_tType == Folder); 328 290 BOOL bFile = (m_tType == File); 329 BOOL bMask = (m_tType == Mask);330 291 331 292 m_comboDrives.FillDrives(); … … 337 298 m_buRadioFiles.SetCheck(bFolder); 338 299 m_buRadioFile.SetCheck(bFile); 339 m_buRadioMask.SetCheck(bMask);340 300 341 301 // drive … … 356 316 GetDlgItem(IDC_CHECK_WILDCARDS_SF)->EnableWindow(bFile && m_bUseWildCards); 357 317 358 //mask359 GetDlgItem(IDC_EDIT_MASK)->EnableWindow(bMask);360 ((CEdit*)GetDlgItem(IDC_EDIT_MASK))->SetReadOnly(!bMask);361 362 318 if (!m_bShowPersistent) 363 319 GetDlgItem(IDC_PERSISTENT_CHECK)->ShowWindow(SW_HIDE); … … 386 342 else if (m_buRadioFiles.GetCheck()) 387 343 m_tType = Folder; 388 else if (m_buRadioMask.GetCheck()) m_tType = Mask; 389 else m_tType = File; 390 391 344 else 345 m_tType = File; 392 346 393 347 if (m_tType == Drive) -
trunk/TaskDataPage.h
r31 r47 50 50 CString m_strFolder; 51 51 CString m_strFile; 52 CString m_strMask;53 52 BOOL m_bRemoveOnlySub; 54 53 BOOL m_bSubfolders; … … 57 56 CButton m_buRadioFiles; 58 57 CButton m_buRadioFile; 59 CButton m_buRadioMask;60 58 BOOL m_bPersistent; 61 59 BOOL m_bUseWildCards; … … 84 82 afx_msg void OnRadioFiles(); 85 83 afx_msg void OnRadioFile(); 86 afx_msg void OnRadioMask();87 84 virtual BOOL OnInitDialog(); 88 85 afx_msg void OnCheckWildcards(); -
trunk/shared/FileHelper.h
r27 r47 28 28 void 29 29 findMatchingFiles(CString strSearch, CStringArray& strFiles, BOOL bSubFolders = FALSE); 30 BOOL31 findMaskedElements(CString strMatch, CStringArray& saFiles, CStringArray& saDir);32 30 33 31 #endif
Note: See TracChangeset
for help on using the changeset viewer.
