diff --git a/cmake/macros/SetPackagingParameters.cmake b/cmake/macros/SetPackagingParameters.cmake index 1b7b3dbe8e..0f47a2fcb3 100644 --- a/cmake/macros/SetPackagingParameters.cmake +++ b/cmake/macros/SetPackagingParameters.cmake @@ -23,6 +23,7 @@ macro(SET_PACKAGING_PARAMETERS) set_from_env(RELEASE_TYPE RELEASE_TYPE "DEV") set_from_env(RELEASE_NUMBER RELEASE_NUMBER "") set_from_env(STABLE_BUILD STABLE_BUILD 0) + set_from_env(INITIAL_STARTUP_LOCATION INITIAL_STARTUP_LOCATION "") message(STATUS "The RELEASE_TYPE variable is: ${RELEASE_TYPE}") diff --git a/cmake/templates/BuildInfo.h.in b/cmake/templates/BuildInfo.h.in index 9fc9d9be81..02f6a50919 100644 --- a/cmake/templates/BuildInfo.h.in +++ b/cmake/templates/BuildInfo.h.in @@ -22,11 +22,12 @@ namespace BuildInfo { const QString DOMAIN_SERVER_NAME = "domain-server"; const QString AC_CLIENT_SERVER_NAME = "ac-client"; const QString MODIFIED_ORGANIZATION = "@BUILD_ORGANIZATION@"; - const QString ORGANIZATION_DOMAIN = "highfidelity.io"; + const QString ORGANIZATION_DOMAIN = "vircadia.com"; const QString VERSION = "@BUILD_VERSION@"; const QString BUILD_NUMBER = "@BUILD_NUMBER@"; const QString BUILD_GLOBAL_SERVICES = "@BUILD_GLOBAL_SERVICES@"; const QString BUILD_TIME = "@BUILD_TIME@"; + const QString INITIAL_STARTUP_LOCATION = "@INITIAL_STARTUP_LOCATION@"; enum BuildType { Dev, diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index cc2aed7f53..281a2da6e4 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3974,6 +3974,11 @@ void Application::handleSandboxStatus(QNetworkReply* reply) { // If this is a first run we short-circuit the address passed in if (_firstRun.get()) { + if (!BuildInfo::INITIAL_STARTUP_LOCATION.isEmpty()) { + DependencyManager::get()->setHomeLocationToAddress(NetworkingConstants::DEFAULT_VIRCADIA_ADDRESS); + Menu::getInstance()->triggerOption(MenuOption::HomeLocation); + } + if (!_overrideEntry) { DependencyManager::get()->goToEntry(); sentTo = SENT_TO_ENTRY; diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 64cdf98239..9781470ed4 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -232,12 +233,19 @@ Menu::Menu() { // Navigate > Start-up Location MenuWrapper* startupLocationMenu = navigateMenu->addMenu(MenuOption::StartUpLocation); - QActionGroup* startupLocatiopnGroup = new QActionGroup(startupLocationMenu); - startupLocatiopnGroup->setExclusive(true); - startupLocatiopnGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::HomeLocation, 0, - false)); - startupLocatiopnGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::LastLocation, 0, - true)); + QActionGroup* startupLocationGroup = new QActionGroup(startupLocationMenu); + startupLocationGroup->setExclusive(true); + if (!BuildInfo::INITIAL_STARTUP_LOCATION.isEmpty()) { + startupLocationGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::HomeLocation, 0, + true)); + startupLocationGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::LastLocation, 0, + false)); + } else { + startupLocationGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::HomeLocation, 0, + false)); + startupLocationGroup->addAction(addCheckableActionToQMenuAndActionHash(startupLocationMenu, MenuOption::LastLocation, 0, + true)); + } // Settings menu ---------------------------------- MenuWrapper* settingsMenu = addMenu("Settings"); diff --git a/libraries/networking/src/AddressManager.cpp b/libraries/networking/src/AddressManager.cpp index a46b779546..94bcb718d3 100644 --- a/libraries/networking/src/AddressManager.cpp +++ b/libraries/networking/src/AddressManager.cpp @@ -31,12 +31,17 @@ #include "UserActivityLogger.h" #include "udt/PacketHeaders.h" -const QString DEFAULT_VIRCADIA_ADDRESS = NetworkingConstants::DEFAULT_VIRCADIA_ADDRESS; -const QString DEFAULT_HOME_ADDRESS = NetworkingConstants::DEFAULT_HOME_ADDRESS; const QString REDIRECT_HIFI_ADDRESS = NetworkingConstants::REDIRECT_HIFI_ADDRESS; const QString ADDRESS_MANAGER_SETTINGS_GROUP = "AddressManager"; const QString SETTINGS_CURRENT_ADDRESS_KEY = "address"; +const QString DEFAULT_VIRCADIA_ADDRESS = (!BuildInfo::INITIAL_STARTUP_LOCATION.isEmpty()) + ? BuildInfo::INITIAL_STARTUP_LOCATION + : NetworkingConstants::DEFAULT_VIRCADIA_ADDRESS; +const QString DEFAULT_HOME_ADDRESS = (!BuildInfo::INITIAL_STARTUP_LOCATION.isEmpty()) + ? BuildInfo::INITIAL_STARTUP_LOCATION + : NetworkingConstants::DEFAULT_VIRCADIA_ADDRESS; + Setting::Handle currentAddressHandle(QStringList() << ADDRESS_MANAGER_SETTINGS_GROUP << "address", DEFAULT_VIRCADIA_ADDRESS); bool AddressManager::isConnected() { diff --git a/libraries/networking/src/AddressManager.h b/libraries/networking/src/AddressManager.h index fd173bfa9a..daca6d3392 100644 --- a/libraries/networking/src/AddressManager.h +++ b/libraries/networking/src/AddressManager.h @@ -22,8 +22,8 @@ #include "AccountManager.h" -extern const QString DEFAULT_VIRCADIA_ADDRESS; extern const QString REDIRECT_HIFI_ADDRESS; +extern const QString DEFAULT_VIRCADIA_ADDRESS; extern const QString DEFAULT_HOME_ADDRESS; const QString SANDBOX_HIFI_ADDRESS = "hifi://localhost"; @@ -292,7 +292,8 @@ public slots: * location history is correctly maintained. */ void goToLocalSandbox(QString path = "", LookupTrigger trigger = LookupTrigger::StartupFromSettings) { - handleUrl(SANDBOX_HIFI_ADDRESS + path, trigger); } + handleUrl(SANDBOX_HIFI_ADDRESS + path, trigger); + } /**jsdoc * Takes you to the default "welcome" metaverse address. @@ -300,7 +301,9 @@ public slots: * @param {location.LookupTrigger} trigger=StartupFromSettings - The reason for the function call. Helps ensure that user's * location history is correctly maintained. */ - void goToEntry(LookupTrigger trigger = LookupTrigger::StartupFromSettings) { handleUrl(DEFAULT_VIRCADIA_ADDRESS, trigger); } + void goToEntry(LookupTrigger trigger = LookupTrigger::StartupFromSettings) { + handleUrl(DEFAULT_VIRCADIA_ADDRESS, trigger); + } /**jsdoc * Takes you to the specified user's location.