]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Merging from the BR_V5_DEV branch. BR_HDF_dev_merged
authornds <nds@opencascade.com>
Mon, 6 Oct 2008 10:44:36 +0000 (10:44 +0000)
committernds <nds@opencascade.com>
Mon, 6 Oct 2008 10:44:36 +0000 (10:44 +0000)
src/SUITApp/SUITApp.cxx
src/SUITApp/SUITApp.pro
src/SUITApp/SUITApp_Application.cxx
src/SUITApp/SUITApp_Application.h

index 3e0f483d6edd33272e569faf8cad3baab58344b4..bbac91a30c9a8aa515939f9946e9f2339687969c 100644 (file)
@@ -32,6 +32,7 @@
 #include <Style_Model.h>
 #include <QtxSplash.h>
 
+#include <SUIT_LicenseDlg.h>
 #ifdef SUIT_ENABLE_PYTHON
 #include <Python.h>
 #endif
 
 #include <stdlib.h>
 
+#ifdef WIN32
+#include <UserEnv.h>
+#endif
+
 static QString salomeVersion()
 {
   QString path( ::getenv( "GUI_ROOT_DIR" ) );
@@ -161,12 +166,13 @@ int main( int args, char* argv[] )
   PySys_SetArgv( args, argv );
 #endif
 
-  qInstallMsgHandler( MessageOutput );
+  //qInstallMsgHandler( MessageOutput );
 
   QStringList argList;
   bool noExceptHandling = false;
   bool iniFormat        = false;
   bool noSplash         = false;
+  bool useLicense       = false;
   for ( int i = 1; i < args /*&& !noExceptHandling*/; i++ )
   {
     if ( !strcmp( argv[i], "--noexcepthandling" ) )
@@ -175,13 +181,41 @@ int main( int args, char* argv[] )
       iniFormat = true;
     else if ( !strcmp( argv[i], "--nosplash") )
       noSplash = true;
-    else
+       else if ( !strcmp( argv[i], "--uselicense" ) )
+      useLicense = true;
+       else
       argList.append( QString( argv[i] ) );
   }
 
   SUITApp_Application app( args, argv );
 
   int result = -1;
+
+  if ( useLicense ) {
+    QString env;
+
+#ifdef WIN32
+    DWORD aLen=1024;
+    char aStr[1024];
+    HANDLE aToken=0;
+    HANDLE hProcess = GetCurrentProcess();
+    OpenProcessToken(hProcess,TOKEN_QUERY,&aToken);
+    if( GetUserProfileDirectory( aToken, aStr, &aLen ) )
+      env = aStr;
+
+#else
+    if ( ::getenv( "HOME" ) )
+      env = ::getenv( "HOME" );
+#endif
+    QFile file( env + "/ReadLicense.log" ); // Read the text from a file    
+    if( !file.exists() ) {
+      SUIT_LicenseDlg aLicense;
+      if ( aLicense.exec() != QDialog::Accepted ) 
+        return result;
+    }
+  }
+
   if ( !argList.isEmpty() )
   {
     SUITApp_Session* aSession = new SUITApp_Session( iniFormat );
index 97654e14020870d711b687283cd4ceb20425a824..54330b5b3b9be8ab564c05aeab462e6cfd636304 100644 (file)
@@ -11,6 +11,7 @@ CONFIG -= debug release debug_and_release
 CONFIG += qt thread debug dll shared
 
 win32:DEFINES += WIN32
+DEFINES += DISABLE_TESTRECORDER
 
 HEADERS = *.h
 
index 7027184df33f2feced785b812c1a2ea1001f5692..df551d580c06c658da7df8561c2c1a5cebe6f47d 100644 (file)
   Constructor
 */
 SUITApp_Application::SUITApp_Application( int& argc, char** argv, SUIT_ExceptionHandler* hand )
-: QApplication( argc, argv ),
+#ifndef DISABLE_TESTRECORDER
+  : TestApplication( argc, argv ),
+#else
+  : QApplication( argc, argv ),
+#endif
 myExceptHandler( hand )
 {
   QString path = SUIT_Tools::dir( argv[0] ) + QDir::separator() + "../../resources";
@@ -52,7 +56,11 @@ myExceptHandler( hand )
   Constructor
 */
 SUITApp_Application::SUITApp_Application( int& argc, char** argv, Type type, SUIT_ExceptionHandler* hand )
-: QApplication( argc, argv, type ),
+#ifndef DISABLE_TESTRECORDER
+  : TestApplication( argc, argv ),
+#else
+  : QApplication( argc, argv, type ),
+#endif
 myExceptHandler( hand )
 {
     QTranslator* strTbl = new QTranslator( 0 );
@@ -69,7 +77,11 @@ myExceptHandler( hand )
 bool SUITApp_Application::notify( QObject* receiver, QEvent* e )
 {
   return myExceptHandler ? myExceptHandler->handle( receiver, e ) :
+#ifndef DISABLE_TESTRECORDER
+                           TestApplication::notify( receiver, e );
+#else
                            QApplication::notify( receiver, e );
+#endif
 }
 
 /*!
index 808e464cc11f3223f123b27d5153f5fd9cdeb009..bb27322b53841d02b8ef99720aab51da0fdaed8d 100644 (file)
 #ifndef SUITAPP_APPLICATION_H
 #define SUITAPP_APPLICATION_H
 
-#include <QApplication>
+#ifndef DISABLE_TESTRECORDER
+  #include <TestApplication.h>
+#else
+  #include <QApplication>
+#endif
 
 class SUIT_ExceptionHandler;
 
-class SUITApp_Application : public QApplication
+#ifndef DISABLE_TESTRECORDER
+  class SUITApp_Application : public TestApplication
+#else
+  class SUITApp_Application : public QApplication
+#endif
 {
   Q_OBJECT