win32 paths need some conversion
[mussa.git] / qui / MussaWindow.cpp
index 9e0678c57137ff53b7f859ee7a799bda6a32e676..e11e586772994fb566fcbf6bb75188195ca248e2 100644 (file)
@@ -15,6 +15,9 @@
 
 #include <iostream>
 
+#include <boost/filesystem/path.hpp>
+namespace fs = boost::filesystem;
+
 using namespace std;
 
 MussaWindow::MussaWindow(Mussa *analysis_, QWidget *parent) :
@@ -243,7 +246,8 @@ void MussaWindow::loadMotifList()
     return;
   // try to load safely
   try {
-    analysis->load_motifs(path.toStdString());
+    fs::path converted_path(path.toStdString(), fs::native);
+    analysis->load_motifs(converted_path);
   } catch (runtime_error e) {
     QString msg("Unable to load ");
     msg += path;
@@ -273,7 +277,8 @@ void MussaWindow::loadMupa()
   // try to load safely
   try {
     Mussa *m = new Mussa;
-    m->load_mupa_file(mupa_path.toStdString());
+    fs::path converted_path(mupa_path.toStdString(), fs::native);
+    m->load_mupa_file(converted_path);
     m->analyze(0, 0, Mussa::TransitiveNway, 0.0);
     setAnalysis(m);
   } catch (mussa_load_error e) {
@@ -298,7 +303,8 @@ void MussaWindow::loadSavedAnalysis()
   // try to safely load
   try {
     Mussa *m = new Mussa;
-    m->load(muway_dir.toStdString());
+    fs::path converted_path(muway_dir.toStdString(), fs::native);
+    m->load(converted_path);
     // only switch mussas if we loaded without error
     setAnalysis(m);
   } catch (mussa_load_error e) {