]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/CDMUtilities.cpp
Feature #1711 CreaDevManager application implementation
[crea.git] / lib / creaDevManagerLib / CDMUtilities.cpp
index 4d409542b221dfb2ae83a975d1d1ece393d412d2..64a6987b125812b02d678dd75274ccf9b56ed928 100644 (file)
@@ -41,6 +41,9 @@
 #include<algorithm>
 #include<cstdlib>
 
+#include<creaWx.h>
+#include<wx/config.h>
+
 namespace CDMUtilities
 {
   template <typename Container>
@@ -87,7 +90,7 @@ namespace CDMUtilities
        if(0 < pathSplit.size())
                pathFixed = pathSplit[0];
 
-    for (int i = 1; i < pathSplit.size(); i++)
+    for (int i = 1; i < (int)(pathSplit.size()); i++)
       {
         pathFixed += CDMUtilities::SLASH + pathSplit[i];
       }
@@ -109,20 +112,24 @@ namespace CDMUtilities
 
   int openTextEditor(const std::string& file)
   {
-    std::string command = TEXT_EDITOR;
+    wxConfigBase* pConfig =  wxConfigBase::Get();
+    std::string command = crea::wx2std(pConfig->Read(wxT("TEXT_EDITOR"), crea::std2wx(CDMUtilities::TEXT_EDITOR)));
 
     if(file != "")
-      command += " \"" + file + "\" &";
+      command += " \"" + file + "\"";
+    command += " &";
 
     return system(command.c_str());
   }
 
   int openFileExplorer(const std::string& file)
   {
-    std::string command = FILE_EXPLORER;
+    wxConfigBase* pConfig =  wxConfigBase::Get();
+    std::string command = crea::wx2std(pConfig->Read(wxT("FILE_EXPLORER"), crea::std2wx(CDMUtilities::FILE_EXPLORER)));
 
     if(file != "")
-      command += " \"" + file + "\" &";
+      command += " \"" + file + "\"";
+    command += " &";
 
     return system(command.c_str());
   }
@@ -131,7 +138,8 @@ namespace CDMUtilities
   {
     std::string comm = command;
     if(file != "")
-      comm += " \"" + file + "\" &";
+      comm += " \"" + file + "\"";
+    comm += " &";
 
     return system(comm.c_str());
   }
@@ -144,13 +152,19 @@ namespace CDMUtilities
 
   int openCreaToolsTools()
   {
+#ifdef _WIN32
+    std::string comm = "creaTools &";
+#else
     std::string comm = "creaTools.sh &";
+#endif
+    
     return system(comm.c_str());
   }
 
   int openTerminal(const std::string& command)
   {
-    std::string comm = TERMINAL;
+    wxConfigBase* pConfig =  wxConfigBase::Get();
+    std::string comm = crea::wx2std(pConfig->Read(wxT("TERMINAl"), crea::std2wx(CDMUtilities::TERMINAL)));
     if (command != "")
       comm += + " " + command;
     comm += " &";
@@ -162,7 +176,7 @@ namespace CDMUtilities
     std::vector<std::string> words;
     splitter::split(words,name," \\/\",.'`",splitter::no_empties);
     std::string fixedName = "";
-    for (int i = 0; i < words.size(); i++)
+    for (int i = 0; i < (int)(words.size()); i++)
       {
         fixedName += words[i];
       }
@@ -305,4 +319,18 @@ namespace CDMUtilities
     return true;
   }
 
+  std::string stringify(const std::string& line)
+  {
+       std::string res;
+       for (int i = 0; i < (int)(line.size()); i++)
+       {
+         if(line[i] == '\\')
+           res.push_back('\\');
+         if(line[i] == '\"')
+           res.push_back('\\');
+         res.push_back(line[i]);
+       }
+       return res;
+  }
+
 }