]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkConfigurationFile.cxx
#3392 BBTK Bug New Normal - Initial widget size box LayoutLine
[bbtk.git] / kernel / src / bbtkConfigurationFile.cxx
index 4c6ffe3608d61dbb86f3b3530a7177fd0b87d97f..e5b852945184c23a50ca9cd2aaa0b1e76b6af827 100644 (file)
@@ -342,52 +342,7 @@ namespace bbtk
 
 
     // -----------------------------------------------------------------
-#if defined(__GNUC__)
-    // ------------------ create some usefull strings ----------------
-    // installed bbtk_path
-    char bbtk_path[1000];
-    strcpy(bbtk_path, Utilities::GetExecutablePath().c_str());  // JPR
-    //strcpy(bbtk_path, "/usr/local/bin");
-
-
-    std::string str_home=Utilities::GetEnvHome();
-
-       #if defined(WIN32)      
-               str_home="C:"+str_home;
-       #endif
-
-    // rootDirectory
-    char rootDirectory[200];
-    sprintf( rootDirectory,  "%s/.bbtk", str_home.c_str());
-
-    // configPath
-    char configPath[200];
-    sprintf(configPath, "%s/bbtk_config.xml",rootDirectory);
-
-    // configXmlTmp
-    char configXmlTmp[250];
-    sprintf(configXmlTmp, "%s/bbtk_config.xml.tmp", bbtk_path);
-
-    // copyFile
-    char copyFile[250];
-
-    if (!Utilities::FileExists(configXmlTmp)) // bbtk_config.xml.tmp not found (not installed)
-      {
-       // if "bbtk_path/bbtk_config.xml.tmp" doesn't exist, hard-create a minimum version in .bbtk
-       CreateConfigXML( rootDirectory );// create .bbtk
-      }
-    else
-      {
-       sprintf(copyFile,"cp %s  %s/bbtk_config.xml ",configXmlTmp,rootDirectory );
-       if (!Utilities::FileExists(configPath))
-         {
-           system(copyFile);
-         }
-      }
-    return;
-
-    // ------------------------------------------------------------------
-#elif defined(WIN32)
+#if defined(WIN32)
 
     // installed bbtk_path
     char bbtk_path[100];
@@ -424,24 +379,77 @@ namespace bbtk
 
     sprintf(copyFile,"copy %s\\bbtk_config.xml.tmp \"%s\"\\bbtk_config.xml ",bbtk_path,rootDirectory );
 
-    int attribs = GetFileAttributes (rootDirectory);
+       WCHAR    rootDirectory2[200];
+       MultiByteToWideChar( 0,0, rootDirectory, 200, rootDirectory2, 6);
+       LPCWSTR rootDirectory3 = rootDirectory2;
+       int attribs = GetFileAttributes (rootDirectory3);
+//    int attribs = GetFileAttributes (rootDirectory3);
+       
+       
     bbtkMessage("config",1,std::hex << attribs << " " << FILE_ATTRIBUTE_DIRECTORY << std::endl);
     if ( attribs != 0xFFFFFFFF)
-      {
-       if ((attribs & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY ) /// \TODO : check !
-         {
-           if ( GetFileAttributes( configPath ) == 0xFFFFFFFF)
-             {
+    {
+               if ((attribs & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY ) /// \TODO : check !
+               {       
+                       WCHAR    configPath2[200];
+                       MultiByteToWideChar( 0,0, configPath, 200, configPath2, 6);
+                       LPCWSTR configPath3 = configPath2;
+                       if ( GetFileAttributes( configPath3 ) == 0xFFFFFFFF)
+                       //if ( GetFileAttributes( configPath ) == 0xFFFFFFFF)
+                       {
+                               system(copyFile);
+                       }
+               }
+    } else {
+               system(makeDir);
                system(copyFile);
-             }
-         }
+       }
+  return;
+    // ------------------------------------------------------------------
+#elif defined(__GNUC__)
+    // ------------------ create some usefull strings ----------------
+    // installed bbtk_path
+    char bbtk_path[1000];
+    strcpy(bbtk_path, Utilities::GetExecutablePath().c_str());  // JPR
+    //strcpy(bbtk_path, "/usr/local/bin");
+
+
+    std::string str_home=Utilities::GetEnvHome();
+
+       #if defined(WIN32)      
+               str_home="C:"+str_home;
+       #endif
+
+    // rootDirectory
+    char rootDirectory[200];
+    sprintf( rootDirectory,  "%s/.bbtk", str_home.c_str());
+
+    // configPath
+    char configPath[200];
+    sprintf(configPath, "%s/bbtk_config.xml",rootDirectory);
+
+    // configXmlTmp
+    char configXmlTmp[250];
+    sprintf(configXmlTmp, "%s/bbtk_config.xml.tmp", bbtk_path);
+
+    // copyFile
+    char copyFile[250];
+
+    if (!Utilities::FileExists(configXmlTmp)) // bbtk_config.xml.tmp not found (not installed)
+      {
+       // if "bbtk_path/bbtk_config.xml.tmp" doesn't exist, hard-create a minimum version in .bbtk
+       CreateConfigXML( rootDirectory );// create .bbtk
       }
     else
       {
-       system(makeDir);
-       system(copyFile);
+       sprintf(copyFile,"cp %s  %s/bbtk_config.xml ",configXmlTmp,rootDirectory );
+       if (!Utilities::FileExists(configPath))
+         {
+           system(copyFile);
+         }
       }
     return;
+
     // ------------------------------------------------------------------
 #else
 /// \todo  ConfigurationFile::InstallPath() : exit when for not WIN32 and not__GNUC__