Merge branch 'scintilla-405'
[TortoiseGit.git] / src / TortoiseProc / PushDlg.h
blobae38d6fc2a5f8e67e0447c3394b5df948eac2077
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2008-2016 - 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 "HorizontalResizableStandAloneDialog.h"
23 #include "HistoryCombo.h"
24 #include "MenuButton.h"
25 #include "registry.h"
27 // CPushDlg dialog
28 class CPushDlg : public CHorizontalResizableStandAloneDialog
30 DECLARE_DYNAMIC(CPushDlg)
32 public:
33 CPushDlg(CWnd* pParent = nullptr); // standard constructor
34 virtual ~CPushDlg();
36 // Dialog Data
37 enum { IDD = IDD_PUSH };
39 protected:
40 CHistoryCombo m_BranchRemote;
41 CHistoryCombo m_BranchSource;
42 CHistoryCombo m_Remote;
43 CHistoryCombo m_RemoteURL;
44 CMenuButton m_BrowseLocalRef;
45 CComboBox m_RecurseSubmodulesCombo;
46 CRegString m_RemoteReg;
48 public:
49 CString m_URL;
50 CString m_BranchSourceName;
51 CString m_BranchRemoteName;
53 BOOL m_bTags;
54 BOOL m_bForce;
55 BOOL m_bForceWithLease;
56 BOOL m_bPack;
57 BOOL m_bAutoLoad;
58 BOOL m_bPushAllBranches;
59 BOOL m_bPushAllRemotes;
60 BOOL m_bSetUpstream;
61 int m_RecurseSubmodules;
63 protected:
64 CRegDWORD m_regPushAllRemotes;
65 CRegDWORD m_regPushAllBranches;
66 CRegDWORD m_regThinPack;
67 CRegDWORD m_regAutoLoad;
68 CRegDWORD m_regRecurseSubmodules;
70 BOOL m_bSetPushRemote;
71 BOOL m_bSetPushBranch;
73 virtual BOOL OnInitDialog() override;
75 virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
77 DECLARE_MESSAGE_MAP()
79 afx_msg void OnBnClickedRd();
80 afx_msg void OnCbnSelchangeBranchSource();
81 afx_msg void OnBnClickedOk();
82 afx_msg void OnBnClickedRemoteManage();
83 afx_msg void OnBnClickedButtonBrowseSourceBranch();
84 afx_msg void OnBnClickedButtonBrowseDestBranch();
85 afx_msg void OnBnClickedPushall();
86 afx_msg void OnBnClickedForce();
87 afx_msg void OnBnClickedForceWithLease();
88 afx_msg void OnBnClickedTags();
89 afx_msg void OnBnClickedProcPushSetUpstream();
90 afx_msg void OnBnClickedProcPushSetPushremote();
91 virtual BOOL PreTranslateMessage(MSG* pMsg) override;
92 void Refresh();
93 void GetRemoteBranch(CString currentBranch);
94 void EnDisablePushRemoteArchiveBranch();