OSDN Git Service

Git LogDlg "Hide unrelated changed paths" Check box work
[tortoisegit/TortoiseGitJp.git] / src / Git / TGitPath.h
index 130e5ee..3ac37bc 100644 (file)
@@ -1,11 +1,13 @@
 #pragma once\r
+#include "gittype.h"\r
 \r
 class CTGitPath\r
 {\r
 public:\r
        CTGitPath(void);\r
        ~CTGitPath(void);\r
- CTGitPath(const CString& sUnknownPath);\r
+       CTGitPath(const CString& sUnknownPath);\r
+       int m_Stage;\r
 public:\r
        enum\r
        {       \r
@@ -13,23 +15,30 @@ public:
                LOGACTIONS_MODIFIED     = 0x00000002,\r
                LOGACTIONS_REPLACED     = 0x00000004,\r
                LOGACTIONS_DELETED      = 0x00000008,\r
+               LOGACTIONS_UNMERGED = 0x00000010,\r
+               LOGACTIONS_CACHE        = 0x00000020,\r
                LOGACTIONS_UNVER        = 0x80000000,\r
                LOGACTIONS_IGNORE       = 0x40000000,\r
-               LOGACTIONS_CONFLICT = 0x20000000,\r
+               //LOGACTIONS_CONFLICT = 0x20000000,\r
+               \r
+               // For log filter only\r
+               LOGACTIONS_HIDE         = 0x20000000,\r
+               LOGACTIONS_GRAY         = 0x10000000,\r
        };\r
 \r
        CString m_StatAdd;\r
        CString m_StatDel;\r
        int             m_Action;\r
        bool    m_Checked;\r
-       int     ParserAction(CString action);\r
+       int     ParserAction(BYTE action);\r
        CString GetActionName();\r
        /**\r
         * Set the path as an UTF8 string with forward slashes\r
         */\r
        void SetFromGit(const char* pPath);\r
        void SetFromGit(const char* pPath, bool bIsDirectory);\r
-       void SetFromGit(const CString& sPath);\r
+       void SetFromGit(const CString& sPath,CString *OldPath=NULL);\r
+       \r
        /**\r
         * Set the path as UNICODE with backslashes\r
         */\r
@@ -52,6 +61,8 @@ public:
         * Returns the path with forward slashes.\r
         */\r
        const CString& GetGitPathString() const;\r
+\r
+       const CString& GetGitOldPathString() const;\r
        /**\r
         * Returns the path completely prepared to be fed the the Git APIs\r
         * It will be in UTF8, with URLs escaped, if necessary\r
@@ -245,6 +256,11 @@ private:
        mutable CString m_sUIPath;\r
        mutable CStringA m_sUTF8FwdslashPath;\r
        mutable CStringA m_sUTF8FwdslashPathEscaped;\r
+\r
+       //used for rename case\r
+       mutable CString m_sOldBackslashPath;\r
+       mutable CString m_sOldFwdslashPath;\r
+       \r
        // Have we yet determined if this is a directory or not?\r
        mutable bool m_bDirectoryKnown;\r
        mutable bool m_bIsDirectory;\r
@@ -287,12 +303,14 @@ public:
        // A constructor which allows a path list to be easily built with one initial entry in\r
        explicit CTGitPathList(const CTGitPath& firstEntry);\r
        int m_Action;\r
+\r
 public:\r
        void AddPath(const CTGitPath& newPath);\r
        bool LoadFromFile(const CTGitPath& filename);\r
        bool WriteToFile(const CString& sFilename, bool bANSI = false) const;\r
        CTGitPath * LookForGitPath(CString path);\r
-       int     ParserFromLog(CString &log);\r
+       int     ParserFromLog(BYTE_VECTOR &log);\r
+       int ParserFromLsFile(BYTE_VECTOR &out,bool staged=true);\r
        int FillUnRev(int Action,CTGitPathList *list=NULL);\r
        int GetAction();\r
        /**\r