OSDN Git Service

merge original branch.
[tortoisegit/TortoiseGitJp.git] / src / Git / GitStatusListCtrl.h
index dff4d6c..afe9ee1 100644 (file)
@@ -23,6 +23,7 @@
 #include "GitConfig.h"\r
 #include "Colors.h"\r
 #include "XPTheme.h"\r
+#include "CommonResource.h"\r
 \r
 #define SVN_WC_ENTRY_WORKING_SIZE_UNKNOWN (-1)\r
 \r
@@ -61,7 +62,7 @@
 #define SVNSLC_SHOWCONFLICTED  CTGitPath::LOGACTIONS_UNMERGED\r
 #define SVNSLC_SHOWMISSING             0x00000000\r
 #define SVNSLC_SHOWREPLACED            CTGitPath::LOGACTIONS_REPLACED\r
-#define SVNSLC_SHOWMERGED              0x00000000\r
+#define SVNSLC_SHOWMERGED              CTGitPath::LOGACTIONS_MERGED\r
 #define SVNSLC_SHOWIGNORED             CTGitPath::LOGACTIONS_IGNORE\r
 #define SVNSLC_SHOWOBSTRUCTED  0x00000000\r
 #define SVNSLC_SHOWEXTERNAL            0x00000000\r
@@ -78,7 +79,7 @@
 #define SVNSLC_SHOWDIRECTS             (SVNSLC_SHOWDIRECTFILES | SVNSLC_SHOWDIRECTFOLDER)\r
 \r
 \r
-#define SVNSLC_SHOWVERSIONED (SVNSLC_SHOWNORMAL|SVNSLC_SHOWMODIFIED|\\r
+#define SVNSLC_SHOWVERSIONED (CTGitPath::LOGACTIONS_FORWORD|SVNSLC_SHOWNORMAL|SVNSLC_SHOWMODIFIED|\\r
 SVNSLC_SHOWADDED|SVNSLC_SHOWREMOVED|SVNSLC_SHOWCONFLICTED|SVNSLC_SHOWMISSING|\\r
 SVNSLC_SHOWREPLACED|SVNSLC_SHOWMERGED|SVNSLC_SHOWIGNORED|SVNSLC_SHOWOBSTRUCTED|\\r
 SVNSLC_SHOWEXTERNAL|SVNSLC_SHOWINCOMPLETE|SVNSLC_SHOWINEXTERNALS|\\r
@@ -199,6 +200,8 @@ public:
                IDSVNLC_REVERTTOREV             ,\r
                IDSVNLC_VIEWREV                 ,\r
                IDSVNLC_FINDENTRY       ,\r
+               IDSVNLC_COMPARETWO              ,\r
+               IDSVNLC_GNUDIFF2                ,\r
 // the IDSVNLC_MOVETOCS *must* be the last index, because it contains a dynamic submenu where \r
 // the submenu items get command ID's sequent to this number\r
                IDSVNLC_MOVETOCS                ,\r
@@ -231,9 +234,14 @@ public:
         */\r
        static const UINT SVNSLNM_CHECKCHANGED;\r
 \r
+       static const UINT SVNSLNM_ITEMCHANGED;\r
+\r
        CGitStatusListCtrl(void);\r
        ~CGitStatusListCtrl(void);\r
 \r
+       CString m_Rev1;\r
+       CString m_Rev2;\r
+\r
        /**\r
         * \ingroup TortoiseProc\r
         * Helper class for CGitStatusListCtrl which represents\r
@@ -513,6 +521,14 @@ public:
         bool operator() ( const CTGitPath* entry1\r
                         , const CTGitPath* entry2) const;\r
 \r
+               static int A2L(const CString &str)\r
+               {\r
+                       if(str==_T("-"))\r
+                               return -1;\r
+                       else\r
+                               return _ttol(str);\r
+               }\r
+\r
     private:\r
 \r
         ColumnManager* columnManager;\r
@@ -771,6 +787,8 @@ public:
 \r
        CString                                         m_sUUID;                        ///< the UUID of the associated repository\r
 \r
+       BOOL                                            m_bIsRevertTheirMy;     ///< at rebase case, Their and My version is revert. \r
+\r
        DECLARE_MESSAGE_MAP()\r
 \r
 private:\r
@@ -780,6 +798,16 @@ private:
        void RemoveListEntry(int index);        ///< removes an entry from the listcontrol and both arrays\r
        bool BuildStatistics(); ///< build the statistics and correct the case of files/folders\r
        void StartDiff(int fileindex);  ///< start the external diff program\r
+       void StartDiffWC(int fileindex);        ///< start the external diff program\r
+       void StartDiffTwo(int fileindex);\r
+       \r
+       enum\r
+       {\r
+               NOTEPAD2,\r
+               OPEN,\r
+               OPEN_WITH,\r
+       };\r
+       void OpenFile(CTGitPath *path,int mode);\r
 \r
     /// fetch all user properties for all items\r
     void FetchUserProperties();\r
@@ -875,6 +903,7 @@ private:
 \r
 \r
        void FileSaveAs(CTGitPath *path);\r
+       int RevertSelectedItemToVersion();\r
 \r
 private:\r
        bool *                                          m_pbCanceled;\r