OSDN Git Service

Add work dir copy at log dialog
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / LogDlg.h
index b6ce6b9..742d254 100644 (file)
@@ -35,6 +35,7 @@
 #include <regex>\r
 #include "GitLogList.h"\r
 #include "GitStatusListCtrl.h"\r
+#include "HyperLink.h"\r
 \r
 using namespace std;\r
 \r
@@ -82,15 +83,22 @@ public:
                FILELIST_PATH\r
        };\r
 \r
-       void SetParams(const CTGitPath& path, GitRev pegrev, GitRev startrev, GitRev endrev, int limit, \r
-               BOOL bStrict = CRegDWORD(_T("Software\\TortoiseGit\\LastLogStrict"), FALSE), BOOL bSaveStrict = TRUE);\r
+       void SetParams(const CTGitPath& path, GitRev pegrev, GitRev startrev, GitRev endrev, int limit);\r
        void SetIncludeMerge(bool bInclude = true) {m_bIncludeMerges = bInclude;}\r
        void SetProjectPropertiesPath(const CTGitPath& path) {m_ProjectProperties.ReadProps(path);}\r
        bool IsThreadRunning() {return !!m_LogList.m_bThreadRunning;}\r
        void SetDialogTitle(const CString& sTitle) {m_sTitle = sTitle;}\r
        void SetSelect(bool bSelect) {m_bSelect = bSelect;}\r
        void ContinuousSelection(bool bCont = true) {m_bSelectionMustBeContinuous = bCont;}\r
+       void SingleSelection(bool bSingle = true) {m_bSelectionMustBeSingle = bSingle;}\r
        void SetMergePath(const CTGitPath& mergepath) {m_mergePath = mergepath;}\r
+       void SetStartRef(const CString& StartRef);\r
+       void ShowStartRef();\r
+       /**\r
+        * Provides selected commit hash if available, call after OK return from here\r
+        * Empty if none\r
+       **/\r
+       CString GetSelectedHash(){ return m_sSelectedHash; }\r
 \r
 //     const GitRevRangeArray& GetSelectedRevRanges() {return m_selectedRevs;}\r
 \r
@@ -108,6 +116,8 @@ protected:
        afx_msg LRESULT OnFindDialogMessage(WPARAM wParam, LPARAM lParam);\r
        afx_msg LRESULT OnClickedInfoIcon(WPARAM wParam, LPARAM lParam);\r
        afx_msg LRESULT OnClickedCancelFilter(WPARAM wParam, LPARAM lParam);\r
+       afx_msg LRESULT OnLogListLoading(WPARAM wParam, LPARAM lParam);\r
+\r
        afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);\r
        afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);\r
        afx_msg void OnBnClickedGetall();\r
@@ -126,14 +136,16 @@ protected:
        afx_msg void OnDtnDatetimechangeDatefrom(NMHDR *pNMHDR, LRESULT *pResult);\r
        afx_msg void OnLvnColumnclick(NMHDR *pNMHDR, LRESULT *pResult);\r
        afx_msg void OnLvnColumnclickChangedFileList(NMHDR *pNMHDR, LRESULT *pResult);\r
-       afx_msg void OnBnClickedNexthundred();\r
+       afx_msg void OnBnClickShowWholeProject();\r
        afx_msg void OnBnClickedHidepaths();\r
+       afx_msg void OnBnClickedAllBranch();\r
+       afx_msg void OnBnClickedBrowseRef();\r
        afx_msg void OnBnClickedCheckStoponcopy();\r
        \r
        afx_msg void OnDtnDropdownDatefrom(NMHDR *pNMHDR, LRESULT *pResult);\r
        afx_msg void OnDtnDropdownDateto(NMHDR *pNMHDR, LRESULT *pResult);\r
        afx_msg void OnSize(UINT nType, int cx, int cy);\r
-       afx_msg void OnBnClickedIncludemerge();\r
+       afx_msg void OnBnClickedFirstParent();\r
        afx_msg void OnBnClickedRefresh();\r
        afx_msg void OnRefresh();\r
        afx_msg void OnFind();\r
@@ -143,7 +155,7 @@ protected:
        virtual void OnCancel();\r
        virtual void OnOK();\r
        virtual BOOL OnInitDialog();\r
