Merge branch 'scintilla-551'
[TortoiseGit.git] / src / TortoiseProc / SubmoduleUpdateDlg.h
blob10cfb368a2fdf65ba28adb2ca7104f0484d4ad6a
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2012-2016, 2022-2023 - TortoiseGit
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 #pragma once
22 #include "StandAloneDlg.h"
23 #include "registry.h"
24 #include "HistoryCombo.h"
26 class CSubmoduleUpdateDlg : public CResizableStandAloneDialog
28 DECLARE_DYNAMIC(CSubmoduleUpdateDlg)
30 public:
31 CSubmoduleUpdateDlg(CWnd* pParent = nullptr); // standard constructor
32 virtual ~CSubmoduleUpdateDlg();
34 // Dialog Data
35 enum { IDD = IDD_SUBMODULE_UPDATE };
37 static bool s_bSortLogical;
39 protected:
40 BOOL OnInitDialog() override;
41 void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
43 DECLARE_MESSAGE_MAP()
45 afx_msg void OnBnClickedOk();
46 afx_msg void OnLbnSelchangeListPath();
47 afx_msg void OnBnClickedSelectall();
48 afx_msg void OnBnClickedShowWholeProject();
50 void Refresh();
51 void SetDlgTitle();
53 public:
54 BOOL m_bInit;
55 BOOL m_bRecursive;
56 BOOL m_bForce;
57 BOOL m_bNoFetch;
58 BOOL m_bMerge;
59 BOOL m_bRebase;
60 BOOL m_bRemote;
61 STRING_VECTOR m_PathFilterList;
62 STRING_VECTOR m_PathList;
63 bool m_bAllSubmodulesSelected;
65 protected:
66 CRegDWORD m_regInit;
67 CRegDWORD m_regRecursive;
68 CRegDWORD m_regForce;
69 CRegDWORD m_regNoFetch;
70 CRegDWORD m_regMerge;
71 CRegDWORD m_regRebase;
72 CRegDWORD m_regRemote;
73 CRegDWORD m_regShowWholeProject;
74 CListBox m_PathListBox;
75 CRegString m_regPath;
76 CButton m_SelectAll;
77 BOOL m_bWholeProject;
78 CString m_sTitle;