]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
NRI : Search resources with KERNEL_ROOT_DIR var.
authornri <nri@opencascade.com>
Tue, 20 May 2003 08:13:53 +0000 (08:13 +0000)
committernri <nri@opencascade.com>
Tue, 20 May 2003 08:13:53 +0000 (08:13 +0000)
src/RegistryDisplay/RegWidget.cxx
src/Session/InquireServersQThread.cxx

index fd1371b2949a93b510f6f05fb022978ab062b3a5..5ca42e7d744b70e0f937448fc5c1cc231b16173b 100644 (file)
@@ -32,6 +32,8 @@ using namespace std;
 # include "HelpWindow.hxx" 
 # include "IntervalWindow.hxx"
 
+static QString addSlash( const QString& path );
+
 typedef int PIXELS;
 RegWidget* RegWidget::myRegWidgetPtr = 0;
 
@@ -92,12 +94,31 @@ RegWidget::RegWidget(CORBA::ORB_var &orb, QWidget *parent, const char *name )
        _tabWidget(0), _refresh(0), _interval(0),
        myInfoWindow(0), myHelpWindow(0), myIntervalWindow(0)
 {
-  char* dir = getenv( "CSF_ResourcesDefaults" );
+
   QString path( "" );
-  if ( dir ) {
-    QDir qDir( dir );
-    path = qDir.filePath( "default.png" );
+  QString dir;
+  char* cenv;
+  cenv = getenv( "KERNEL_ROOT_DIR" );
+  if ( cenv ) {
+    dir.sprintf( "%s", cenv );
+    if ( !dir.isEmpty() ) {
+      dir = addSlash(dir) ;
+      dir = dir + "share" ;
+      dir = addSlash(dir) ;
+      dir = dir + "salome" ;
+      dir = addSlash(dir) ;
+      dir = dir + "resources" ;
+      dir = addSlash(dir) ;
+      QDir qDir( dir );
+      path = qDir.filePath( "default.png" );
+    }
   }
+//    char* dir = getenv( "CSF_ResourcesDefaults" );
+//    QString path( "" );
+//    if ( dir ) {
+//      QDir qDir( dir );
+//      path = qDir.filePath( "default.png" );
+//    }
   QPixmap pm ( path );
   if ( !pm.isNull() )
     setIcon( pm );
@@ -556,3 +577,17 @@ void InfoWindow::setText( const QString& text )
 {
   myTextView->setText( text );
 }
+
+QString addSlash( const QString& path )
+{
+  if (!path.isNull()) {
+#ifdef WNT
+    QChar slash ('\\');
+#else
+    QChar slash ('/');
+#endif
+    if ( path.at(path.length()-1) != slash )
+      return path + slash;
+  }
+  return path;
+}
index 11319d4990cf39277385ce6e5c407734cc25729c..42129cefe383ad79208d6e6afaf2a2e95535266f 100644 (file)
@@ -505,6 +505,23 @@ QString findFile( QString filename )
   QString dir;
   char* cenv;
   
+  // Try ${KERNEL_ROOT_DIR}/share/salome/resources directory
+  cenv = getenv( "KERNEL_ROOT_DIR" );
+  if ( cenv ) {
+    dir.sprintf( "%s", cenv );
+    if ( !dir.isEmpty() ) {
+      dir = addSlash(dir) ;
+      dir = dir + "share" ;
+      dir = addSlash(dir) ;
+      dir = dir + "salome" ;
+      dir = addSlash(dir) ;
+      dir = dir + "resources" ;
+      dir = addSlash(dir) ;
+      QFileInfo fileInfo( dir + filename );
+      if ( fileInfo.isFile() && fileInfo.exists() )
+       return fileInfo.filePath();
+    }
+  }
   // Try CSF_ResourcesDefaults env.var directory ( or directory list )
   cenv = getenv( "CSF_ResourcesDefaults" );
   if ( cenv ) {