Fixed issue #2167: Support git push --force-with-lease option
[TortoiseGit.git] / src / TortoiseProc / PushDlg.h
blobbd4f4314c2dfec2fa3b72ea9884ff98733295bc2
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2008-2014 - 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"
26 #include "Tooltip.h"
28 // CPushDlg dialog
29 class CPushDlg : public CHorizontalResizableStandAloneDialog
31 DECLARE_DYNAMIC(CPushDlg)
33 public:
34 CPushDlg(CWnd* pParent = NULL); // standard constructor
35 virtual ~CPushDlg();
37 // Dialog Data
38 enum { IDD = IDD_PUSH };
40 protected:
41 CHistoryCombo m_BranchRemote;
42 CHistoryCombo m_BranchSource;
43 CHistoryCombo m_Remote;
44 CHistoryCombo m_RemoteURL;
45 CMenuButton m_BrowseLocalRef;
46 CComboBox m_RecurseSubmodulesCombo;
47 CRegString m_RemoteReg;
49 public:
50 CString m_URL;
51 CString m_BranchSourceName;
52 CString m_BranchRemoteName;
54 BOOL m_bTags;
55 BOOL m_bForce;
56 BOOL m_bForceWithLease;
57 BOOL m_bPack;
58 BOOL m_bAutoLoad;
59 BOOL m_bPushAllBranches;
60 BOOL m_bPushAllRemotes;
61 BOOL m_bSetUpstream;
62 int m_RecurseSubmodules;
64 protected:
65 CRegDWORD m_regPushAllRemotes;
66 CRegDWORD m_regPushAllBranches;
67 CRegDWORD m_regThinPack;
68 CRegDWORD m_regAutoLoad;
69 CRegDWORD m_regRecurseSubmodules;
71 BOOL m_bSetPushRemote;
72 BOOL m_bSetPushBranch;
74 CToolTips m_tooltips;
76 virtual BOOL OnInitDialog();
78 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
80 DECLARE_MESSAGE_MAP()
82 afx_msg void OnBnClickedRd();
83 afx_msg void OnCbnSelchangeBranchSource();
84 afx_msg void OnBnClickedOk();
85 afx_msg void OnBnClickedRemoteManage();
86 afx_msg void OnBnClickedButtonBrowseSourceBranch();
87 afx_msg void OnBnClickedButtonBrowseDestBranch();
88 afx_msg void OnBnClickedPushall();
89 afx_msg void OnBnClickedForce();
90 afx_msg void OnBnClickedForceWithLease();
91 afx_msg void OnBnClickedProcPushSetUpstream();
92 afx_msg void OnBnClickedProcPushSetPushremote();
93 virtual BOOL PreTranslateMessage(MSG* pMsg);
94 void Refresh();
95 void GetRemoteBranch(CString currentBranch);
96 void EnDisablePushRemoteArchiveBranch();