Commit 25adcb1e authored by twanvl's avatar twanvl

allow opening set files in directories from File->Open dialog: they were...

allow opening set files in directories from File->Open dialog: they were returned as "x.mse-set\set.mse-set". Strip the last part.
parent b010e2e4
...@@ -23,11 +23,17 @@ class MSE2FileFormat : public FileFormat { ...@@ -23,11 +23,17 @@ class MSE2FileFormat : public FileFormat {
virtual bool canExport(const Game&) { return true; } virtual bool canExport(const Game&) { return true; }
virtual SetP importSet(const String& filename) { virtual SetP importSet(const String& filename) {
wxString set_name = filename; wxString set_name = filename;
set_name.Replace(_("\\"),_("/"));
// Strip "/set" from the end, newer wx versions have a function for this: // Strip "/set" from the end, newer wx versions have a function for this:
// filename.EndsWith(_("/set"), &set_name); // filename.EndsWith(_("/set"), &set_name);
if (filename.size() > 4 && filename.substr(filename.size()-4) == _("/set")) { if (set_name.size() > 4 && set_name.substr(set_name.size()-4) == _("/set")) {
set_name = filename.substr(0, filename.size()-4); set_name.resize(set_name.size()-4);
} }
// Or even worse: the file open dialog may append "/set.mse-set"
if (set_name.size() > 20 && set_name.substr(set_name.size()-20) == _(".mse-set/set.mse-set") && !wxFileExists(set_name)) {
set_name.resize(set_name.size()-12);
}
// Open the set
SetP set(new Set); SetP set(new Set);
set->open(set_name); set->open(set_name);
settings.addRecentFile(set_name); settings.addRecentFile(set_name);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment