Browse Source

Only show certain Application Switcher links when logged in

Some links in the application only make sense to
forward a user when they are logged into the DF.
Since we don't expose yet if the user has access
to the DF it will now only check if they are
logged in.

Contributes to CURA-8624
Jelle Spijker 3 years ago
parent
commit
629f695ef7
1 changed files with 20 additions and 10 deletions
  1. 20 10
      resources/qml/ApplicationSwitcher/ApplicationSwitcherPopup.qml

+ 20 - 10
resources/qml/ApplicationSwitcher/ApplicationSwitcherPopup.qml

@@ -32,55 +32,64 @@ Popup
                     displayName: catalog.i18nc("@label:button", "My printers"),
                     thumbnail: UM.Theme.getIcon("PrinterTriple", "high"),
                     description: catalog.i18nc("@tooltip:button", "Monitor printers in Ultimaker Digital Factory."),
-                    link: "https://digitalfactory.ultimaker.com/app/printers?utm_source=cura&utm_medium=software&utm_campaign=switcher-digital-factory-printers"
+                    link: "https://digitalfactory.ultimaker.com/app/printers?utm_source=cura&utm_medium=software&utm_campaign=switcher-digital-factory-printers",
+                    dfRequired: true
                 },
                 {
                     displayName: "Digital Library", //Not translated, since it's a brand name.
                     thumbnail: UM.Theme.getIcon("Library", "high"),
                     description: catalog.i18nc("@tooltip:button", "Create print projects in Digital Library."),
-                    link: "https://digitalfactory.ultimaker.com/app/library?utm_source=cura&utm_medium=software&utm_campaign=switcher-library"
+                    link: "https://digitalfactory.ultimaker.com/app/library?utm_source=cura&utm_medium=software&utm_campaign=switcher-library",
+                    dfRequired: true
                 },
                 {
                     displayName: catalog.i18nc("@label:button", "Print jobs"),
                     thumbnail: UM.Theme.getIcon("FoodBeverages"),
                     description: catalog.i18nc("@tooltip:button", "Monitor print jobs and reprint from your print history."),
-                    link: "https://digitalfactory.ultimaker.com/app/print-jobs?utm_source=cura&utm_medium=software&utm_campaign=switcher-digital-factory-printjobs"
+                    link: "https://digitalfactory.ultimaker.com/app/print-jobs?utm_source=cura&utm_medium=software&utm_campaign=switcher-digital-factory-printjobs",
+                    dfRequired: true
                 },
                 {
                     displayName: "Ultimaker Marketplace", //Not translated, since it's a brand name.
                     thumbnail: UM.Theme.getIcon("Shop", "high"),
                     description: catalog.i18nc("@tooltip:button", "Extend Ultimaker Cura with plugins and material profiles."),
-                    link: "https://marketplace.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-marketplace-materials"
+                    link: "https://marketplace.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-marketplace-materials",
+                    dfRequired: false
                 },
                 {
                     displayName: "Ultimaker Academy", //Not translated, since it's a brand name.
                     thumbnail: UM.Theme.getIcon("Knowledge"),
                     description: catalog.i18nc("@tooltip:button", "Become a 3D printing expert with Ultimaker e-learning."),
-                    link: "https://academy.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-academy"
+                    link: "https://academy.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-academy",
+                    dfRequired: false
                 },
                 {
                     displayName: catalog.i18nc("@label:button", "Ultimaker support"),
                     thumbnail: UM.Theme.getIcon("Help", "high"),
                     description: catalog.i18nc("@tooltip:button", "Learn how to get started with Ultimaker Cura."),
-                    link: "https://support.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-support"
+                    link: "https://support.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-support",
+                    dfRequired: false
                 },
                 {
                     displayName: catalog.i18nc("@label:button", "Ask a question"),
                     thumbnail: UM.Theme.getIcon("Speak", "high"),
                     description: catalog.i18nc("@tooltip:button", "Consult the Ultimaker Community."),
-                    link: "https://community.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-community"
+                    link: "https://community.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-community",
+                    dfRequired: false
                 },
                 {
                     displayName: catalog.i18nc("@label:button", "Report a bug"),
                     thumbnail: UM.Theme.getIcon("Bug", "high"),
                     description: catalog.i18nc("@tooltip:button", "Let developers know that something is going wrong."),
-                    link: "https://github.com/Ultimaker/Cura/issues/new/choose"
+                    link: "https://github.com/Ultimaker/Cura/issues/new/choose",
+                    dfRequired: false
                 },
                 {
                     displayName: "Ultimaker.com", //Not translated, since it's a URL.
                     thumbnail: UM.Theme.getIcon("Browser"),
                     description: catalog.i18nc("@tooltip:button", "Visit the Ultimaker website."),
-                    link: "https://ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-umwebsite"
+                    link: "https://ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-umwebsite",
+                    dfRequired: false
                 }
             ]
 
@@ -90,6 +99,7 @@ Popup
                 iconSource: modelData.thumbnail
                 tooltipText: modelData.description
                 isExternalLink: true
+                visible: modelData.dfRequired ? Cura.API.account.isLoggedIn : true
 
                 onClicked: Qt.openUrlExternally(modelData.link)
             }
@@ -107,4 +117,4 @@ Popup
 
         arrowSize: UM.Theme.getSize("default_arrow").width
     }
-}
+}