#include "toolbar/toolbar.h" #include "util/util.h" int main(int argc, char** argv) { bool option_auto = false; bool option_session = false; bool option_exam_mode = false; QString sessionName; QApplication app(argc, argv); app.setOrganizationName("openslx"); app.setOrganizationDomain("openslx.org"); app.setApplicationName("pvsclient"); for (QString a : app.arguments()) { if (a == "--exam-mode") { option_exam_mode = true; } else if (a == "--auto") { option_auto = true; } else if (a.startsWith("--session=")) { option_session= true; sessionName= a.replace("--session=", ""); } else if (a == "--usage" || a == "--help") { qStdout() << "Usage: pvsclient [--exam-mode] [--auto|--session=xxx|\"\"]" << endl; exit(0); } else if (!a.endsWith("pvsclient")) { qStdout() << "ignoring unknown argument: \"" << a << "\""; qStdout() << "see --usage for a list of options" << endl; } } qsrand((uint)QDateTime::currentMSecsSinceEpoch()); // Set the global path of the settings QSettings::setPath(QSettings::IniFormat, QSettings::SystemScope, "/opt/"); do { // Make sure settings directory exists USER_SETTINGS(settings); QFileInfo fi(settings.fileName()); QDir path(fi.path()); qDebug() << "User settings are in:" << settings.fileName(); if (!path.exists()) path.mkpath(path.absolutePath()); // Now check if settings file exists. If not, copy system default (if available) if (!fi.exists()) { SYSTEM_SETTINGS(sys); qDebug() << "System settings are in:" << sys.fileName(); QFileInfo sysfi(sys.fileName()); if (sysfi.exists()) { if (!QFile::copy(sys.fileName(), settings.fileName())) qDebug() << "Copying default settings from " << sys.fileName() << " to " << settings.fileName() << " failed."; } } } while (false); // use system locale as language to translate gui QTranslator translator; translator.load(":pvsclient"); app.installTranslator(&translator); Toolbar* toolbar; if (option_auto) { qDebug() << "Calling Toolbar(true) (autoConnect)"; toolbar = new Toolbar(true); // auto connect client without session ID. } else if (option_session) { qDebug() << "Session ID"; toolbar = new Toolbar(sessionName.toUtf8()); // connect client with given session ID. } else { qDebug() << "just client mode"; toolbar = new Toolbar(); // create normal client. } if (option_exam_mode) { toolbar->setVisible(false); } return app.exec(); }