OSDN Git Service

Textual changes
[tortoisegit/TortoiseGitJp.git] / src / Git / GitStatusListCtrl.cpp
index 330c775..f6acf62 100644 (file)
@@ -1408,9 +1408,9 @@ void CGitStatusListCtrl::AddEntry(CTGitPath * GitPath, WORD langID, int listInde
        int nCol = 1;\r
        CString entryname = GitPath->GetGitPathString();\r
        int icon_idx = 0;\r
-//     if (entry->isfolder)\r
-//             icon_idx = m_nIconFolder;\r
-//     else\r
+       if (GitPath->IsDirectory())\r
+               icon_idx = m_nIconFolder;\r
+       else\r
        {\r
                icon_idx = SYS_IMAGE_LIST().GetPathIconIndex(*GitPath);\r
        }\r
@@ -2683,10 +2683,18 @@ void CGitStatusListCtrl::OnContextMenuList(CWnd * pWnd, CPoint point)
                        case IDSVNLC_ADD:\r
                                {       // The add went ok, but we now need to run through the selected items again\r
                                        // and update their status\r
+                                       std::vector<int> selectIndex;\r
+\r
                                        POSITION pos = GetFirstSelectedItemPosition();\r
                                        int index;\r
                                        while ((index = GetNextSelectedItem(pos)) >= 0)\r
                                        {\r
+                                               selectIndex.push_back(index);\r
+                                       }\r
+                                       for(int i=0;i<selectIndex.size();i++)\r
+                                       {\r
+                                               index=selectIndex[i];\r
+\r
                                                CTGitPath * path=(CTGitPath*)GetItemData(index);\r
                                                ASSERT(path);\r
                                                if(path == NULL)\r
@@ -3172,7 +3180,19 @@ void CGitStatusListCtrl::OnContextMenuList(CWnd * pWnd, CPoint point)
                                                                        CTGitPath *path=(CTGitPath*)GetItemData(nItem);\r
                                                                        if (path->GetGitPathString()==targetList[i].GetGitPathString())\r
                                                                        {\r
-                                                                               RemoveListEntry(nItem);\r
+                                                                               if(path->m_Action & CTGitPath::LOGACTIONS_ADDED)\r
+                                                                               {\r
+                                                                                       path->m_Action = CTGitPath::LOGACTIONS_UNVER;\r
+                                                                                       SetEntryCheck(path,nItem,false);\r
+                                                                                       SetItemGroup(nItem,1);\r
+                                                                                       this->m_StatusFileList.RemoveItem(*path);\r
+                                                                                       this->m_UnRevFileList.AddPath(*path);\r
+                                                                                       //this->m_IgnoreFileList.RemoveItem(*path);\r
+\r
+                                                                               }else\r
+                                                                               {\r
+                                                                                       RemoveListEntry(nItem);\r
+                                                                               }\r
                                                                                break;\r
                                                                        }\r
                                                                }\r
@@ -3880,7 +3900,7 @@ void CGitStatusListCtrl::OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)
        *pResult = 0;\r
        if (m_bBlock)\r
                return;\r
-#if 0\r
+\r
        if (pNMLV->iItem < 0)\r
        {\r
                if (!IsGroupViewEnabled())\r
@@ -3907,7 +3927,8 @@ void CGitStatusListCtrl::OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)
                        GetItem(&lv);\r
                        if (lv.iGroupId == group)\r
                        {\r
-                               FileEntry * entry = GetListEntry(i);\r
+                               CTGitPath *entry=(CTGitPath*)GetItemData(i);\r
+\r
                                if (!bFirst)\r
                                {\r
                                        bCheck = !GetCheck(i);\r
@@ -3932,18 +3953,16 @@ void CGitStatusListCtrl::OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)
                NotifyCheck();\r
                return;\r
        }\r
-#endif\r
-//     FileEntry * entry = GetListEntry(pNMLV->iItem);\r
-//     if (entry)\r
-       {\r
-//             if (entry->isConflicted)\r
-//             {\r
-//                     gitDiff::StartConflictEditor(entry->GetPath());\r
-//             }\r
-//             else\r
-               {\r
-                       StartDiff(pNMLV->iItem);\r
-               }\r
+\r
+       CTGitPath *file=(CTGitPath*)GetItemData(pNMLV->iItem);\r
+\r
+       if( file->m_Action&CTGitPath::LOGACTIONS_UNMERGED )\r
+       {\r
+               CAppUtils::ConflictEdit(*file,false);\r
+\r
+       }else\r
+       {\r
+               StartDiff(pNMLV->iItem);\r
        }\r
 \r
 }\r
@@ -3981,13 +4000,16 @@ void CGitStatusListCtrl::StartDiff(int fileindex)
 \r
        if(this->m_CurrentVersion.IsEmpty() || m_CurrentVersion== GIT_REV_ZERO)\r
        {\r
-               if(!g_Git.IsInitRepos())\r
+               if( g_Git.IsInitRepos())\r
+                       CGitDiff::DiffNull((CTGitPath*)GetItemData(fileindex),\r
+                               CString(GIT_REV_ZERO));                 \r
+               else if( file1.m_Action&CTGitPath::LOGACTIONS_DELETED )\r
+                       CGitDiff::DiffNull((CTGitPath*)GetItemData(fileindex),\r
+                                       GitRev::GetHead(),false);                               \r
+               else\r
                        CGitDiff::Diff(&file1,&file2,\r
                                CString(GIT_REV_ZERO),\r
                                        GitRev::GetHead());\r
-               else\r
-                       CGitDiff::DiffNull((CTGitPath*)GetItemData(fileindex),\r
-                               CString(GIT_REV_ZERO));\r
        }else\r
        {\r
                CGitDiff::Diff(&file1,&file2,\r
@@ -5103,7 +5125,7 @@ bool CGitStatusListCtrl::PrepareGroups(bool bForce /* = false */)
 \r
                //if(m_UnRevFileList.GetCount()>0)\r
                {\r
-                       _tcsncpy_s(groupname, 1024, (LPCTSTR)_T("No Version Control"), 1023);\r
+                       _tcsncpy_s(groupname, 1024, (LPCTSTR)_T("Not Versioned"), 1023);\r
                        grp.pszHeader = groupname;\r
                        grp.iGroupId = groupindex;\r
                        grp.uAlign = LVGA_HEADER_LEFT;\r
@@ -5112,7 +5134,7 @@ bool CGitStatusListCtrl::PrepareGroups(bool bForce /* = false */)
 \r
                //if(m_IgnoreFileList.GetCount()>0)\r
                {\r
-                       _tcsncpy_s(groupname, 1024, (LPCTSTR)_T("Ignored File"), 1023);\r
+                       _tcsncpy_s(groupname, 1024, (LPCTSTR)_T("Ignored"), 1023);\r
                        grp.pszHeader = groupname;\r
                        grp.iGroupId = groupindex;\r
                        grp.uAlign = LVGA_HEADER_LEFT;\r