OSDN Git Service

Record Push and Pull button at sync dialog
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / SyncDlg.cpp
1 // TortoiseGit - a Windows shell extension for easy version control\r
2 \r
3 // Copyright (C) 2008-2009 - TortoiseGit\r
4 \r
5 // This program is free software; you can redistribute it and/or\r
6 // modify it under the terms of the GNU General Public License\r
7 // as published by the Free Software Foundation; either version 2\r
8 // of the License, or (at your option) any later version.\r
9 \r
10 // This program is distributed in the hope that it will be useful,\r
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 // GNU General Public License for more details.\r
14 \r
15 // You should have received a copy of the GNU General Public License\r
16 // along with this program; if not, write to the Free Software Foundation,\r
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
18 //\r
19 \r
20 // SyncDlg.cpp : implementation file\r
21 //\r
22 \r
23 #include "stdafx.h"\r
24 #include "TortoiseProc.h"\r
25 #include "SyncDlg.h"\r
26 \r
27 \r
28 // CSyncDlg dialog\r
29 \r
30 IMPLEMENT_DYNAMIC(CSyncDlg, CResizableStandAloneDialog)\r
31 \r
32 CSyncDlg::CSyncDlg(CWnd* pParent /*=NULL*/)\r
33         : CResizableStandAloneDialog(CSyncDlg::IDD, pParent)\r
34         , m_bAutoLoadPuttyKey(FALSE)\r
35 {\r
36 \r
37 }\r
38 \r
39 CSyncDlg::~CSyncDlg()\r
40 {\r
41 }\r
42 \r
43 void CSyncDlg::DoDataExchange(CDataExchange* pDX)\r
44 {\r
45         CDialog::DoDataExchange(pDX);\r
46         DDX_Check(pDX, IDC_CHECK_PUTTY_KEY, m_bAutoLoadPuttyKey);\r
47         DDX_Control(pDX, IDC_COMBOBOXEX_LOCAL_BRANCH, m_ctrlLocalBranch);\r
48         DDX_Control(pDX, IDC_COMBOBOXEX_REMOTE_BRANCH, m_ctrlRemoteBranch);\r
49         DDX_Control(pDX, IDC_COMBOBOXEX_URL, m_ctrlURL);\r
50         DDX_Control(pDX, IDC_BUTTON_TABCTRL, m_ctrlDumyButton);\r
51         DDX_Control(pDX, IDC_BUTTON_PULL, m_ctrlPull);\r
52         DDX_Control(pDX, IDC_BUTTON_PUSH, m_ctrlPush);\r
53         DDX_Control(pDX, IDC_STATIC_STATUS, m_ctrlStatus);\r
54         DDX_Control(pDX, IDC_PROGRESS_SYNC, m_ctrlProgress);\r
55         DDX_Control(pDX, IDC_ANIMATE_SYNC, m_ctrlAnimate);\r
56 }\r
57 \r
58 \r
59 BEGIN_MESSAGE_MAP(CSyncDlg, CResizableStandAloneDialog)\r
60         ON_BN_CLICKED(IDC_BUTTON_PULL, &CSyncDlg::OnBnClickedButtonPull)\r
61         ON_BN_CLICKED(IDC_BUTTON_PUSH, &CSyncDlg::OnBnClickedButtonPush)\r
62         ON_BN_CLICKED(IDC_BUTTON_APPLY, &CSyncDlg::OnBnClickedButtonApply)\r
63         ON_BN_CLICKED(IDC_BUTTON_EMAIL, &CSyncDlg::OnBnClickedButtonEmail)\r
64 END_MESSAGE_MAP()\r
65 \r
66 \r
67 // CSyncDlg message handlers\r
68 \r
69 void CSyncDlg::OnBnClickedButtonPull()\r
70 {\r
71         // TODO: Add your control notification handler code here\r
72         this->m_regPullButton =this->m_ctrlPull.GetCurrentEntry();\r
73 }\r
74 \r
75 void CSyncDlg::OnBnClickedButtonPush()\r
76 {\r
77         // TODO: Add your control notification handler code here\r
78         this->m_regPushButton=this->m_ctrlPush.GetCurrentEntry();\r
79 \r
80 }\r
81 \r
82 void CSyncDlg::OnBnClickedButtonApply()\r
83 {\r
84         // TODO: Add your control notification handler code here\r
85 }\r
86 \r
87 void CSyncDlg::OnBnClickedButtonEmail()\r
88 {\r
89         // TODO: Add your control notification handler code here\r
90 }\r
91 \r
92 BOOL CSyncDlg::OnInitDialog()\r
93 {\r
94         CResizableStandAloneDialog::OnInitDialog();\r
95 \r
96         AddAnchor(IDC_STATIC_REMOTE_BRANCH,TOP_RIGHT);\r
97         AddAnchor(IDC_COMBOBOXEX_REMOTE_BRANCH,TOP_RIGHT);\r
98         AddAnchor(IDC_BUTTON_REMOTE_BRANCH,TOP_RIGHT);\r
99         AddAnchor(IDC_GROUP_INFO,TOP_LEFT,TOP_RIGHT);\r
100         AddAnchor(IDC_COMBOBOXEX_URL,TOP_LEFT,TOP_RIGHT);\r
101         AddAnchor(IDC_BUTTON_MANAGE,TOP_RIGHT);\r
102         AddAnchor(IDC_BUTTON_PULL,BOTTOM_LEFT);\r
103         AddAnchor(IDC_BUTTON_PUSH,BOTTOM_LEFT);\r
104         AddAnchor(IDC_BUTTON_APPLY,BOTTOM_LEFT);\r
105         AddAnchor(IDC_BUTTON_EMAIL,BOTTOM_LEFT);\r
106         AddAnchor(IDC_PROGRESS_SYNC,BOTTOM_LEFT,BOTTOM_RIGHT);\r
107         AddAnchor(IDOK,BOTTOM_RIGHT);\r
108         AddAnchor(IDHELP,BOTTOM_RIGHT);\r
109         AddAnchor(IDC_STATIC_STATUS,BOTTOM_LEFT);\r
110         AddAnchor(IDC_ANIMATE_SYNC,TOP_RIGHT);\r
111 \r
112         this->AddOthersToAnchor();\r
113         // TODO:  Add extra initialization here\r
114 \r
115         this->m_ctrlPush.AddEntry(CString(_T("Push")));\r
116         this->m_ctrlPush.AddEntry(CString(_T("Push tags")));\r
117         this->m_ctrlPush.AddEntry(CString(_T("Push All")));\r
118 \r
119         this->m_ctrlPull.AddEntry(CString(_T("&Pull")));\r
120         this->m_ctrlPull.AddEntry(CString(_T("&Fetch")));\r
121         this->m_ctrlPull.AddEntry(CString(_T("Fetch&&Rebase")));\r
122 \r
123         CString WorkingDir=g_Git.m_CurrentDir;\r
124         WorkingDir.Replace(_T(':'),_T('_'));\r
125 \r
126         CString regkey ;\r
127         regkey.Format(_T("Software\\TortoiseGit\\TortoiseProc\\Sync\\%s"),WorkingDir);\r
128 \r
129         this->m_regPullButton = CRegDWORD(regkey+_T("\\Pull"),0);\r
130         this->m_regPushButton = CRegDWORD(regkey+_T("\\Push"),0);\r
131 \r
132         this->m_ctrlPull.SetCurrentEntry(this->m_regPullButton);\r
133         this->m_ctrlPush.SetCurrentEntry(this->m_regPushButton);\r
134 \r
135         CString str;\r
136         this->GetWindowText(str);\r
137         str += _T(" - ") + g_Git.m_CurrentDir;\r
138         this->SetWindowText(str);\r
139 \r
140         EnableSaveRestore(_T("SyncDlg"));\r
141 \r
142         return TRUE;  // return TRUE unless you set the focus to a control\r
143         // EXCEPTION: OCX Property Pages should return FALSE\r
144 }\r