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

Reply via email to