-       //virtual BOOL PreTranslateMessage(MSG* pMsg);\r
+       virtual BOOL PreTranslateMessage(MSG* pMsg);\r
 \r
        void    FillLogMessageCtrl(bool bShow = true);\r
        void    DoDiffFromLog(INT_PTR selIndex, GitRev *rev1, GitRev *rev2, bool blame, bool unified);\r
@@ -176,7 +188,7 @@ private:
        void SortByColumn(int nSortColumn, bool bAscending);\r
        \r
        void EnableOKButton();\r
-       void GetAll(bool bForceAll = false);\r
+       void GetAll(bool bIsShowProjectOrBranch = false);\r
        void UpdateLogInfoLabel();\r
        void SaveSplitterPos();\r
        bool ValidateRegexp(LPCTSTR regexp_str, tr1::wregex& pat, bool bMatchCase);\r
@@ -197,8 +209,6 @@ private:
        virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);\r
        static int __cdecl      SortCompare(const void * pElem1, const void * pElem2);  ///< sort callback function\r
 \r
-       void ResizeAllListCtrlCols();\r
-\r
        void ShowContextMenuForRevisions(CWnd* pWnd, CPoint point);\r
        void ShowContextMenuForChangedpaths(CWnd* pWnd, CPoint point);\r
 public:\r
@@ -215,8 +225,10 @@ private:
        CGitLogList                     m_LogList;\r
        CGitStatusListCtrl  m_ChangedFileListCtrl;\r
        CFilterEdit                     m_cFilter;\r
+       CHyperLink                      m_staticRef;\r
        CProgressCtrl           m_LogProgress;\r
        CMenuButton                     m_btnShow;\r
+       CMenuButton                     m_btnShowWholeProject;\r
        CTGitPath                       m_path;\r
        CTGitPath                       m_mergePath;\r
        GitRev                          m_pegrev;\r
@@ -226,15 +238,18 @@ private:
        //GitRev                                m_wcRev;\r
 //     GitRevRangeArray        m_selectedRevs;\r
 //     GitRevRangeArray        m_selectedRevsOneRange;\r
+       CString                         m_sSelectedHash;        // set to selected commit hash on OK if appropriate\r
        bool                            m_bSelectionMustBeContinuous;\r
+       bool                            m_bSelectionMustBeSingle;\r
        long                            m_logcounter;\r
        bool                            m_bCancelled;\r
        \r
-       BOOL                            m_bStrict;\r
-\r
        BOOL                            m_bIncludeMerges;\r
+       BOOL                            m_bFirstParent;\r
+       BOOL                            m_bAllBranch;\r
+       BOOL                            m_bWholeProject;\r
+\r
        git_revnum_t            m_lowestRev;\r
-       BOOL                            m_bSaveStrict;\r
        CTGitPathList   *   m_currentChangedArray;\r
        LogChangedPathArray m_CurrentFilteredChangedArray;\r
        CTGitPathList           m_currentChangedPathList;\r
@@ -252,20 +267,17 @@ private:
        CRect                           m_MsgViewOrigRect;\r
        CRect                           m_LogListOrigRect;\r
        CRect                           m_ChgOrigRect;\r
-       CString                         m_sFilterText;\r
+//     CString                         m_sFilterText;\r
        \r
        //volatile LONG         m_bNoDispUpdates;\r
        CDateTimeCtrl           m_DateFrom;\r
        CDateTimeCtrl           m_DateTo;\r
-       DWORD                           m_tFrom;\r
-       DWORD                           m_tTo;\r
        int                                     m_limit;\r
        int                                     m_limitcounter;\r
        int                 m_nSortColumn;\r
        bool                m_bAscending;\r
        static int                      m_nSortColumnPathList;\r
        static bool                     m_bAscendingPathList;\r
-       CRegDWORD                       m_regLastStrict;\r
        //CRegDWORD                     m_regMaxBugIDColWidth;\r
        CButton                         m_cHidePaths;\r
        bool                            m_bShowedAll;\r
@@ -277,8 +289,6 @@ private:
 \r
        CToolTips                       m_tooltips;\r
 \r
-       CTime                           m_timFrom;\r
-       CTime                           m_timTo;\r
        CColors                         m_Colors;\r
        CImageList                      m_imgList;\r
 #if 0\r