Limit GUI updates the the main thread
[TortoiseGit.git] / src / TortoiseProc / PushDlg.h
blob64c98de6acc563eafbe0e00763dd7b658362c706
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2008-2012 - 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_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_regAutoLoad;
66 BOOL m_bSetPushRemote;
67 BOOL m_bSetPushBranch;
69 CToolTips m_tooltips;
71 virtual BOOL OnInitDialog();
73 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
75 DECLARE_MESSAGE_MAP()
77 afx_msg void OnBnClickedRd();
78 afx_msg void OnCbnSelchangeBranchSource();
79 afx_msg void OnBnClickedOk();
80 afx_msg void OnBnClickedRemoteManage();
81 afx_msg void OnBnClickedButtonBrowseSourceBranch();
82 afx_msg void OnBnClickedButtonBrowseDestBranch();
83 afx_msg void OnBnClickedPushall();
84 afx_msg void OnBnClickedProcPushSetUpstream();
85 afx_msg void OnBnClickedProcPushSetPushremote();
86 virtual BOOL PreTranslateMessage(MSG* pMsg);
87 void Refresh();
88 void GetRemoteBranch(CString currentBranch);
89 void EnDisablePushRemoteArchiveBranch();