Extend static functions in CAppUtils with a window handle parameter
[TortoiseGit.git] / src / TortoiseProc / AddDlg.h
blobf1080ef7656cf41fa89f647001127852685a2c6d
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2011, 2013, 2016, 2017 - TortoiseGit
4 // Copyright (C) 2003-2007 - TortoiseSVN
6 // This program is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU General Public License
8 // as published by the Free Software Foundation; either version 2
9 // of the License, or (at your option) any later version.
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software Foundation,
18 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #pragma once
22 #include "StandAloneDlg.h"
23 #include "GitStatusListCtrl.h"
25 /**
26 * \ingroup TortoiseProc
27 * a simple dialog to show the user all unversioned
28 * files below a specified folder.
30 class CAddDlg : public CResizableStandAloneDialog
32 DECLARE_DYNAMIC(CAddDlg)
34 public:
35 CAddDlg(CWnd* pParent = nullptr); // standard constructor
36 virtual ~CAddDlg();
38 // Dialog Data
39 enum { IDD = IDD_ADD };
41 protected:
42 virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
43 afx_msg void OnBnClickedSelectall();
44 afx_msg LRESULT OnFileDropped(WPARAM, LPARAM lParam);
45 afx_msg void OnTimer(UINT_PTR nIDEvent);
46 afx_msg void OnBnClickedIncludeIgnored();
47 virtual BOOL PreTranslateMessage(MSG* pMsg) override;
48 virtual BOOL OnInitDialog() override;
49 virtual void OnOK() override;
50 virtual void OnCancel() override;
51 void Refresh();
53 private:
54 static UINT AddThreadEntry(LPVOID pVoid);
55 UINT AddThread();
56 afx_msg LRESULT OnSVNStatusListCtrlNeedsRefresh(WPARAM, LPARAM);
58 DECLARE_MESSAGE_MAP()
60 public:
61 /** holds all the selected files/folders the user wants to add to version
62 * control on exit */
63 CTGitPathList m_pathList;
65 private:
66 CGitStatusListCtrl m_addListCtrl;
67 volatile LONG m_bThreadRunning;
68 CButton m_SelectAll;
69 bool m_bCancelled;
70 BOOL m_bIncludeIgnored;