diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 0dba4498d5..ca171aa8b9 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -9355,6 +9355,16 @@ void Application::showUrlHandler(const QUrl& url) { }); } +void Application::forceDisplayName(const QString& displayName) { + getMyAvatar()->setDisplayName(displayName); +} +void Application::forceLogginWithTokens(const QString& tokens) { + DependencyManager::get()->setAccessTokens(tokens); +} +void Application::setConfigFileURL(const QString& fileUrl) { + DependencyManager::get()->setConfigFileURL(fileUrl); +} + #if defined(Q_OS_ANDROID) void Application::beforeEnterBackground() { auto nodeList = DependencyManager::get(); diff --git a/interface/src/Application.h b/interface/src/Application.h index 210039beba..2eac2bc885 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -356,6 +356,10 @@ public: void openDirectory(const QString& path); + void forceDisplayName(const QString& displayName); + void forceLogginWithTokens(const QString& tokens); + void setConfigFileURL(const QString& fileUrl); + signals: void svoImportRequested(const QString& url); diff --git a/interface/src/main.cpp b/interface/src/main.cpp index 80d88c9303..140b79584c 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -84,6 +84,7 @@ int main(int argc, const char* argv[]) { QCommandLineOption overrideAppLocalDataPathOption("cache", "set test cache ", "dir"); QCommandLineOption overrideScriptsPathOption(SCRIPTS_SWITCH, "set scripts ", "path"); QCommandLineOption responseTokensOption("tokens", "set response tokens ", "json"); + QCommandLineOption displayNameOption("displayName", "set user display name ", "string"); parser.addOption(urlOption); parser.addOption(noLauncherOption); @@ -95,6 +96,7 @@ int main(int argc, const char* argv[]) { parser.addOption(overrideScriptsPathOption); parser.addOption(allowMultipleInstancesOption); parser.addOption(responseTokensOption); + parser.addOption(displayNameOption); if (!parser.parse(arguments)) { std::cout << parser.errorText().toStdString() << std::endl; // Avoid Qt log spam @@ -403,16 +405,18 @@ int main(int argc, const char* argv[]) { printSystemInformation(); - if (!launcherPath.isEmpty() || parser.isSet(responseTokensOption)) { - auto accountManager = DependencyManager::get(); - if (!accountManager.isNull()) { - if (!launcherPath.isEmpty()) { - accountManager->setConfigFileURL(configFileName); - } - if (parser.isSet(responseTokensOption)) { - QString tokens = QString(parser.value(responseTokensOption)); - accountManager->setAccessTokens(tokens); - } + auto appPointer = dynamic_cast(&app); + if (appPointer) { + if (parser.isSet(displayNameOption)) { + QString displayName = QString(parser.value(displayNameOption)); + appPointer->forceDisplayName(displayName); + } + if (!launcherPath.isEmpty()) { + appPointer->setConfigFileURL(configFileName); + } + if (parser.isSet(responseTokensOption)) { + QString tokens = QString(parser.value(responseTokensOption)); + appPointer->forceLogginWithTokens(tokens); } }