OSDN Git Service

Git Blame Can Show Log
[tortoisegit/TortoiseGitJp.git] / src / TortoiseGitBlame / TortoiseGitBlameDoc.cpp
1 \r
2 // TortoiseGitBlameDoc.cpp : implementation of the CTortoiseGitBlameDoc class\r
3 //\r
4 \r
5 #include "stdafx.h"\r
6 #include "TortoiseGitBlame.h"\r
7 \r
8 #include "TortoiseGitBlameDoc.h"\r
9 #include "GitAdminDir.h"\r
10 #include "MessageBox.h"\r
11 #include "Git.h"\r
12 #include "MainFrm.h"\r
13 \r
14 #ifdef _DEBUG\r
15 #define new DEBUG_NEW\r
16 #endif\r
17 \r
18 \r
19 // CTortoiseGitBlameDoc\r
20 \r
21 IMPLEMENT_DYNCREATE(CTortoiseGitBlameDoc, CDocument)\r
22 \r
23 BEGIN_MESSAGE_MAP(CTortoiseGitBlameDoc, CDocument)\r
24 END_MESSAGE_MAP()\r
25 \r
26 \r
27 // CTortoiseGitBlameDoc construction/destruction\r
28 \r
29 CTortoiseGitBlameDoc::CTortoiseGitBlameDoc()\r
30 {\r
31         // TODO: add one-time construction code here\r
32 \r
33 }\r
34 \r
35 CTortoiseGitBlameDoc::~CTortoiseGitBlameDoc()\r
36 {\r
37 }\r
38 \r
39 BOOL CTortoiseGitBlameDoc::OnNewDocument()\r
40 {\r
41         if (!CDocument::OnNewDocument())\r
42                 return FALSE;\r
43 \r
44         // TODO: add reinitialization code here\r
45         // (SDI documents will reuse this document)\r
46 \r
47         return TRUE;\r
48 }\r
49 \r
50 BOOL CTortoiseGitBlameDoc::OnOpenDocument(LPCTSTR lpszPathName)\r
51 {\r
52         if (!CDocument::OnOpenDocument(lpszPathName))\r
53                 return FALSE;\r
54 \r
55         // TODO: add reinitialization code here\r
56         // (SDI documents will reuse this document)\r
57         if(!CGit::CheckMsysGitDir())\r
58         {\r
59                 CMessageBox::Show(NULL,_T("MsysGit have not install or config fail"),_T("TortoiseGitBlame"),MB_OK);\r
60                 return FALSE;\r
61         }\r
62 \r
63         GitAdminDir admindir;\r
64         CString topdir;\r
65         if(!admindir.HasAdminDir(lpszPathName,&topdir))\r
66         {\r
67                 CMessageBox::Show(NULL,CString(lpszPathName)+_T(" is not controled by git\nJust Show File Context"),_T("TortoiseGitBlame"),MB_OK);\r
68         }else\r
69         {\r
70                 m_IsGitFile=TRUE;\r
71                 g_Git.m_CurrentDir=topdir;\r
72                 GetMainFrame()->m_wndOutput.LoadHistory(lpszPathName);\r
73         }\r
74 \r
75         return TRUE;\r
76 }\r
77 \r
78 \r
79 // CTortoiseGitBlameDoc serialization\r
80 \r
81 void CTortoiseGitBlameDoc::Serialize(CArchive& ar)\r
82 {\r
83         if (ar.IsStoring())\r
84         {\r
85                 // TODO: add storing code here\r
86         }\r
87         else\r
88         {\r
89                 // TODO: add loading code here\r
90         }\r
91 }\r
92 \r
93 \r
94 // CTortoiseGitBlameDoc diagnostics\r
95 \r
96 #ifdef _DEBUG\r
97 void CTortoiseGitBlameDoc::AssertValid() const\r
98 {\r
99         CDocument::AssertValid();\r
100 }\r
101 \r
102 void CTortoiseGitBlameDoc::Dump(CDumpContext& dc) const\r
103 {\r
104         CDocument::Dump(dc);\r
105 }\r
106 #endif //_DEBUG\r
107 \r
108 \r
109 // CTortoiseGitBlameDoc commands\r