From 3bc3a5c7026193dac21c2eb5d12560118ab7ab0f Mon Sep 17 00:00:00 2001 From: Frank Li Date: Sun, 19 Jul 2009 23:00:06 +0800 Subject: [PATCH] Sync Dialog branch select basic work. Signed-off-by: Frank Li --- src/Resources/TortoiseProcENG.rc | Bin 444988 -> 445030 bytes src/TortoiseProc/SyncDlg.cpp | 51 ++++++++++++++++++++++++++++++----- src/TortoiseProc/SyncDlg.h | 24 +++++++++++++---- src/TortoiseProc/TortoiseProc.vcproj | 4 +++ src/TortoiseProc/resource.h | Bin 165354 -> 165354 bytes 5 files changed, 67 insertions(+), 12 deletions(-) diff --git a/src/Resources/TortoiseProcENG.rc b/src/Resources/TortoiseProcENG.rc index 0ed1f0e01314a051f097ca678e8a9f2742454d4f..3be546c608d00853887fd9741476f1c9835dc4f5 100644 GIT binary patch delta 116 zcmdlpMf%wk>4p}@7N#xCEN#;rmNNxSE+}9THe%3WFl4X*lI9EsK+=N2Z1Tef!|4X+ znRuq#y<^gtp3uQ8F#X% delta 108 zcmaDhMS9N^>4p}@7N#xCEN#;_Y+&-4p4Z9DHa)J5nTOGM`ocs;!|5LmGVx8fd&i_P zdBak+>3JQ@T+{FEXB61}sf}5T5v0hQ*>w7Ww@h5yJvx{-a7+&iWtM3-o5&2rEI`b< K-E1P8fh7R8UMErj diff --git a/src/TortoiseProc/SyncDlg.cpp b/src/TortoiseProc/SyncDlg.cpp index 8a52e21..2ba67e9 100644 --- a/src/TortoiseProc/SyncDlg.cpp +++ b/src/TortoiseProc/SyncDlg.cpp @@ -33,7 +33,7 @@ CSyncDlg::CSyncDlg(CWnd* pParent /*=NULL*/) : CResizableStandAloneDialog(CSyncDlg::IDD, pParent) , m_bAutoLoadPuttyKey(FALSE) { - + m_pTooltip=&this->m_tooltips; } CSyncDlg::~CSyncDlg() @@ -44,8 +44,6 @@ void CSyncDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Check(pDX, IDC_CHECK_PUTTY_KEY, m_bAutoLoadPuttyKey); - DDX_Control(pDX, IDC_COMBOBOXEX_LOCAL_BRANCH, m_ctrlLocalBranch); - DDX_Control(pDX, IDC_COMBOBOXEX_REMOTE_BRANCH, m_ctrlRemoteBranch); DDX_Control(pDX, IDC_COMBOBOXEX_URL, m_ctrlURL); DDX_Control(pDX, IDC_BUTTON_TABCTRL, m_ctrlDumyButton); DDX_Control(pDX, IDC_BUTTON_PULL, m_ctrlPull); @@ -53,6 +51,8 @@ void CSyncDlg::DoDataExchange(CDataExchange* pDX) DDX_Control(pDX, IDC_STATIC_STATUS, m_ctrlStatus); DDX_Control(pDX, IDC_PROGRESS_SYNC, m_ctrlProgress); DDX_Control(pDX, IDC_ANIMATE_SYNC, m_ctrlAnimate); + + BRANCH_COMBOX_DDX; } @@ -61,6 +61,8 @@ BEGIN_MESSAGE_MAP(CSyncDlg, CResizableStandAloneDialog) ON_BN_CLICKED(IDC_BUTTON_PUSH, &CSyncDlg::OnBnClickedButtonPush) ON_BN_CLICKED(IDC_BUTTON_APPLY, &CSyncDlg::OnBnClickedButtonApply) ON_BN_CLICKED(IDC_BUTTON_EMAIL, &CSyncDlg::OnBnClickedButtonEmail) + ON_BN_CLICKED(IDC_BUTTON_MANAGE, &CSyncDlg::OnBnClickedButtonManage) + BRANCH_COMBOX_EVENT END_MESSAGE_MAP() @@ -93,9 +95,23 @@ BOOL CSyncDlg::OnInitDialog() { CResizableStandAloneDialog::OnInitDialog(); - AddAnchor(IDC_STATIC_REMOTE_BRANCH,TOP_RIGHT); - AddAnchor(IDC_COMBOBOXEX_REMOTE_BRANCH,TOP_RIGHT); - AddAnchor(IDC_BUTTON_REMOTE_BRANCH,TOP_RIGHT); + //Create Tabctrl + CWnd *pwnd=this->GetDlgItem(IDC_BUTTON_TABCTRL); + CRect rectDummy; + pwnd->GetWindowRect(&rectDummy); + this->ScreenToClient(rectDummy); + + if (!m_ctrlTabCtrl.Create(CMFCTabCtrl::STYLE_FLAT, rectDummy, this, IDC_SYNC_TAB)) + { + TRACE0("Failed to create output tab window\n"); + return FALSE; // fail to create + } + m_ctrlTabCtrl.SetResizeMode(CMFCTabCtrl::RESIZE_NO); + + this->m_tooltips.Create(this); + + AddAnchor(IDC_SYNC_TAB,TOP_LEFT,BOTTOM_RIGHT); + AddAnchor(IDC_GROUP_INFO,TOP_LEFT,TOP_RIGHT); AddAnchor(IDC_COMBOBOXEX_URL,TOP_LEFT,TOP_RIGHT); AddAnchor(IDC_BUTTON_MANAGE,TOP_RIGHT); @@ -108,6 +124,13 @@ BOOL CSyncDlg::OnInitDialog() AddAnchor(IDHELP,BOTTOM_RIGHT); AddAnchor(IDC_STATIC_STATUS,BOTTOM_LEFT); AddAnchor(IDC_ANIMATE_SYNC,TOP_RIGHT); + + BRANCH_COMBOX_ADD_ANCHOR(); + + CString WorkingDir=g_Git.m_CurrentDir; + WorkingDir.Replace(_T(':'),_T('_')); + m_RegKeyRemoteBranch = CString(_T("Software\\TortoiseGit\\History\\SyncBranch\\"))+WorkingDir; + this->AddOthersToAnchor(); // TODO: Add extra initialization here @@ -120,7 +143,7 @@ BOOL CSyncDlg::OnInitDialog() this->m_ctrlPull.AddEntry(CString(_T("&Fetch"))); this->m_ctrlPull.AddEntry(CString(_T("Fetch&&Rebase"))); - CString WorkingDir=g_Git.m_CurrentDir; + WorkingDir.Replace(_T(':'),_T('_')); CString regkey ; @@ -139,6 +162,20 @@ BOOL CSyncDlg::OnInitDialog() EnableSaveRestore(_T("SyncDlg")); + this->LoadBranchInfo(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } + +void CSyncDlg::OnBnClickedButtonManage() +{ + // TODO: Add your control notification handler code here + CAppUtils::LaunchRemoteSetting(); +} + +BOOL CSyncDlg::PreTranslateMessage(MSG* pMsg) +{ + // TODO: Add your specialized code here and/or call the base class + m_tooltips.RelayEvent(pMsg); + return __super::PreTranslateMessage(pMsg); +} diff --git a/src/TortoiseProc/SyncDlg.h b/src/TortoiseProc/SyncDlg.h index bf3c94b..a2222a7 100644 --- a/src/TortoiseProc/SyncDlg.h +++ b/src/TortoiseProc/SyncDlg.h @@ -25,9 +25,12 @@ #include "HistoryCombo.h" #include "MenuButton.h" #include "registry.h" +#include "Balloon.h" +#include "BranchCombox.h" // CSyncDlg dialog +#define IDC_SYNC_TAB 0x1000000 -class CSyncDlg : public CResizableStandAloneDialog +class CSyncDlg : public CResizableStandAloneDialog,public CBranchCombox { DECLARE_DYNAMIC(CSyncDlg) @@ -40,16 +43,25 @@ public: protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + BRANCH_COMBOX_EVENT_HANDLE(); CRegDWORD m_regPullButton; CRegDWORD m_regPushButton; - + CMFCTabCtrl m_ctrlTabCtrl; + CBalloon m_tooltips; + + void SetRemote(CString remote) + { + if(!remote.IsEmpty()) + { + this->m_ctrlURL.AddString(remote); + } + } DECLARE_MESSAGE_MAP() public: BOOL m_bAutoLoadPuttyKey; - CComboBoxEx m_ctrlLocalBranch; - CComboBoxEx m_ctrlRemoteBranch; - CComboBoxEx m_ctrlURL; + + CHistoryCombo m_ctrlURL; CButton m_ctrlDumyButton; CMenuButton m_ctrlPull; CMenuButton m_ctrlPush; @@ -61,4 +73,6 @@ public: CProgressCtrl m_ctrlProgress; CAnimateCtrl m_ctrlAnimate; virtual BOOL OnInitDialog(); + afx_msg void OnBnClickedButtonManage(); + virtual BOOL PreTranslateMessage(MSG* pMsg); }; diff --git a/src/TortoiseProc/TortoiseProc.vcproj b/src/TortoiseProc/TortoiseProc.vcproj index e980a58..95e9e42 100644 --- a/src/TortoiseProc/TortoiseProc.vcproj +++ b/src/TortoiseProc/TortoiseProc.vcproj @@ -2032,6 +2032,10 @@ Name="Utility Dialogs" > + + diff --git a/src/TortoiseProc/resource.h b/src/TortoiseProc/resource.h index 6e47101fa5fb60a5b267f8b410340a6abaf27258..50bf2eb302452bfbe17fab3317e7459ce99ca4e2 100644 GIT binary patch delta 54 zcmaFW&Go9At6>Y{6p!s6JQywPrVI2l%4}cI&Uk3?^a&n}Hq)K7nQA~Rsp%#Hj7r<* JX*2mm0RUg`6YBr~ delta 87 zcmV-d0I2`!iwf$C3V^f$lt`1HV+NO?b^#EV#3}+Jmt02yFt?yc0W3b2N&y;|uyz3i tmw+n*9s@A|Hj{DeA-B+m0otRJAWsC7@K6Mo4l4pwlORtPx6~^F7Fv-89`FDF -- 2.11.0