Update of /cvsroot/mahogany/M/src/gui
In directory usw-pr-cvs1:/tmp/cvs-serv15172/src/gui
Modified Files:
wxFiltersDialog.cpp
Log Message:
Implement a folder tree traversal when renaming a filter, so that it is still used.
Index: wxFiltersDialog.cpp
===================================================================
RCS file: /cvsroot/mahogany/M/src/gui/wxFiltersDialog.cpp,v
retrieving revision 1.93
retrieving revision 1.94
diff -b -u -2 -r1.93 -r1.94
--- wxFiltersDialog.cpp 8 Jul 2002 14:25:31 -0000 1.93
+++ wxFiltersDialog.cpp 25 Jul 2002 16:53:24 -0000 1.94
@@ -1599,4 +1599,42 @@
}
+
+#if !defined(NO_RENAME_FILTER_TRAVERSAL)
+class RenameAFilterTraversal : public MFolderTraversal
+{
+private:
+ wxString m_name;
+ wxString m_nameNew;
+public:
+ RenameAFilterTraversal(MFolder* folder, wxString name, wxString nameNew)
+ : MFolderTraversal(*folder)
+ , m_name(name)
+ , m_nameNew(nameNew)
+ { }
+
+ virtual bool OnVisitFolder(const wxString& folderName)
+ {
+ MFolder* folder = MFolder::Get(folderName);
+ CHECK( folder, NULL, "RenameAFilterTraversal: NULL folder" );
+ wxArrayString filters = folder->GetFilters();
+ size_t countFilters = filters.GetCount();
+ int foundInThisFolder = 0;
+ for ( size_t nFilter = 0; nFilter < countFilters; nFilter++ )
+ {
+ if (filters[nFilter] == m_name)
+ {
+ filters[nFilter] = m_nameNew;
+ foundInThisFolder = 1;
+ }
+ }
+ if (foundInThisFolder)
+ {
+ folder->SetFilters(filters);
+ }
+ return true;
+ }
+};
+#endif
+
void
wxAllFiltersDialog::OnRenameFiter(wxCommandEvent &event)
@@ -1622,4 +1660,5 @@
}
+#if defined(NO_RENAME_FILTER_TRAVERSAL)
MDialog_Message(_("Please note that the renamed filter is not used by "
"any folder any more, you should probably go to the\n"
@@ -1631,4 +1670,10 @@
_("Filter renamed"),
"FilterRenameWarn");
+#else
+ MFolder_obj folderRoot("");
+ RenameAFilterTraversal traverse(folderRoot, name, nameNew);
+ traverse.Traverse();
+#endif
+
}
-------------------------------------------------------
This sf.net email is sponsored by: Jabber - The world's fastest growing
real-time communications platform! Don't just IM. Build it in!
http://www.jabber.com/osdn/xim
_______________________________________________
Mahogany-cvsupdates mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates