OSDN Git Service

PATCH: [ 1508898 ] Show binary as one of EOL types
authorKimmo Varis <kimmov@gmail.com>
Tue, 20 Jun 2006 14:27:46 +0000 (14:27 +0000)
committerKimmo Varis <kimmov@gmail.com>
Tue, 20 Jun 2006 14:27:46 +0000 (14:27 +0000)
Src/Changes.txt
Src/DirViewColItems.cpp
Src/Merge.rc
Src/resource.h

index 397ac65..cdb4190 100644 (file)
@@ -8,6 +8,9 @@ Add new items to top.
  PATCH: [ 1508865 ] Improve error handling for loading file filters
   Src: FileFilterHelper.cpp FileFilterMgr.cpp FileFilterMgr.h FileFiltersDlg.cpp
    FileFiltersDlg.h
+ PATCH: [ 1508898 ] Show binary as one of EOL types
+  Src: DirViewColItems.cpp Merge.rc resource.h
+  Src/Languages/*: Merge*.rc
 
 2006-06-19 Gal
  RFE: [ 1499245 ] Ruby Syntax Highlighting
index 82c6b48..1363b4f 100644 (file)
@@ -418,14 +418,21 @@ static CString ColEncodingGet(const CDiffContext *, const void *p)
        const DiffFileInfo &r = *static_cast<const DiffFileInfo *>(p);
        return r.encoding.GetName();
 }
-static CString ColEOLTypeGet(const CDiffContext *, const void *p)
+static CString GetEOLType(const CDiffContext *, const void *p, BOOL bLeft)
 {
-       const FileTextStats &stats = *static_cast<const FileTextStats *>(p);
+       const DIFFITEM &di = *static_cast<const DIFFITEM *>(p);
+       const DiffFileInfo & dfi = bLeft ? di.left : di.right;
+       const FileTextStats &stats = dfi.m_textStats;
 
        if (stats.ncrlfs == 0 && stats.ncrs == 0 && stats.nlfs == 0)
        {
                return _T("");
        }
+       if (di.isBin())
+       {
+               int id = IDS_EOL_BIN;
+               return LoadResString(id);
+       }
 
        int id = 0;
        if (stats.ncrlfs > 0 && stats.ncrs == 0 && stats.nlfs == 0)
@@ -451,6 +458,16 @@ static CString ColEOLTypeGet(const CDiffContext *, const void *p)
        
        return LoadResString(id);
 }
+static CString ColLEOLTypeGet(const CDiffContext * pCtxt, const void *p)
+{
+       const DIFFITEM &di = *static_cast<const DIFFITEM *>(p);
+       return GetEOLType(pCtxt, &di, TRUE);
+}
+static CString ColREOLTypeGet(const CDiffContext * pCtxt, const void *p)
+{
+       const DIFFITEM &di = *static_cast<const DIFFITEM *>(p);
+       return GetEOLType(pCtxt, &di, FALSE);
+}
 
 /**
  * @}
@@ -587,8 +604,8 @@ static DirColInfo f_cols[] =
        { _T("Rencoding"), IDS_COLHDR_RENCODING, IDS_COLDESC_RENCODING, &ColEncodingGet, &ColEncodingSort, FIELD_OFFSET(DIFFITEM, right), -1, true, LVCFMT_LEFT },
        { _T("Sndiffs"), IDS_COLHDR_NDIFFS, IDS_COLDESC_NDIFFS, ColDiffsGet, ColDiffsSort, FIELD_OFFSET(DIFFITEM, ndiffs), -1, false, LVCFMT_RIGHT },
        { _T("Snsdiffs"), IDS_COLHDR_NSDIFFS, IDS_COLDESC_NSDIFFS, ColDiffsGet, ColDiffsSort, FIELD_OFFSET(DIFFITEM, nsdiffs), -1, false, LVCFMT_RIGHT },
-       { _T("Leoltype"), IDS_COLHDR_LEOL_TYPE, IDS_COLDESC_LEOL_TYPE, &ColEOLTypeGet, &ColAttrSort, FIELD_OFFSET(DIFFITEM, left.m_textStats), -1, true, LVCFMT_LEFT },
-       { _T("Reoltype"), IDS_COLHDR_REOL_TYPE, IDS_COLDESC_REOL_TYPE, &ColEOLTypeGet, &ColEOLTypeSort, FIELD_OFFSET(DIFFITEM, right.m_textStats), -1, true, LVCFMT_LEFT },
+       { _T("Leoltype"), IDS_COLHDR_LEOL_TYPE, IDS_COLDESC_LEOL_TYPE, &ColLEOLTypeGet, &ColAttrSort, 0, -1, true, LVCFMT_LEFT },
+       { _T("Reoltype"), IDS_COLHDR_REOL_TYPE, IDS_COLDESC_REOL_TYPE, &ColREOLTypeGet, &ColEOLTypeSort, 0, -1, true, LVCFMT_LEFT },
 };
 
 /**
index adc181f..1d626c7 100644 (file)
@@ -2728,6 +2728,7 @@ BEGIN
     IDS_EOL_MAC             "Mac"
     IDS_EOL_UNIX            "Unix"
     IDS_EOL_MIXED           "Mixed"
+    IDS_EOL_BIN             "Binary"
 END
 
 // Folder compare short size suffixes
index 45a0362..78c2956 100644 (file)
 #define IDS_EOL_MAC                     30401
 #define IDS_EOL_UNIX                    30402
 #define IDS_EOL_MIXED                   30403
+#define IDS_EOL_BIN                     30404
 #define IDS_SUFFIX_BYTE                 30416
 #define IDS_SUFFIX_KILO                 30417
 #define IDS_SUFFIX_MEGA                 30418