diff options
Diffstat (limited to 'src/client/clientapp/clientapp.cpp')
-rw-r--r-- | src/client/clientapp/clientapp.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/client/clientapp/clientapp.cpp b/src/client/clientapp/clientapp.cpp index e1ef22c..5786e03 100644 --- a/src/client/clientapp/clientapp.cpp +++ b/src/client/clientapp/clientapp.cpp @@ -44,7 +44,9 @@ QStringList ClientApp::parseParameters() _connectionMode = ConnectionMode::Auto; } else if (a.startsWith("--session=")) { _connectionMode = ConnectionMode::Session; - _sessionName = a.replace("--session=", ""); + _sessionName = a.mid(10); + } else if (a.startsWith("--config=")) { + _iniPath = a.mid(9); } else { rest << a; } @@ -56,3 +58,18 @@ QStringList ClientApp::arguments() { return _arguments; } + +QSharedPointer<QSettings> ClientApp::getSettings() +{ + QSharedPointer<QSettings> set; + if (_iniPath == "") { + /* default location (system scope) */ + set = QSharedPointer<QSettings>(new QSettings(QSettings::IniFormat, QSettings::SystemScope, "openslx/pvs2", "pvs2")); + } else { + /* use _iniPath to find ini file */ + set = QSharedPointer<QSettings>(new QSettings(_iniPath, QSettings::IniFormat)); + } + set->setIniCodec("UTF-8"); + return set; +} + |