From e65f43be2aa7a8fe84f14482859db3aab7cb29dd Mon Sep 17 00:00:00 2001 From: Sup Yut Sum Date: Thu, 20 Dec 2012 14:47:59 +0800 Subject: [PATCH] Fixed issue #1581: Show/Hide tags in the log Signed-off-by: Sup Yut Sum --- Languages/Tortoise.pot | 4 ++++ src/Changelog.txt | 1 + src/Resources/TortoiseProcENG.rc | 1 + src/TortoiseProc/LogDlg.cpp | 29 +++++++++++++++++++++++++++++ src/TortoiseProc/LogDlg.h | 3 +++ src/TortoiseProc/resource.h | 3 ++- 6 files changed, 40 insertions(+), 1 deletion(-) diff --git a/Languages/Tortoise.pot b/Languages/Tortoise.pot index d7875c17b3..617a09b63e 100644 --- a/Languages/Tortoise.pot +++ b/Languages/Tortoise.pot @@ -7215,6 +7215,10 @@ msgstr "" msgid "Show special characters for whitespaces\nShow Whitespaces" msgstr "" +#. Resource IDs: (1730) +msgid "Show ta&gs" +msgstr "" + #. Resource IDs: (1209) msgid "Show un&modified files" msgstr "" diff --git a/src/Changelog.txt b/src/Changelog.txt index 5a6a04e1e0..ceb318edd5 100644 --- a/src/Changelog.txt +++ b/src/Changelog.txt @@ -25,6 +25,7 @@ Released: unreleased - TortoiseUDiff.exe to TortoiseGitUDiff.exe * Fixed issue #1433: Can reset to remote tracking branch after fetch * Fixed issue #763: "Clean up" should show a list of to-be-deleted files + * Fixed issue #1581: Show/Hide tags in the log == Bug Fix == * Fixed issue #1535: Unclear UI in prompt dialog of Stash Save diff --git a/src/Resources/TortoiseProcENG.rc b/src/Resources/TortoiseProcENG.rc index 9f5af38f6f..5e62436ba8 100644 --- a/src/Resources/TortoiseProcENG.rc +++ b/src/Resources/TortoiseProcENG.rc @@ -214,6 +214,7 @@ BEGIN CONTROL "&All Branches",IDC_LOG_ALLBRANCH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,278,181,10 CONTROL "&Follow renames",IDC_LOG_FOLLOWRENAMES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,278,161,10 CONTROL "First Parent",IDC_LOG_FIRSTPARENT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,289,181,10 + CONTROL "Show ta&gs",IDC_LOG_SHOWTAGS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,289,49,10 PUSHBUTTON "S&tatistics",IDC_STATBUTTON,364,265,50,14,WS_DISABLED PUSHBUTTON "Help",IDHELP,364,283,50,14 CONTROL "",IDC_PROGRESS,"msctls_progress32",NOT WS_VISIBLE | WS_BORDER,7,300,349,9 diff --git a/src/TortoiseProc/LogDlg.cpp b/src/TortoiseProc/LogDlg.cpp index 8a075fa745..e48413c29d 100644 --- a/src/TortoiseProc/LogDlg.cpp +++ b/src/TortoiseProc/LogDlg.cpp @@ -53,6 +53,7 @@ CLogDlg::CLogDlg(CWnd* pParent /*=NULL*/) , m_nSortColumn(0) , m_bFollowRenames(FALSE) , m_bSelect(false) + , m_bShowTags(TRUE) , m_bSelectionMustBeContinuous(false) @@ -77,6 +78,12 @@ CLogDlg::CLogDlg(CWnd* pParent /*=NULL*/) m_bAllBranch=m_regbAllBranch; + str = g_Git.m_CurrentDir; + str.Replace(_T(":"),_T("_")); + str = CString(_T("Software\\TortoiseGit\\LogDialog\\ShowTags\\")) + str; + m_regbShowTags = CRegDWORD(str, TRUE); + m_bShowTags = m_regbShowTags; + m_bFirstParent=FALSE; m_bWholeProject=FALSE; @@ -87,6 +94,7 @@ CLogDlg::~CLogDlg() { m_regbAllBranch=m_bAllBranch; + m_regbShowTags = m_bShowTags; m_CurrentFilteredChangedArray.RemoveAll(); @@ -112,6 +120,7 @@ void CLogDlg::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_LOG_ALLBRANCH,m_bAllBranch); DDX_Check(pDX, IDC_LOG_FOLLOWRENAMES, m_bFollowRenames); DDX_Check(pDX, IDC_SHOWWHOLEPROJECT,m_bWholeProject); + DDX_Check(pDX, IDC_LOG_SHOWTAGS, m_bShowTags); DDX_Control(pDX, IDC_SEARCHEDIT, m_cFilter); DDX_Control(pDX, IDC_STATIC_REF, m_staticRef); } @@ -142,6 +151,7 @@ BEGIN_MESSAGE_MAP(CLogDlg, CResizableStandAloneDialog) ON_COMMAND(MSG_FETCHED_DIFF, OnBnClickedHidepaths) ON_BN_CLICKED(IDC_LOG_ALLBRANCH, OnBnClickedAllBranch) ON_BN_CLICKED(IDC_LOG_FOLLOWRENAMES, OnBnClickedFollowRenames) + ON_BN_CLICKED(IDC_LOG_SHOWTAGS, OnBnClickedShowTags) ON_NOTIFY(DTN_DROPDOWN, IDC_DATEFROM, &CLogDlg::OnDtnDropdownDatefrom) ON_NOTIFY(DTN_DROPDOWN, IDC_DATETO, &CLogDlg::OnDtnDropdownDateto) @@ -270,6 +280,7 @@ BOOL CLogDlg::OnInitDialog() AdjustControlSize(IDC_LOG_ALLBRANCH); AdjustControlSize(IDC_SHOWWHOLEPROJECT); AdjustControlSize(IDC_LOG_FOLLOWRENAMES); + AdjustControlSize(IDC_LOG_SHOWTAGS); GetClientRect(m_DlgOrigRect); m_LogList.GetClientRect(m_LogListOrigRect); @@ -307,6 +318,7 @@ BOOL CLogDlg::OnInitDialog() AddAnchor(IDC_LOG_FOLLOWRENAMES, BOTTOM_LEFT); AddAnchor(IDC_LOG_FIRSTPARENT, BOTTOM_LEFT); AddAnchor(IDC_SHOWWHOLEPROJECT, BOTTOM_LEFT); + AddAnchor(IDC_LOG_SHOWTAGS, BOTTOM_LEFT); AddAnchor(IDC_REFRESH, BOTTOM_LEFT); AddAnchor(IDC_STATBUTTON, BOTTOM_RIGHT); AddAnchor(IDC_PROGRESS, BOTTOM_LEFT, BOTTOM_RIGHT); @@ -319,6 +331,11 @@ BOOL CLogDlg::OnInitDialog() else m_LogList.m_ShowMask&=~CGit::LOG_INFO_ALL_BRANCH; + if (m_bShowTags) + m_LogList.m_ShowRefMask |= LOGLIST_SHOWTAGS; + else + m_LogList.m_ShowRefMask &= ~LOGLIST_SHOWTAGS; + // SetPromptParentWindow(m_hWnd); m_JumpType.AddString(CString(MAKEINTRESOURCE(IDS_PROC_LOG_AUTHOREMAIL))); m_JumpType.AddString(CString(MAKEINTRESOURCE(IDS_PROC_LOG_COMMITTEREMAIL))); @@ -2234,6 +2251,18 @@ void CLogDlg::OnBnClickedFollowRenames() FillLogMessageCtrl(false); } +void CLogDlg::OnBnClickedShowTags() +{ + this->UpdateData(); + + if (m_bShowTags) + m_LogList.m_ShowRefMask |= LOGLIST_SHOWTAGS; + else + m_LogList.m_ShowRefMask &= ~LOGLIST_SHOWTAGS; + + m_LogList.Invalidate(); +} + void CLogDlg::OnBnClickedBrowseRef() { CString newRef = CBrowseRefsDlg::PickRef(false,m_LogList.GetStartRef()); diff --git a/src/TortoiseProc/LogDlg.h b/src/TortoiseProc/LogDlg.h index 7d0acaa0c5..386829b65e 100644 --- a/src/TortoiseProc/LogDlg.h +++ b/src/TortoiseProc/LogDlg.h @@ -124,6 +124,7 @@ class CLogDlg : public CResizableStandAloneDialog, IFilterEditValidator afx_msg void OnBnClickedHidepaths(); afx_msg void OnBnClickedAllBranch(); afx_msg void OnBnClickedFollowRenames(); + afx_msg void OnBnClickedShowTags(); afx_msg void OnBnClickedBrowseRef(); afx_msg void OnDtnDropdownDatefrom(NMHDR *pNMHDR, LRESULT *pResult); @@ -147,6 +148,7 @@ class CLogDlg : public CResizableStandAloneDialog, IFilterEditValidator private: CRegDWORD m_regbAllBranch; + CRegDWORD m_regbShowTags; void Refresh (bool clearfilter = false); void DoSizeV1(int delta); @@ -203,6 +205,7 @@ class CLogDlg : public CResizableStandAloneDialog, IFilterEditValidator BOOL m_bWholeProject; BOOL m_bFollowRenames; BOOL m_bShowUnversioned; + BOOL m_bShowTags; CTGitPathList * m_currentChangedArray; LogChangedPathArray m_CurrentFilteredChangedArray; diff --git a/src/TortoiseProc/resource.h b/src/TortoiseProc/resource.h index 6fb28ea5e9..5021f7ef50 100644 --- a/src/TortoiseProc/resource.h +++ b/src/TortoiseProc/resource.h @@ -1216,6 +1216,7 @@ #define IDC_REV1BTN1 1729 #define IDC_CHECK_NORECYCLEBIN 1730 #define IDC_CHECK_DRYRUN 1731 +#define IDC_LOG_SHOWTAGS 1732 #define IDS_DLGTITLE_ADD_DIFF_TOOL 1750 #define IDS_DLGTITLE_ADD_MERGE_TOOL 1751 #define IDS_DLGTITLE_EDIT_DIFF_TOOL 1752 @@ -1656,7 +1657,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 345 #define _APS_NEXT_COMMAND_VALUE 32860 -#define _APS_NEXT_CONTROL_VALUE 1732 +#define _APS_NEXT_CONTROL_VALUE 1733 #define _APS_NEXT_SYMED_VALUE 201 #endif #endif