OSDN Git Service

PR #1481 (5)
authorTakashi Sawanaka <sdottaka@users.sourceforge.net>
Tue, 13 Sep 2022 14:18:22 +0000 (23:18 +0900)
committerTakashi Sawanaka <sdottaka@users.sourceforge.net>
Tue, 13 Sep 2022 14:18:22 +0000 (23:18 +0900)
Src/Merge.h
Src/MergeDoc.cpp
Src/MergeDoc.h
Src/MergeEditView.cpp

index 78bcd54..2da0b1d 100644 (file)
@@ -79,7 +79,7 @@ public:
 
        CMergeApp();
        ~CMergeApp();
-       CString addToFilter;
+
 public:
        void AddToRecentProjectsMRU(LPCTSTR sPathName);
        void SetNeedIdleTimer();
index ca169fb..aeca6cc 100644 (file)
@@ -590,13 +590,6 @@ int CMergeDoc::Rescan(bool &bBinary, IDENTLEVEL &identical,
 
        GetParentFrame()->SetLastCompareResult(identical != IDENTLEVEL::ALL ? 1 : 0);
 
-       CString text = theApp.addToFilter;
-       if (text != (CString)L"")
-       {
-               theApp.m_pLineFilters->AddFilter(text.GetString(), true);
-               text = (CString)L"";
-               theApp.addToFilter = text;
-       }
        HideFilterLines();
 
        return nResult;
@@ -2631,6 +2624,11 @@ void CMergeDoc::HideLines()
        ForEachView([](auto& pView) { pView->SetEnableHideLines(true); });
 }
 
+void CMergeDoc::AddToLineFilters(const String& text)
+{
+       theApp.m_pLineFilters->AddFilter(text, true);
+}
+
 void CMergeDoc::HideFilterLines()
 {
        int nLine;
index 41a4d64..739b347 100644 (file)
@@ -262,6 +262,7 @@ public:
        typedef enum { BYTEDIFF, WORDDIFF } DIFFLEVEL;
        void Showlinediff(CMergeEditView *pView, bool bReversed = false);
        void AddToSubstitutionFilters(CMergeEditView* pView, bool bReversed = false);
+       void AddToLineFilters(const String& text);
        std::vector<WordDiff> GetWordDiffArrayInDiffBlock(int nDiff);
        std::vector<WordDiff> GetWordDiffArray(int nLineIndex);
        std::vector<WordDiff> GetWordDiffArrayInRange(const int begin[3], const int end[3], int pane1 = -1, int pane2 = -1);
index d1ba8c0..3f12c94 100644 (file)
@@ -2726,8 +2726,8 @@ void CMergeEditView::OnAddToLineFilters()
        else
                GetTextWithoutEmptysInColumnSelection(text);
 
-       theApp.addToFilter = text;
        CMergeDoc* pd = GetDocument();
+       pd->AddToLineFilters(text.GetString());
        pd->FlushAndRescan(true);
 }