OSDN Git Service

Log can refresh when Click Rev button.
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / FileDiffDlg.cpp
index c9c8fed..0e9a918 100644 (file)
@@ -34,6 +34,7 @@
 #include "CommonResource.h"\r
 #include "BrowseRefsDlg.h"\r
 #include "LogDlg.h"\r
+#include "RefLogDlg.h"\r
 \r
 #define ID_COMPARE 1\r
 #define ID_BLAME 2\r
@@ -287,6 +288,7 @@ UINT CFileDiffDlg::DiffThread()
        bool bSuccess = true;\r
        RefreshCursor();\r
        m_cFileList.ShowText(CString(MAKEINTRESOURCE(IDS_FILEDIFF_WAIT)));\r
+       m_cFileList.DeleteAllItems();\r
        m_arFileList.Clear();\r
 #if 0\r
        if (m_bDoPegDiff)\r
@@ -1112,9 +1114,27 @@ void CFileDiffDlg::ClickRevButton(CMenuButton *button, GitRev *rev, CEdit *edit)
 \r
        if(entry == 2) /*RefLog*/\r
        {\r
+               CRefLogDlg dlg;\r
+               if(dlg.DoModal() == IDOK)\r
+               {\r
+                       if(FillRevFromString(rev,dlg.m_SelectedHash))\r
+                               return;\r
+\r
+                       edit->SetWindowText(dlg.m_SelectedHash);\r
+\r
+               }else\r
+                       return;\r
+               \r
        }\r
 \r
        SetURLLabels();\r
+\r
+       InterlockedExchange(&m_bThreadRunning, TRUE);\r
+       if (AfxBeginThread(DiffThreadEntry, this)==NULL)\r
+       {\r
+               InterlockedExchange(&m_bThreadRunning, FALSE);\r
+               CMessageBox::Show(NULL, IDS_ERR_THREADSTARTFAILED, IDS_APPNAME, MB_OK | MB_ICONERROR);\r
+       }\r
 }\r
 \r
 void CFileDiffDlg::OnBnClickedRev2btn()\r