OSDN Git Service

Use String_join()
authorsdottaka <none@none>
Mon, 26 Aug 2013 12:42:52 +0000 (21:42 +0900)
committersdottaka <none@none>
Mon, 26 Aug 2013 12:42:52 +0000 (21:42 +0900)
--HG--
branch : stable

Src/DirDoc.cpp
Src/HexMergeDoc.cpp
Src/MergeDoc.cpp

index e9b9b51..169291a 100644 (file)
@@ -995,8 +995,6 @@ void CDirDoc::UpdateDiffAfterOperation(const FileActionItem & act, UIntPtr pos)
  */
 void CDirDoc::SetTitle(LPCTSTR lpszTitle)
 {
-       const TCHAR pszSeparator[] = _T(" - ");
-
        if (!m_pDirView)
                return;
 
@@ -1020,37 +1018,11 @@ void CDirDoc::SetTitle(LPCTSTR lpszTitle)
                        ApplyDisplayRoot(index, strPath);
                        sDirName[index] = PathFindFileName(strPath.c_str());
                }
-               if (m_nDirs < 3)
-               {
-                       if (sDirName[0] == sDirName[1])
-                       {
-                               sTitle = sDirName[0];
-                               sTitle += _T(" x 2");
-                       }
-                       else
-                       {
-                               sTitle = sDirName[0];
-                               sTitle += pszSeparator;
-                               sTitle += sDirName[1];
-                       }
-               }
-               else
-               {
-                       if (sDirName[0] == sDirName[1] && sDirName[0] == sDirName[2])
-                       {
-                               sTitle = sDirName[0];
-                               sTitle += _T(" x 3");
-                       }
-                       else
-                       {
-                               sTitle = sDirName[0];
-                               sTitle += pszSeparator;
-                               sTitle += sDirName[1];
-                               sTitle += pszSeparator;
-                               sTitle += sDirName[2];
-                       }
-               }
-               CDocument::SetTitle(sTitle.c_str());
+               if (std::count(&sDirName[0], &sDirName[0] + m_nDirs, sDirName[0]) == m_nDirs)
+                       sTitle = sDirName[0] + string_format(_T(" x %d"), m_nDirs);
+               else
+                       sTitle = String_join(&sDirName[0], &sDirName[0] + m_nDirs, _T(" - "));
+               CDocument::SetTitle(sTitle.c_str());
        }       
 }
 
index 414ad8b..8d142bc 100644 (file)
@@ -610,7 +610,6 @@ void CHexMergeDoc::UpdateHeaderPath(int pane)
  */
 void CHexMergeDoc::SetTitle(LPCTSTR lpszTitle)
 {
-       const TCHAR pszSeparator[] = _T(" - ");
        String sTitle;
        String sFileName[3];
 
@@ -635,37 +634,10 @@ void CHexMergeDoc::SetTitle(LPCTSTR lpszTitle)
                                }
                        }
                }
-               if (m_nBuffers < 3)
-               {
-                       if (sFileName[0] == sFileName[1])
-                       {
-                               sTitle = sFileName[0];
-                               sTitle += _T(" x 2");
-                       }
-                       else
-                       {
-                               sTitle = sFileName[0];
-                               sTitle += pszSeparator;
-                               sTitle += sFileName[1];
-                       }
-               }
+               if (std::count(&sFileName[0], &sFileName[0] + m_nBuffers, sFileName[0]) == m_nBuffers)
+                       sTitle = sFileName[0] + string_format(_T(" x %d"), m_nBuffers);
                else
-               {
-                       if (sFileName[0] == sFileName[1] && sFileName[0] == sFileName[2])
-                       {
-                               sTitle = sFileName[0];
-                               sTitle += _T(" x 3");
-                       }
-                       else
-                       {
-                               sTitle = sFileName[0];
-                               sTitle += pszSeparator;
-                               sTitle += sFileName[1];
-                               sTitle += pszSeparator;
-                               sTitle += sFileName[2];
-                       }
-               }
-
+                       sTitle = String_join(&sFileName[0], &sFileName[0] + m_nBuffers, _T(" - "));
        }
        CDocument::SetTitle(sTitle.c_str());
 }
index 8191dcc..f4dc6b8 100644 (file)
@@ -2907,7 +2907,6 @@ void CMergeDoc::SetEditedAfterRescan(int nBuffer)
  */
 void CMergeDoc::SetTitle(LPCTSTR lpszTitle)
 {
-       const TCHAR pszSeparator[] = _T(" - ");
        String sTitle;
        String sFileName[3];
 
@@ -2932,37 +2931,10 @@ void CMergeDoc::SetTitle(LPCTSTR lpszTitle)
                                }
                        }
                }
-               if (m_nBuffers < 3)
-               {
-                       if (sFileName[0] == sFileName[1])
-                       {
-                               sTitle = sFileName[0];
-                               sTitle += _T(" x 2");
-                       }
-                       else
-                       {
-                               sTitle = sFileName[0];
-                               sTitle += pszSeparator;
-                               sTitle += sFileName[1];
-                       }
-               }
+               if (std::count(&sFileName[0], &sFileName[0] + m_nBuffers, sFileName[0]) == m_nBuffers)
+                       sTitle = sFileName[0] + string_format(_T(" x %d"), m_nBuffers);
                else
-               {
-                       if (sFileName[0] == sFileName[1] && sFileName[0] == sFileName[2])
-                       {
-                               sTitle = sFileName[0];
-                               sTitle += _T(" x 3");
-                       }
-                       else
-                       {
-                               sTitle = sFileName[0];
-                               sTitle += pszSeparator;
-                               sTitle += sFileName[1];
-                               sTitle += pszSeparator;
-                               sTitle += sFileName[2];
-                       }
-               }
-
+                       sTitle = String_join(&sFileName[0], &sFileName[0] + m_nBuffers, _T(" - "));
        }
        CDocument::SetTitle(sTitle.c_str());
 }