Browse Source

Make Marketplace link configurable from the build system

This way you could set it to marketplace-staging if you like.

Contributes to issue CURA-7071.
Ghostkeeper 5 years ago
parent
commit
ad2b8f140e
3 changed files with 10 additions and 3 deletions
  1. 1 0
      CMakeLists.txt
  2. 2 1
      cura/CuraVersion.py.in
  3. 7 2
      plugins/Toolbox/src/Toolbox.py

+ 1 - 0
CMakeLists.txt

@@ -23,6 +23,7 @@ set(CURA_BUILDTYPE "" CACHE STRING "Build type of Cura, eg. 'PPA'")
 set(CURA_CLOUD_API_ROOT "" CACHE STRING "Alternative Cura cloud API root")
 set(CURA_CLOUD_API_VERSION "" CACHE STRING "Alternative Cura cloud API version")
 set(CURA_CLOUD_ACCOUNT_API_ROOT "" CACHE STRING "Alternative Cura cloud account API version")
+set(CURA_MARKETPLACE_ROOT "" CACHE STRING "Alternative Marketplace location")
 
 configure_file(${CMAKE_SOURCE_DIR}/cura.desktop.in ${CMAKE_BINARY_DIR}/cura.desktop @ONLY)
 

+ 2 - 1
cura/CuraVersion.py.in

@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Ultimaker B.V.
+# Copyright (c) 2020 Ultimaker B.V.
 # Cura is released under the terms of the LGPLv3 or higher.
 
 CuraAppName = "@CURA_APP_NAME@"
@@ -9,3 +9,4 @@ CuraDebugMode = True if "@_cura_debugmode@" == "ON" else False
 CuraCloudAPIRoot = "@CURA_CLOUD_API_ROOT@"
 CuraCloudAPIVersion = "@CURA_CLOUD_API_VERSION@"
 CuraCloudAccountAPIRoot = "@CURA_CLOUD_ACCOUNT_API_ROOT@"
+CuraMarketplaceRoot = "@CURA_MARKETPLACE_ROOT@"

+ 7 - 2
plugins/Toolbox/src/Toolbox.py

@@ -4,7 +4,6 @@
 import json
 import os
 import tempfile
-import platform
 from typing import cast, Any, Dict, List, Set, TYPE_CHECKING, Tuple, Optional, Union
 
 from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal, pyqtSlot
@@ -17,6 +16,7 @@ from UM.i18n import i18nCatalog
 from UM.Version import Version
 
 from cura import ApplicationMetadata
+from cura.CuraVersion import CuraMarketplaceRoot
 from cura.CuraApplication import CuraApplication
 from cura.Machines.ContainerTree import ContainerTree
 from plugins.Toolbox.src.CloudApiModel import CloudApiModel
@@ -33,6 +33,8 @@ if TYPE_CHECKING:
 
 i18n_catalog = i18nCatalog("cura")
 
+DEFAULT_MARKETPLACE_ROOT = "https://marketplace.ultimaker.com"  # type: str
+
 # todo Remove license and download dialog, use SyncOrchestrator instead
 
 ##  Provides a marketplace for users to download plugins an materials
@@ -767,7 +769,10 @@ class Toolbox(QObject, Extension):
 
     @pyqtProperty(str, constant=True)
     def getWebMarketplaceUrl(self) -> str:
-        return ApplicationMetadata.WEB_MARKETPLACE_URL
+        root = CuraMarketplaceRoot
+        if root == "":
+            root = DEFAULT_MARKETPLACE_ROOT
+        return root + "/app/cura/materials"
 
     # Filter Models:
     # --------------------------------------------------------------------------