[Winmerge-svn] SF.net SVN: winmerge: [4320] trunk/Src
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <ki...@us...> - 2007-06-07 16:07:28
|
Revision: 4320 http://svn.sourceforge.net/winmerge/?rev=4320&view=rev Author: kimmov Date: 2007-06-07 09:07:23 -0700 (Thu, 07 Jun 2007) Log Message: ----------- TODO: [ 1718040 ] Import existing linefilter to new dialog Modified Paths: -------------- trunk/Src/Changes.txt trunk/Src/LineFiltersList.cpp trunk/Src/LineFiltersList.h trunk/Src/MainFrm.cpp Modified: trunk/Src/Changes.txt =================================================================== --- trunk/Src/Changes.txt 2007-06-07 05:58:04 UTC (rev 4319) +++ trunk/Src/Changes.txt 2007-06-07 16:07:23 UTC (rev 4320) @@ -5,6 +5,8 @@ 2007-06-07 Kimmo BUG: [ 1730534 ] Cannot copy unique items in 2.7.3.5 - additional fix for deleting Src: DirActions.cpp + TODO: [ 1718040 ] Import existing linefilter to new dialog + Src: LineFiltersList.cpp LineFiltersList.h MainFrm.cpp 2007-06-06 Kimmo Apply Recent projects (patch #1731551) menuitem to languages Modified: trunk/Src/LineFiltersList.cpp =================================================================== --- trunk/Src/LineFiltersList.cpp 2007-06-07 05:58:04 UTC (rev 4319) +++ trunk/Src/LineFiltersList.cpp 2007-06-07 16:07:23 UTC (rev 4320) @@ -199,3 +199,29 @@ retval2 = m_pOptionsMgr->RemoveOption(valuename); } } + +/** + * @brief Import old-style filter string into new system. + * This function imports old-style (2.6.x and earlier) line filters + * to new linefilter system. Earlier linefilters were saved as one + * string to registry. + * @param [in] filters String containing line filters in old-style. + */ +void LineFiltersList::Import(LPCTSTR filters) +{ + const TCHAR sep[] = _T("\r\n"); + TCHAR *p_filters = (TCHAR *)&filters[0]; + TCHAR *token; + + if (filters != NULL && _tcslen(filters) > 0) + { + // find each regular expression and add to list + token = _tcstok(p_filters, sep); + while (token) + { + AddFilter(token, TRUE); + token = _tcstok(NULL, sep); + } + SaveFilters(); + } +} Modified: trunk/Src/LineFiltersList.h =================================================================== --- trunk/Src/LineFiltersList.h 2007-06-07 05:58:04 UTC (rev 4319) +++ trunk/Src/LineFiltersList.h 2007-06-07 16:07:23 UTC (rev 4320) @@ -44,6 +44,8 @@ void Initialize(COptionsMgr *pOptionsMgr); void SaveFilters(); + void Import(LPCTSTR filters); + private: LineFilterItems m_items; /**< List for linefilter items */ COptionsMgr * m_pOptionsMgr; /**< Options-manager for storage */ Modified: trunk/Src/MainFrm.cpp =================================================================== --- trunk/Src/MainFrm.cpp 2007-06-07 05:58:04 UTC (rev 4319) +++ trunk/Src/MainFrm.cpp 2007-06-07 16:07:23 UTC (rev 4320) @@ -225,6 +225,15 @@ if (m_pLineFilters) m_pLineFilters->Initialize(GetOptionsMgr()); + // If there are no filters loaded, and there is filter string in previous + // option string, import old filters to new place. + if (m_pLineFilters->GetCount() == 0) + { + CString oldFilter = theApp.GetProfileString(_T("Settings"), _T("RegExps")); + if (!oldFilter.IsEmpty()) + m_pLineFilters->Import(oldFilter); + } + // Check if filter folder is set, and create it if not CString pathMyFolders = GetOptionsMgr()->GetString(OPT_FILTER_USERPATH); if (pathMyFolders.IsEmpty()) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |