Example #1
0
//=============================================================================
// Main function of the EniXs application.
//=============================================================================
int main (int argc, char *argv[])
{
  int   i;
  QStringList  languages;
  
  languages << "en" << "de";
  
  //---------------------------------------------------------------------------
  // Parse the arguments.
  //---------------------------------------------------------------------------
  for (i = 1; i < argc; i++)
  {
    if (QString (argv[i]) == "-lang")
    {
      i++;
      if (languages.contains (argv[i]))
        mLanguage = argv[i];
      else
        usage();
    }
    else
      usage();
  }
  
  //---------------------------------------------------------------------------
  // Create the appliction object.
  //---------------------------------------------------------------------------
  QApplication a (argc, argv);
  a.setFont (QFont ("helvetica", 12));
  
  //---------------------------------------------------------------------------
  // Add the paths for the plugins and libs to the library path.
  //---------------------------------------------------------------------------
  mEnixsDir = QString (getenv("ENIXSDIR"));
  a.addLibraryPath (mEnixsDir + "/plugins");
  a.addLibraryPath (mEnixsDir + "/libs");

  //---------------------------------------------------------------------------
  // Install the translators depending on the specified language.
  //---------------------------------------------------------------------------
  QDir translations (mEnixsDir + "/translations", "*_" + mLanguage + ".qm");

  for (uint i = 0; i < translations.count(); i++)
  {
    QTranslator* translator = new QTranslator (0);
    translator->load    (translations[i], translations.path());
    a.installTranslator (translator);
  }

  //---------------------------------------------------------------------------
  // Create the main application object and make it the main widget of the
  // application.
  //---------------------------------------------------------------------------
  CEnixsApp *enixs = new CEnixsApp();
  a.setMainWidget (enixs);

  enixs->show();
	
  //---------------------------------------------------------------------------
  // Enter the event loop of the application.
  //---------------------------------------------------------------------------
  return a.exec();
}