From 37cc0a5dac9c85bc5c55996c282678ed7947afd6 Mon Sep 17 00:00:00 2001 From: Frank Li Date: Fri, 16 Jan 2009 09:33:23 +0800 Subject: [PATCH] GitBlame Use command Line argument to open file Signed-off-by: Frank Li --- src/TortoiseGitBlame/MainFrm.h | 5 ++- src/TortoiseGitBlame/TortoiseGitBlame.vcproj | 28 ++++++++-------- .../TortoiseGitBlame.vcproj.FSL.B20596.user | 4 +-- src/TortoiseGitBlame/TortoiseGitBlameDoc.cpp | 37 +++++++++++++++++++--- src/TortoiseGitBlame/TortoiseGitBlameDoc.h | 6 +++- src/TortoiseGitBlame/TortoiseGitBlameView.cpp | 2 ++ 6 files changed, 60 insertions(+), 22 deletions(-) diff --git a/src/TortoiseGitBlame/MainFrm.h b/src/TortoiseGitBlame/MainFrm.h index ff50500..90b5ff8 100644 --- a/src/TortoiseGitBlame/MainFrm.h +++ b/src/TortoiseGitBlame/MainFrm.h @@ -12,7 +12,10 @@ class CMainFrame : public CFrameWndEx protected: // create from serialization only CMainFrame(); DECLARE_DYNCREATE(CMainFrame) - + virtual void OnUpdateFrameTitle(BOOL bAddToTitle) + { + CFrameWndEx::OnUpdateFrameTitle( bAddToTitle); + }; // Attributes public: diff --git a/src/TortoiseGitBlame/TortoiseGitBlame.vcproj b/src/TortoiseGitBlame/TortoiseGitBlame.vcproj index 8e8c0f9..075564a 100644 --- a/src/TortoiseGitBlame/TortoiseGitBlame.vcproj +++ b/src/TortoiseGitBlame/TortoiseGitBlame.vcproj @@ -339,19 +339,19 @@ > GetActiveView()); - pView->UpdateInfo(); - + if(pView == NULL) + { + CWnd* pWnd = GetMainFrame()->GetDescendantWindow(AFX_IDW_PANE_FIRST, TRUE); + if (pWnd != NULL && pWnd->IsKindOf(RUNTIME_CLASS(CTortoiseGitBlameView))) + { + pView = (CTortoiseGitBlameView*)pWnd; + } + else + { + return FALSE; + } + } + pView->UpdateInfo(); } return TRUE; } +void CTortoiseGitBlameDoc::SetPathName(LPCTSTR lpszPathName, BOOL bAddToMRU) +{ + CDocument::SetPathName(lpszPathName,bAddToMRU); + + CString title; + if(m_Rev.IsEmpty()) + title=CString(lpszPathName)+_T(":HEAD"); + else + title=CString(lpszPathName)+_T(":")+m_Rev; + + this->SetTitle(title); +} // CTortoiseGitBlameDoc serialization diff --git a/src/TortoiseGitBlame/TortoiseGitBlameDoc.h b/src/TortoiseGitBlame/TortoiseGitBlameDoc.h index a90428d..b69a971 100644 --- a/src/TortoiseGitBlame/TortoiseGitBlameDoc.h +++ b/src/TortoiseGitBlame/TortoiseGitBlameDoc.h @@ -25,6 +25,10 @@ public: virtual BOOL OnNewDocument(); virtual void Serialize(CArchive& ar); virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); + virtual BOOL OnOpenDocument(LPCTSTR lpszPathName,CString Rev); + virtual void SetPathName(LPCTSTR lpszPathName, BOOL bAddToMRU = TRUE); + + // Implementation public: virtual ~CTortoiseGitBlameDoc(); @@ -39,7 +43,7 @@ public: protected: - + CString m_Rev; // Generated message map functions protected: DECLARE_MESSAGE_MAP() diff --git a/src/TortoiseGitBlame/TortoiseGitBlameView.cpp b/src/TortoiseGitBlame/TortoiseGitBlameView.cpp index 782a7f1..c5a6796 100644 --- a/src/TortoiseGitBlame/TortoiseGitBlameView.cpp +++ b/src/TortoiseGitBlame/TortoiseGitBlameView.cpp @@ -135,7 +135,9 @@ int CTortoiseGitBlameView::OnCreate(LPCREATESTRUCT lpcs) m_ToolTip.Create(this->GetParent()); m_ToolTip.AddTool(this,_T("Test")); + ::AfxGetApp()->GetMainWnd(); return CView::OnCreate(lpcs); + } void CTortoiseGitBlameView::OnSize(UINT nType,int cx, int cy) -- 2.11.0