From f7df9b21c099ed0c7d37d8fc1c398c7cb7b5282e Mon Sep 17 00:00:00 2001
From: Francois Henrotte <francois.henrotte@ulg.ac.be>
Date: Wed, 12 Jun 2013 20:28:31 +0000
Subject: [PATCH] add a metamodel defined tag to the default data base name;
 exclude the parameter WorkingDir from the database

---
 Fltk/onelabGroup.cpp | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/Fltk/onelabGroup.cpp b/Fltk/onelabGroup.cpp
index c31680e441..4d92df9703 100644
--- a/Fltk/onelabGroup.cpp
+++ b/Fltk/onelabGroup.cpp
@@ -687,9 +687,24 @@ void onelab_cb(Fl_Widget *w, void *data)
         if(db[i][j] == onelab::parameter::charSep()) db[i][j] = '|';
       Msg::Direct("%s", db[i].c_str());
     }
-    std::string s = SplitFileName(GModel::current()->getFileName())[0] + "onelab.db";
-    if(fileChooser(FILE_CHOOSER_CREATE, "Save", "*.db", s.c_str()))
+
+    std::vector<onelab::string> ps;
+    onelab::server::instance()->get(ps,"TAGSIMU");
+    std::string dbName, s;
+    if(ps.size())
+      dbName.assign("onelab" + ps[0].getValue() + ".db");
+    else
+      dbName = "onelab.db";
+    s.assign(SplitFileName(GModel::current()->getFileName())[0] + dbName);
+    if(fileChooser(FILE_CHOOSER_CREATE, "Save", "*.db", s.c_str())){
       saveDb(fileChooserGetName(1));
+      if(ps.size()){
+      	ps[0].setValue("");
+      	onelab::server::instance()->set(ps[0]);
+      	FlGui::instance()->rebuildTree(true);
+      }
+    }
+
     return;
   }
 
@@ -1960,6 +1975,7 @@ int metamodel_cb(const std::string &name, const std::string &action)
     onelab::string s1("Arguments/WorkingDir",
 		      split[0].size() ? split[0] : GetCurrentWorkdir());
     s1.setVisible(false);
+    s1.setAttribute("notInDb","True");
     onelab::server::instance()->set(s1);
     onelab::string s2("Arguments/FileName", split[1]);
     s2.setVisible(false);
-- 
GitLab