diff options
author | Christian Klinger | 2016-09-27 16:22:06 +0200 |
---|---|---|
committer | Christian Klinger | 2016-09-27 16:22:06 +0200 |
commit | 4c35ed7f24244c651afea6e7b9e577e2be84c905 (patch) | |
tree | 6535e84d4184ce6d706a9542cf55afcd595392a7 /src/client/clientapp/clientapp.cpp | |
parent | Merge branch 'master' of git.openslx.org:pvs2 (diff) | |
download | pvs2-4c35ed7f24244c651afea6e7b9e577e2be84c905.tar.gz pvs2-4c35ed7f24244c651afea6e7b9e577e2be84c905.tar.xz pvs2-4c35ed7f24244c651afea6e7b9e577e2be84c905.zip |
improved option parsing.
Diffstat (limited to 'src/client/clientapp/clientapp.cpp')
-rw-r--r-- | src/client/clientapp/clientapp.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/client/clientapp/clientapp.cpp b/src/client/clientapp/clientapp.cpp index ce0b5f3..05289e5 100644 --- a/src/client/clientapp/clientapp.cpp +++ b/src/client/clientapp/clientapp.cpp @@ -6,7 +6,7 @@ ClientApp::ClientApp(int& argc, char** argv) : QApplication(argc, argv), _connec setOrganizationDomain("openslx.org"); setApplicationName("pvsclient"); - parseParameters(); + _arguments = parseParameters(); initConfiguration(); @@ -28,9 +28,10 @@ ClientApp::ClientApp(int& argc, char** argv) : QApplication(argc, argv), _connec }; -/* parse arguments */ -void ClientApp::parseParameters() { - for (QString a : arguments()) { +/* parse arguments and return a list with the unused arguments */ +QStringList ClientApp::parseParameters() { + QStringList rest; + for (QString a : QApplication::arguments()) { if (a == "--exam-mode") { _examMode = true; } else if (a == "--auto") { @@ -38,8 +39,11 @@ void ClientApp::parseParameters() { } else if (a.startsWith("--session=")) { _connectionMode = ConnectionMode::Session; _sessionName = a.replace("--session=", ""); + } else { + rest << a; } } + return rest; } void ClientApp::initConfiguration() { /* configuration */ @@ -66,3 +70,7 @@ void ClientApp::initConfiguration() { } } while (false); } + +QStringList ClientApp::arguments() { + return _arguments; +} |