OSDN Git Service

BugID 16 Fix F5 Refresh Don't work problem
[tortoisegit/TortoiseGitJp.git] / src / Git / GitStatusListCtrl.cpp
index 982bab7..4357bb3 100644 (file)
@@ -2735,7 +2735,7 @@ void CGitStatusListCtrl::OnContextMenuList(CWnd * pWnd, CPoint point)
                                {\r
                                        CString sCmd;\r
                                        sCmd.Format(_T("\"%s\" /command:blame /path:\"%s\""),\r
-                                               (LPCTSTR)(CPathUtils::GetAppDirectory()+_T("TortoiseProc.exe")), g_Git.m_CurrentDir+filepath->GetWinPath());\r
+                                               (LPCTSTR)(CPathUtils::GetAppDirectory()+_T("TortoiseProc.exe")), g_Git.m_CurrentDir+_T("\\")+filepath->GetWinPath());\r
 \r
                                        CAppUtils::LaunchApplication(sCmd, NULL, false);\r
                                }\r
@@ -2745,7 +2745,7 @@ void CGitStatusListCtrl::OnContextMenuList(CWnd * pWnd, CPoint point)
                                {\r
                                        CString sCmd;\r
                                        sCmd.Format(_T("\"%s\" /command:log /path:\"%s\""),\r
-                                               (LPCTSTR)(CPathUtils::GetAppDirectory()+_T("TortoiseProc.exe")), g_Git.m_CurrentDir+filepath->GetWinPath());\r
+                                               (LPCTSTR)(CPathUtils::GetAppDirectory()+_T("TortoiseProc.exe")), g_Git.m_CurrentDir+_T("\\")+filepath->GetWinPath());\r
 \r
                                        CAppUtils::LaunchApplication(sCmd, NULL, false);\r
                                }\r
@@ -4315,7 +4315,11 @@ void CGitStatusListCtrl::OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult)
                                // brown  : missing, deleted, replaced\r
                                // green  : merged (or potential merges)\r
                                // red    : conflicts or sure conflicts\r
-                               if(entry->m_Action & CTGitPath::LOGACTIONS_UNMERGED)\r
+                               if(entry->m_Action & CTGitPath::LOGACTIONS_GRAY)\r
+                               {\r
+                                       crText = RGB(128,128,128);\r
+\r
+                               }else if(entry->m_Action & CTGitPath::LOGACTIONS_UNMERGED)\r
                                {\r
                                        crText = m_Colors.GetColor(CColors::Conflict);\r
 \r
@@ -5318,8 +5322,12 @@ int CGitStatusListCtrl::UpdateWithGitPathList(CTGitPathList &list)
        m_arStatusArray.clear();\r
        for(int i=0;i<list.GetCount();i++)\r
        {\r
-               CTGitPath * gitpatch=(CTGitPath*)&list[i];\r
-               gitpatch->m_Checked = TRUE;\r
+               CTGitPath * gitpath=(CTGitPath*)&list[i];\r
+               \r
+               if(gitpath ->m_Action & CTGitPath::LOGACTIONS_HIDE)\r
+                       continue;\r
+\r
+               gitpath->m_Checked = TRUE;\r
                m_arStatusArray.push_back((CTGitPath*)&list[i]);\r
        }\r
        return 0;\r
@@ -5368,6 +5376,15 @@ int CGitStatusListCtrl::UpdateFileList(int mask,bool once,CTGitPathList *List)
        }\r
        return 0;\r
 }\r
+\r
+void CGitStatusListCtrl::Clear()\r
+{\r
+       m_FileLoaded=0;\r
+       this->DeleteAllItems();\r
+       this->m_arListArray.clear();\r
+       this->m_arStatusArray.clear();\r
+       this->m_changelists.clear();\r
+}\r
 //////////////////////////////////////////////////////////////////////////\r
 #if 0\r
 bool CGitStatusListCtrlDropTarget::OnDrop(FORMATETC* pFmtEtc, STGMEDIUM& medium, DWORD * /*pdwEffect*/, POINTL pt)\r