History

Treat QmlCommerce as a singleton class

Simon Walton committed 7 years ago

Commit 3a5d5501 parent 37764722 files · +7 −4Browse files

Showing the changes to interface/src/Application.cpp (1 of 2 files). Show all

Unified · Split

interface/src/Application.cpp+4−3
@@ -919,6 +919,7 @@ bool setupEssentials(int& argc, char** argv, bool runningMarkerExisted) { · 918 unmodified lines
919 DependencyManager::set<Wallet>();919 DependencyManager::set<Wallet>();
920 DependencyManager::set<WalletScriptingInterface>();920 DependencyManager::set<WalletScriptingInterface>();
921 DependencyManager::set<TTSScriptingInterface>();921 DependencyManager::set<TTSScriptingInterface>();
922 DependencyManager::set<QmlCommerce>();
922 923
923 DependencyManager::set<FadeEffect>();924 DependencyManager::set<FadeEffect>();
924 DependencyManager::set<ResourceRequestObserver>();925 DependencyManager::set<ResourceRequestObserver>();
@@ -2598,6 +2599,7 @@ void Application::cleanupBeforeQuit() { · 1673 unmodified lines
2598 DependencyManager::destroy<ContextOverlayInterface>(); // Must be destroyed before TabletScriptingInterface2599 DependencyManager::destroy<ContextOverlayInterface>(); // Must be destroyed before TabletScriptingInterface
2599 2600
2600 // stop QML2601 // stop QML
2602 DependencyManager::destroy<QmlCommerce>();
2601 DependencyManager::destroy<TabletScriptingInterface>();2603 DependencyManager::destroy<TabletScriptingInterface>();
2602 DependencyManager::destroy<ToolbarScriptingInterface>();2604 DependencyManager::destroy<ToolbarScriptingInterface>();
2603 DependencyManager::destroy<OffscreenUi>();2605 DependencyManager::destroy<OffscreenUi>();
@@ -2886,7 +2888,7 @@ void Application::initializeUi() { · 282 unmodified lines
2886 Tooltip::registerType();2888 Tooltip::registerType();
2887 UpdateDialog::registerType();2889 UpdateDialog::registerType();
2888 QmlContextCallback commerceCallback = [](QQmlContext* context) {2890 QmlContextCallback commerceCallback = [](QQmlContext* context) {
2889 context->setContextProperty("Commerce", new QmlCommerce());2891 context->setContextProperty("Commerce", DependencyManager::get<QmlCommerce>().data());
2890 };2892 };
2891 OffscreenQmlSurface::addWhitelistContextHandler({2893 OffscreenQmlSurface::addWhitelistContextHandler({
2892 QUrl{ "hifi/commerce/checkout/Checkout.qml" },2894 QUrl{ "hifi/commerce/checkout/Checkout.qml" },
@@ -8014,8 +8016,7 @@ void Application::openUrl(const QUrl& url) const { · 5121 unmodified lines
8014 if (url.scheme() == URL_SCHEME_HIFI) {8016 if (url.scheme() == URL_SCHEME_HIFI) {
8015 DependencyManager::get<AddressManager>()->handleLookupString(url.toString());8017 DependencyManager::get<AddressManager>()->handleLookupString(url.toString());
8016 } else if (url.scheme() == URL_SCHEME_HIFIAPP) {8018 } else if (url.scheme() == URL_SCHEME_HIFIAPP) {
8017 QmlCommerce commerce;8019 DependencyManager::get<QmlCommerce>()->openSystemApp(url.path());
8018 commerce.openSystemApp(url.path());
8019 } else {8020 } else {
8020 // address manager did not handle - ask QDesktopServices to handle8021 // address manager did not handle - ask QDesktopServices to handle
8021 QDesktopServices::openUrl(url);8022 QDesktopServices::openUrl(url);