diff options
author | Simon Rettberg | 2016-10-10 18:39:32 +0200 |
---|---|---|
committer | Simon Rettberg | 2016-10-10 18:39:32 +0200 |
commit | 08ba648a4f59d7eb8aa1315a513bb2d4fe645cba (patch) | |
tree | dedf277c7f4eed5bdf2800a2c86cedb4e16cfefc /src/client/clientapp | |
parent | [server] Fix parsing of command line arguments, init class members of ServerApp (diff) | |
download | pvs2-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')
-rw-r--r-- | src/client/clientapp/clientapp.cpp | 19 | ||||
-rw-r--r-- | src/client/clientapp/clientapp.h | 3 |
2 files changed, 21 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; +} + diff --git a/src/client/clientapp/clientapp.h b/src/client/clientapp/clientapp.h index e7e6e57..0569305 100644 --- a/src/client/clientapp/clientapp.h +++ b/src/client/clientapp/clientapp.h @@ -28,6 +28,7 @@ private: QString _sessionName; /* only set when _connectionMode == Session */ Toolbar* _toolbar; QStringList _arguments; + QString _iniPath; QStringList parseParameters(); @@ -38,4 +39,6 @@ public: bool isExamMode() const { return _examMode; }; virtual QStringList arguments(); + + QSharedPointer<QSettings> getSettings(); }; |