diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2016-04-29 06:17:02 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-04-29 12:14:59 -0700 |
commit | 3f6366026798ebd31cd08af0619049aacfd96e2b (patch) | |
tree | 62a093f4cb82ca08e1bc4a7c8677f2cb1e64aebe /core/qt-init.cpp | |
parent | f536da0ee32a39806efdbcbf9ed2edcaaa230f26 (diff) | |
download | subsurface-3f6366026798ebd31cd08af0619049aacfd96e2b.tar.gz |
Allow switching the user from the command line
This is a feature that many people have asked for. This implementation is
somewhat simplistic because we simply use a different name for the
program settings - but interestingly enough this appears to be enough to
capture a lot of the core functionality that people are looking for in
multi-user support.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'core/qt-init.cpp')
-rw-r--r-- | core/qt-init.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/core/qt-init.cpp b/core/qt-init.cpp index b52dfd970..5dc25f9fc 100644 --- a/core/qt-init.cpp +++ b/core/qt-init.cpp @@ -4,6 +4,8 @@ #include <QTextCodec> #include "helpers.h" +char *settings_suffix = NULL; + void init_qt_late() { QApplication *application = qApp; @@ -19,7 +21,14 @@ void init_qt_late() QCoreApplication::setOrganizationName("Subsurface"); QCoreApplication::setOrganizationDomain("subsurface.hohndel.org"); - QCoreApplication::setApplicationName("Subsurface"); + // enable user specific settings (based on command line argument) + if (settings_suffix) { + if (verbose) + qDebug() << "using custom config for" << QString("Subsurface-%1").arg(settings_suffix); + QCoreApplication::setApplicationName(QString("Subsurface-%1").arg(settings_suffix)); + } else { + QCoreApplication::setApplicationName("Subsurface"); + } // find plugins installed in the application directory (without this SVGs don't work on Windows) QCoreApplication::addLibraryPath(QCoreApplication::applicationDirPath()); QLocale loc; |