Perform a stable sort in order to preserve the order
[TortoiseGit.git] / src / TortoiseProc / AddDlg.h
blob76758401dd922e01b3affcc7879b625868ace98e
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2003-2007 - 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.
19 #pragma once
21 #include "StandAloneDlg.h"
22 #include "GitStatusListCtrl.h"
24 /**
25 * \ingroup TortoiseProc
26 * a simple dialog to show the user all unversioned
27 * files below a specified folder.
29 class CAddDlg : public CResizableStandAloneDialog
31 DECLARE_DYNAMIC(CAddDlg)
33 public:
34 CAddDlg(CWnd* pParent = NULL); // standard constructor
35 virtual ~CAddDlg();
37 // Dialog Data
38 enum { IDD = IDD_ADD };
40 protected:
41 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
42 afx_msg void OnBnClickedSelectall();
43 afx_msg LRESULT OnFileDropped(WPARAM, LPARAM lParam);
44 afx_msg void OnTimer(UINT_PTR nIDEvent);
45 afx_msg void OnBnClickedIncludeIgnored();
46 virtual BOOL PreTranslateMessage(MSG* pMsg);
47 virtual BOOL OnInitDialog();
48 virtual void OnOK();
49 virtual void OnCancel();
50 virtual void Refresh();
52 private:
53 static UINT AddThreadEntry(LPVOID pVoid);
54 UINT AddThread();
55 afx_msg LRESULT OnSVNStatusListCtrlNeedsRefresh(WPARAM, LPARAM);
57 DECLARE_MESSAGE_MAP()
59 public:
60 /** holds all the selected files/folders the user wants to add to version
61 * control on exit */
62 CTGitPathList m_pathList;
64 private:
65 CGitStatusListCtrl m_addListCtrl;
66 volatile LONG m_bThreadRunning;
67 CButton m_SelectAll;
68 bool m_bCancelled;
69 BOOL m_bIncludeIgnored;