X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpoefilter.cpp;h=2bd9ea44dc3d3d67ed8d11232d28f3007dad3155;hb=7db8b8a0a7561bb8b26ec78f89b408c91cba1878;hp=032b8716841ef75bc3b8a5f6637daea1be1b9e5e;hpb=fc27eb63c05d915d606e17992ecd5b7f68478101;p=poefilter.git diff --git a/source/poefilter.cpp b/source/poefilter.cpp index 032b871..2bd9ea4 100644 --- a/source/poefilter.cpp +++ b/source/poefilter.cpp @@ -23,7 +23,7 @@ int PoeFilter::main() if(!i->second.is_abstract()) { IO::BufferedFile out(i->first+".filter", IO::M_WRITE); - i->second.write(out, theme); + i->second.write(out); } return 0; @@ -34,7 +34,7 @@ const Category &PoeFilter::get_category(const string &name) const return get_item(categories, name); } -void PoeFilter::find_categories(const Regex &re, list &categs) const +void PoeFilter::find_categories(const Regex &re, vector &categs) const { for(map::const_iterator i=categories.begin(); i!=categories.end(); ++i) if(re.match(i->first)) @@ -52,13 +52,14 @@ PoeFilter::Loader::Loader(PoeFilter &f): { add("category", &Loader::category); add("filter", &Loader::filter); + add("import", &Loader::import); add("theme", &Loader::theme); } void PoeFilter::Loader::category(const string &name) { - Category cat; - load_sub(cat); + Category cat(name, obj.categories.size()); + load_sub(cat, obj); obj.categories[name] = cat; } @@ -69,6 +70,11 @@ void PoeFilter::Loader::filter(const string &name) obj.filters[name] = flt; } +void PoeFilter::Loader::import(const string &fn) +{ + DataFile::load(obj, fn); +} + void PoeFilter::Loader::theme() { load_sub(obj.theme);