]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Added version support for user resource file
authorstv <stv@opencascade.com>
Fri, 3 Jun 2005 11:28:13 +0000 (11:28 +0000)
committerstv <stv@opencascade.com>
Fri, 3 Jun 2005 11:28:13 +0000 (11:28 +0000)
src/SUIT/SUIT_ResourceMgr.cxx
src/Session/SALOME_Session_Server.cxx

index 3f8670bd2d29eb903528a89e5cdc53969d17dc6e..ec4200950e09d2a3c618718cb66ad61c66f1a902 100755 (executable)
@@ -51,11 +51,7 @@ QString SUIT_ResourceMgr::userFileName( const QString& appName ) const
   QString pathName = QtxResourceMgr::userFileName( appName );
 
   if ( !version().isEmpty() )
-  {
-    int idx = pathName.findRev( appName );
-    if ( idx != -1 )
-      pathName.replace( idx, appName.length(), appName + version() );
-  }
+    pathName += QString( "." ) + version();
 
   return pathName;
 }
index 6aeb7e868380648ec082bded0f6581338de0edc8..bb9a850f3ce8d75bb5aadfec6f0e5c7c6feeee06 100755 (executable)
@@ -35,9 +35,9 @@
 #include <iostream>
 #include <unistd.h>
 
-#include <qthread.h> 
+#include <qdir.h>
+#include <qfile.h>
 #include <qapplication.h>
-#include <qlabel.h>
 #include <qwaitcondition.h>
 
 #include "Utils_SALOME_Exception.hxx"
@@ -80,13 +80,37 @@ extern "C" int HandleSignals(QApplication *theQApplication);
  *   - get session state
  */
 
-#ifdef _DEBUG_
-static int MYDEBUG = 0;
-#else
-static int MYDEBUG = 0;
-#endif
+QString salomeVersion()
+{
+  QString path( ::getenv( "GUI_ROOT_DIR" ) );
+  if ( !path.isEmpty() )
+    path += QDir::separator();
+  path += QString( "bin/salome/VERSION" );
+
+  QFile vf( path );
+  if ( !vf.open( IO_ReadOnly ) )
+    return QString::null;
+
+  QString line;
+  vf.readLine( line, 1024 );
+  vf.close();
+
+  if ( line.isEmpty() )
+    return QString::null;
+
+  while ( !line.isEmpty() && line.at( line.length() - 1 ) == QChar( '\n' ) )
+    line.remove( line.length() - 1, 1 );
+
+  QString ver;
+  int idx = line.findRev( ":" );
+  if ( idx != -1 )
+    ver = line.mid( idx + 1 ).stripWhiteSpace();
+
+  return ver;
+}
 
 PyObject *salome_shared_modules_module = NULL;
+
 void MessageOutput( QtMsgType type, const char *msg )
 {
   switch ( type ) {
@@ -112,6 +136,7 @@ protected:
   virtual SUIT_ResourceMgr* createResourceMgr( const QString& appName ) const
   {
     SUIT_ResourceMgr* resMgr = new SUIT_ResourceMgr( appName, QString( "%1Config" ) );
+    resMgr->setVersion( salomeVersion() );
     resMgr->setCurrentFormat( "xml" );
     return resMgr;
   }
@@ -138,8 +163,6 @@ private:
 };
 
 
-
-
 int main(int argc, char **argv)
 {
   qInstallMsgHandler( MessageOutput );
@@ -147,6 +170,10 @@ int main(int argc, char **argv)
   /*
    * Python initialisation : only once
    */
+
+  char* _argv_0[512];
+  strcpy( (char*)_argv_0, (char*)argv[0] );
+
   int _argc = 1;
   char* _argv[] = {""};
   KERNEL_PYTHON::init_python(_argc,_argv);
@@ -208,7 +235,9 @@ int main(int argc, char **argv)
        INFOS("Session activated, Launch IAPP...");
 
        int qArgc = 1;
+       argv[0] = (char*)_argv_0;
        SALOME_QApplication* _qappl = new SALOME_QApplication( qArgc, argv );
+       _qappl->setStyle( "salome" );
        
        INFOS("creation QApplication");
        _GUIMutex.unlock();