From e0c4bf3343462b303265318fa948ba0b08141cd5 Mon Sep 17 00:00:00 2001 From: Sup Yut Sum Date: Sat, 9 Mar 2013 17:45:22 +0800 Subject: [PATCH] Add submodule update button in Submodule Diff Dialog Signed-off-by: Sup Yut Sum --- doc/images/en/SubmoduleDiff.png | Bin 10693 -> 20106 bytes src/Resources/TortoiseProcENG.rc | 1 + src/TortoiseProc/Commands/SubmoduleCommand.cpp | 6 ++++++ src/TortoiseProc/SubmoduleDiffDlg.cpp | 11 +++++++++++ src/TortoiseProc/SubmoduleDiffDlg.h | 1 + src/TortoiseProc/SubmoduleUpdateDlg.cpp | 19 ++++++++++++++----- 6 files changed, 33 insertions(+), 5 deletions(-) rewrite doc/images/en/SubmoduleDiff.png (99%) diff --git a/doc/images/en/SubmoduleDiff.png b/doc/images/en/SubmoduleDiff.png dissimilarity index 99% index 14e6ca95305ab87ad71a8816f560c1c3cb7f8d9c..eeaba8909e769bf57b1c6b2b1308377152665691 100644 GIT binary patch literal 20106 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 Z05Svh&M`*=|NTS>&{ETTQlSD5{~tPLNS6Qr diff --git a/src/Resources/TortoiseProcENG.rc b/src/Resources/TortoiseProcENG.rc index a35acb95e..eba2c0789 100644 --- a/src/Resources/TortoiseProcENG.rc +++ b/src/Resources/TortoiseProcENG.rc @@ -1656,6 +1656,7 @@ BEGIN GROUPBOX "To",IDC_TOGROUP,7,69,368,65 LTEXT "Type:",IDC_STATIC_CHANGETYPE,15,82,33,8 LTEXT "",IDC_CHANGETYPE,52,82,100,12 + PUSHBUTTON "Update",IDC_BUTTON_UPDATE,244,82,50,12 PUSHBUTTON "Show diff",IDC_SHOW_DIFF,306,82,60,12 LTEXT "Revision:",IDC_STATIC_REVISION2,15,99,33,8 EDITTEXT IDC_TOHASH,52,99,208,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER diff --git a/src/TortoiseProc/Commands/SubmoduleCommand.cpp b/src/TortoiseProc/Commands/SubmoduleCommand.cpp index 21adc2801..34603ea16 100644 --- a/src/TortoiseProc/Commands/SubmoduleCommand.cpp +++ b/src/TortoiseProc/Commands/SubmoduleCommand.cpp @@ -99,6 +99,12 @@ bool SubmoduleUpdateCommand::Execute() CSubmoduleUpdateDlg submoduleUpdateDlg; submoduleUpdateDlg.m_PathFilterList = pathFilterList; + if (parser.HasKey(_T("selectedpath"))) + { + CString selectedPath = parser.GetVal(_T("selectedpath")); + selectedPath.Replace(_T('\\'), _T('/')); + submoduleUpdateDlg.m_PathList.push_back(selectedPath); + } if (submoduleUpdateDlg.DoModal() != IDOK) return false; diff --git a/src/TortoiseProc/SubmoduleDiffDlg.cpp b/src/TortoiseProc/SubmoduleDiffDlg.cpp index 1139efc64..4f6d7024e 100644 --- a/src/TortoiseProc/SubmoduleDiffDlg.cpp +++ b/src/TortoiseProc/SubmoduleDiffDlg.cpp @@ -53,6 +53,7 @@ BEGIN_MESSAGE_MAP(CSubmoduleDiffDlg, CHorizontalResizableStandAloneDialog) ON_BN_CLICKED(IDC_LOG2, &CSubmoduleDiffDlg::OnBnClickedLog2) ON_BN_CLICKED(IDC_SHOW_DIFF, &CSubmoduleDiffDlg::OnBnClickedShowDiff) ON_WM_CTLCOLOR() + ON_BN_CLICKED(IDC_BUTTON_UPDATE, &CSubmoduleDiffDlg::OnBnClickedButtonUpdate) END_MESSAGE_MAP() BOOL CSubmoduleDiffDlg::OnInitDialog() @@ -75,6 +76,7 @@ BOOL CSubmoduleDiffDlg::OnInitDialog() AddAnchor(IDC_LOG, TOP_RIGHT); AddAnchor(IDC_LOG2, TOP_RIGHT); + AddAnchor(IDC_BUTTON_UPDATE, TOP_RIGHT); AddAnchor(IDC_SHOW_DIFF, TOP_RIGHT); AddAnchor(IDC_FROMHASH, TOP_LEFT, TOP_RIGHT); @@ -120,6 +122,8 @@ BOOL CSubmoduleDiffDlg::OnInitDialog() m_ctrlShowDiffBtn.AddEntry(MAKEINTRESOURCE(IDS_LOG_POPUP_COMPARE)); } + GetDlgItem(IDC_BUTTON_UPDATE)->ShowWindow(!m_bFromOK || !m_bToOK || m_bToIsWorkingCopy ? SW_SHOW : SW_HIDE); + return FALSE; } @@ -238,3 +242,10 @@ void CSubmoduleDiffDlg::OnBnClickedShowDiff() sCmd.Format(_T("/command:showcompare /path:\"%s\" /revision1:%s /revision2:%s"), g_Git.m_CurrentDir + _T("\\") + m_sPath, m_sFromHash, ((m_bDirty && m_nChangeType == Unknown) || m_ctrlShowDiffBtn.GetCurrentEntry() == 1) ? GIT_REV_ZERO : m_sToHash); CAppUtils::RunTortoiseGitProc(sCmd); } + +void CSubmoduleDiffDlg::OnBnClickedButtonUpdate() +{ + CString sCmd; + sCmd.Format(_T("/command:subupdate /bkpath:\"%s\" /selectedpath:\"%s\""), g_Git.m_CurrentDir, m_sPath); + CAppUtils::RunTortoiseGitProc(sCmd); +} diff --git a/src/TortoiseProc/SubmoduleDiffDlg.h b/src/TortoiseProc/SubmoduleDiffDlg.h index 88b46b61c..e9f6efa49 100644 --- a/src/TortoiseProc/SubmoduleDiffDlg.h +++ b/src/TortoiseProc/SubmoduleDiffDlg.h @@ -55,6 +55,7 @@ protected: afx_msg void OnBnClickedLog(); afx_msg void OnBnClickedLog2(); afx_msg void OnBnClickedShowDiff(); + afx_msg void OnBnClickedButtonUpdate(); void ShowLog(CString hash); CMenuButton m_ctrlShowDiffBtn; diff --git a/src/TortoiseProc/SubmoduleUpdateDlg.cpp b/src/TortoiseProc/SubmoduleUpdateDlg.cpp index 1ac8e8bfb..06663c636 100644 --- a/src/TortoiseProc/SubmoduleUpdateDlg.cpp +++ b/src/TortoiseProc/SubmoduleUpdateDlg.cpp @@ -123,13 +123,22 @@ BOOL CSubmoduleUpdateDlg::OnInitDialog() STRING_VECTOR list; GetSubmodulePathList(list, m_PathFilterList); STRING_VECTOR selected; - int pos = 0; - while (pos >= 0) + if (m_PathList.empty()) { - CString part = path.Tokenize(_T("|"), pos); - if (!part.IsEmpty()) - selected.push_back(part); + int pos = 0; + while (pos >= 0) + { + CString part = path.Tokenize(_T("|"), pos); + if (!part.IsEmpty()) + selected.push_back(part); + } + } + else + { + for (size_t i = 0; i < m_PathList.size(); ++i) + selected.push_back(m_PathList[i]); } + for (size_t i = 0; i < list.size(); ++i) { m_PathListBox.AddString(list[i]); -- 2.11.4.GIT