1 // TortoiseSVN - a Windows shell extension for easy version control
3 // Copyright (C) 2007-2008 - TortoiseSVN
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #include "DelUnversionedCommand.h"
22 #include "DeleteUnversionedDlg.h"
24 bool DelUnversionedCommand::Execute()
27 CDeleteUnversionedDlg dlg
;
28 dlg
.m_pathList
= pathList
;
29 if (dlg
.DoModal() == IDOK
)
31 if (dlg
.m_pathList
.GetCount() == 0)
33 // now remove all items by moving them to the trash bin
34 dlg
.m_pathList
.RemoveChildren();
36 for (INT_PTR i
=0; i
<dlg
.m_pathList
.GetCount(); ++i
)
38 filelist
+= dlg
.m_pathList
[i
].GetWinPathString();
42 int len
= filelist
.GetLength();
43 TCHAR
* buf
= new TCHAR
[len
+2];
44 _tcscpy_s(buf
, len
+2, filelist
);
45 for (int i
=0; i
<len
; ++i
)
48 SHFILEOPSTRUCT fileop
;
49 fileop
.hwnd
= hwndExplorer
;
50 fileop
.wFunc
= FO_DELETE
;
53 fileop
.fFlags
= FOF_NO_CONNECTED_ELEMENTS
| FOF_ALLOWUNDO
;
54 fileop
.lpszProgressTitle
= _T("deleting file");
55 bRet
= (SHFileOperation(&fileop
) == 0);