OSDN Git Service

Version browse in switch, export, new branch/tag and merge dialogs
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / LogDlg.h
index f63c2cb..f174d35 100644 (file)
@@ -35,6 +35,7 @@
 #include <regex>\r
 #include "GitLogList.h"\r
 #include "GitStatusListCtrl.h"\r
 #include <regex>\r
 #include "GitLogList.h"\r
 #include "GitStatusListCtrl.h"\r
+\r
 using namespace std;\r
 \r
 \r
 using namespace std;\r
 \r
 \r
@@ -43,14 +44,6 @@ using namespace std;
 #define MERGE_REVSELECTSTARTEND  3             ///< both\r
 #define MERGE_REVSELECTMINUSONE  4             ///< first with N-1\r
 \r
 #define MERGE_REVSELECTSTARTEND  3             ///< both\r
 #define MERGE_REVSELECTMINUSONE  4             ///< first with N-1\r
 \r
-#define LOGFILTER_ALL      1\r
-#define LOGFILTER_MESSAGES 2\r
-#define LOGFILTER_PATHS    3\r
-#define LOGFILTER_AUTHORS  4\r
-#define LOGFILTER_REVS    5\r
-#define LOGFILTER_REGEX           6\r
-#define LOGFILTER_BUGID    7\r
-\r
 \r
 #define LOGFILTER_TIMER                101\r
 \r
 \r
 #define LOGFILTER_TIMER                101\r
 \r
@@ -89,15 +82,20 @@ public:
                FILELIST_PATH\r
        };\r
 \r
                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 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 SetMergePath(const CTGitPath& mergepath) {m_mergePath = mergepath;}\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
 \r
 //     const GitRevRangeArray& GetSelectedRevRanges() {return m_selectedRevs;}\r
 \r
@@ -115,6 +113,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 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
        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
@@ -133,14 +133,15 @@ 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 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 OnBnClickedHidepaths();\r
+       afx_msg void OnBnClickedAllBranch();\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 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
        afx_msg void OnBnClickedRefresh();\r
        afx_msg void OnRefresh();\r
        afx_msg void OnFind();\r
@@ -150,7 +151,7 @@ protected:
        virtual void OnCancel();\r
        virtual void OnOK();\r
        virtual BOOL OnInitDialog();\r
        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
 \r
        void    FillLogMessageCtrl(bool bShow = true);\r
        void    DoDiffFromLog(INT_PTR selIndex, GitRev *rev1, GitRev *rev2, bool blame, bool unified);\r
@@ -173,17 +174,17 @@ private:
        void AdjustMinSize();\r
        void SetSplitterRange();\r
        void SetFilterCueText();\r
        void AdjustMinSize();\r
        void SetSplitterRange();\r
        void SetFilterCueText();\r
-       BOOL IsEntryInDateRange(int i);\r
+       \r
        void CopySelectionToClipBoard();\r
        void CopyChangedSelectionToClipBoard();\r
        CTGitPathList GetChangedPathsFromSelectedRevisions(bool bRelativePaths = false, bool bUseFilter = true);\r
     void SortShownListArray();\r
        void CopySelectionToClipBoard();\r
        void CopyChangedSelectionToClipBoard();\r
        CTGitPathList GetChangedPathsFromSelectedRevisions(bool bRelativePaths = false, bool bUseFilter = true);\r
     void SortShownListArray();\r
-       void RecalculateShownList(CPtrArray * pShownlist);\r
+       \r
     void SetSortArrow(CListCtrl * control, int nColumn, bool bAscending);\r
        void SortByColumn(int nSortColumn, bool bAscending);\r
        \r
        void EnableOKButton();\r
     void SetSortArrow(CListCtrl * control, int nColumn, bool bAscending);\r
        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
        void UpdateLogInfoLabel();\r
        void SaveSplitterPos();\r
        bool ValidateRegexp(LPCTSTR regexp_str, tr1::wregex& pat, bool bMatchCase);\r
@@ -204,8 +205,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
        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
        void ShowContextMenuForRevisions(CWnd* pWnd, CPoint point);\r
        void ShowContextMenuForChangedpaths(CWnd* pWnd, CPoint point);\r
 public:\r
@@ -220,13 +219,11 @@ private:
        CString                         m_sURL;\r
        CString                         m_sUUID;    ///< empty if the log cache is not used\r
        CGitLogList                     m_LogList;\r
        CString                         m_sURL;\r
        CString                         m_sUUID;    ///< empty if the log cache is not used\r
        CGitLogList                     m_LogList;\r
-       //CListCtrl                     m_ChangedFileListCtrl;\r
-       \r
        CGitStatusListCtrl  m_ChangedFileListCtrl;\r
        CGitStatusListCtrl  m_ChangedFileListCtrl;\r
-\r
        CFilterEdit                     m_cFilter;\r
        CProgressCtrl           m_LogProgress;\r
        CMenuButton                     m_btnShow;\r
        CFilterEdit                     m_cFilter;\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
        CTGitPath                       m_path;\r
        CTGitPath                       m_mergePath;\r
        GitRev                          m_pegrev;\r
@@ -236,15 +233,18 @@ private:
        //GitRev                                m_wcRev;\r
 //     GitRevRangeArray        m_selectedRevs;\r
 //     GitRevRangeArray        m_selectedRevsOneRange;\r
        //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_bSelectionMustBeContinuous;\r
+       bool                            m_bSelectionMustBeSingle;\r
        long                            m_logcounter;\r
        bool                            m_bCancelled;\r
        \r
        long                            m_logcounter;\r
        bool                            m_bCancelled;\r
        \r
-       BOOL                            m_bStrict;\r
-\r
        BOOL                            m_bIncludeMerges;\r
        BOOL                            m_bIncludeMerges;\r
+       BOOL                            m_bFirstParent;\r
+       BOOL                            m_bAllBranch;\r
+       BOOL                            m_bWholeProject;\r
+\r
        git_revnum_t            m_lowestRev;\r
        git_revnum_t            m_lowestRev;\r
-       BOOL                            m_bSaveStrict;\r
        CTGitPathList   *   m_currentChangedArray;\r
        LogChangedPathArray m_CurrentFilteredChangedArray;\r
        CTGitPathList           m_currentChangedPathList;\r
        CTGitPathList   *   m_currentChangedArray;\r
        LogChangedPathArray m_CurrentFilteredChangedArray;\r
        CTGitPathList           m_currentChangedPathList;\r
@@ -262,20 +262,17 @@ private:
        CRect                           m_MsgViewOrigRect;\r
        CRect                           m_LogListOrigRect;\r
        CRect                           m_ChgOrigRect;\r
        CRect                           m_MsgViewOrigRect;\r
        CRect                           m_LogListOrigRect;\r
        CRect                           m_ChgOrigRect;\r
-       CString                         m_sFilterText;\r
-       int                                     m_nSelectedFilter;\r
+//     CString                         m_sFilterText;\r
+       \r
        //volatile LONG         m_bNoDispUpdates;\r
        CDateTimeCtrl           m_DateFrom;\r
        CDateTimeCtrl           m_DateTo;\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
        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
        //CRegDWORD                     m_regMaxBugIDColWidth;\r
        CButton                         m_cHidePaths;\r
        bool                            m_bShowedAll;\r
@@ -287,8 +284,6 @@ private:
 \r
        CToolTips                       m_tooltips;\r
 \r
 \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
        CColors                         m_Colors;\r
        CImageList                      m_imgList;\r
 #if 0\r