summaryrefslogtreecommitdiffstats
path: root/src/client/clientapp/clientapp.cpp
diff options
context:
space:
mode:
authorSimon Rettberg2016-10-10 18:39:32 +0200
committerSimon Rettberg2016-10-10 18:39:32 +0200
commit08ba648a4f59d7eb8aa1315a513bb2d4fe645cba (patch)
treededf277c7f4eed5bdf2800a2c86cedb4e16cfefc /src/client/clientapp/clientapp.cpp
parent[server] Fix parsing of command line arguments, init class members of ServerApp (diff)
downloadpvs2-08ba648a4f59d7eb8aa1315a513bb2d4fe645cba.tar.gz
pvs2-08ba648a4f59d7eb8aa1315a513bb2d4fe645cba.tar.xz
pvs2-08ba648a4f59d7eb8aa1315a513bb2d4fe645cba.zip
[client] Get rid of SYSTEM_SETTINGS macro, move to ClientApp
Diffstat (limited to 'src/client/clientapp/clientapp.cpp')
-rw-r--r--src/client/clientapp/clientapp.cpp19
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;
+}
+