Update of /cvsroot/mahogany/M/src/classes
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10738/src/classes
Modified Files:
MFolder.cpp
Log Message:
use Get/SetFilters() in Add/Prepend/RemoveFilter() instead of duplicating their code
Index: MFolder.cpp
===================================================================
RCS file: /cvsroot/mahogany/M/src/classes/MFolder.cpp,v
retrieving revision 1.103
retrieving revision 1.104
diff -b -u -2 -r1.103 -r1.104
--- MFolder.cpp 11 Oct 2003 17:02:37 -0000 1.103
+++ MFolder.cpp 11 Mar 2004 17:14:31 -0000 1.104
@@ -940,58 +940,31 @@
void MFolderFromProfile::SetFilters(const wxArrayString& filters)
{
- m_profile->writeEntry(MP_FOLDER_FILTERS, strutil_flatten_array(filters, ':'));
+ m_profile->writeEntry(MP_FOLDER_FILTERS, strutil_flatten_array(filters));
}
void MFolderFromProfile::PrependFilter(const String& filter)
{
- String filters = filter;
-
- String filtersOld = READ_CONFIG(m_profile, MP_FOLDER_FILTERS);
- if ( !filtersOld.empty() )
- filters += ':';
-
- m_profile->writeEntry(MP_FOLDER_FILTERS, filters + filtersOld);
+ wxArrayString filters = GetFilters();
+ filters.Insert(filter, 0);
+ SetFilters(filters);
}
void MFolderFromProfile::AddFilter(const String& filter)
{
- String filters = READ_CONFIG(m_profile, MP_FOLDER_FILTERS);
- if ( !filters.empty() )
- filters += ':';
- filters += filter;
-
- m_profile->writeEntry(MP_FOLDER_FILTERS, filters);
+ wxArrayString filters = GetFilters();
+ filters.Add(filter);
+ SetFilters(filters);
}
void MFolderFromProfile::RemoveFilter(const String& filter)
{
- String filters = READ_CONFIG(m_profile, MP_FOLDER_FILTERS);
-
- if ( filters == filter )
- {
- // we don't have any other filters
- filters.clear();
- }
- else // something will be left
- {
- String others;
- if ( filters.StartsWith(filter + _T(':'), &others) )
+ wxArrayString filters = GetFilters();
+ int n = filters.Index(filter);
+ if ( n != wxNOT_FOUND )
{
- filters = others;
- }
- else
- {
- const wxChar *start = wxStrstr(filters, _T(':') + filter);
- if ( !start )
- {
- // we don't have such filter
- return;
- }
+ filters.RemoveAt(n);
- filters.erase(start - filter.c_str(), filter.length() + 1);
- }
+ SetFilters(filters);
}
-
- m_profile->writeEntry(MP_FOLDER_FILTERS, filters);
}
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Mahogany-cvsupdates mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates