From 5f7e674c14aed1bce9c7671224bbc4234ef65bc5 Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Sat, 21 Jul 2012 19:22:48 +0200 Subject: [PATCH] Optimized remembering of checked/unchecked files on the commit dialog Signed-off-by: Sven Strickroth --- src/Changelog.txt | 1 + src/Git/GitStatusListCtrl.cpp | 2 ++ src/Git/GitStatusListCtrl.h | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Changelog.txt b/src/Changelog.txt index 2ca61d994..964d6a7ac 100644 --- a/src/Changelog.txt +++ b/src/Changelog.txt @@ -20,6 +20,7 @@ Released: unreleased * Fixed issue #1282: gitdll.dll might crash if a pack file is closed which is still in use * Fixed issue #1287: Setting Remote URL not translated to '/' when clicking Apply or OK * Fixed issue #1290: When pushing, 'remote' should default to the tracked archive, or empty + * Optimized remembering of checked/unchecked files on the commit dialog = Release 1.7.11.3 = Released: 2012-07-07 diff --git a/src/Git/GitStatusListCtrl.cpp b/src/Git/GitStatusListCtrl.cpp index 090de7075..c5c4d57e1 100644 --- a/src/Git/GitStatusListCtrl.cpp +++ b/src/Git/GitStatusListCtrl.cpp @@ -621,6 +621,7 @@ void CGitStatusListCtrl::Show(unsigned int dwShow, unsigned int dwCheck /*=0*/, entry->m_Checked=true; else entry->m_Checked=false; + m_mapFilenameToChecked[path] = entry->m_Checked; } if(entry->m_Action & dwShow) @@ -4074,6 +4075,7 @@ void CGitStatusListCtrl::RemoveListEntry(int index) void CGitStatusListCtrl::SetEntryCheck(CTGitPath* pEntry, int listboxIndex, bool bCheck) { pEntry->m_Checked = bCheck; + m_mapFilenameToChecked[pEntry->GetGitPathString()] = bCheck; SetCheck(listboxIndex, bCheck); } diff --git a/src/Git/GitStatusListCtrl.h b/src/Git/GitStatusListCtrl.h index 20027349e..4713d9883 100644 --- a/src/Git/GitStatusListCtrl.h +++ b/src/Git/GitStatusListCtrl.h @@ -1171,7 +1171,7 @@ private: ColumnManager m_ColumnManager; - std::map m_mapFilenameToChecked; ///< Remember manually de-/selected items + std::map m_mapFilenameToChecked; ///< Remember de-/selected items CComCriticalSection m_critSec; friend class CGitStatusListCtrlDropTarget; -- 2.11.4.GIT