123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- // Copyright (c) 2021 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 or higher.
- import QtQuick 2.15
- import QtQuick.Controls 2.15
- import QtQuick.Layouts 1.15
- import QtQuick.Window 2.2
- import UM 1.2 as UM
- import Cura 1.6 as Cura
- Window
- {
- id: marketplaceDialog
- property variant catalog: UM.I18nCatalog { name: "cura" }
- minimumWidth: UM.Theme.getSize("modal_window_minimum").width
- minimumHeight: UM.Theme.getSize("modal_window_minimum").height
- width: minimumWidth
- height: minimumHeight
- // Set and unset the content. No need to keep things in memory if it's not visible.
- onVisibleChanged: content.source = visible ? "Plugins.qml" : ""
- Connections
- {
- target: Cura.API.account
- function onLoginStateChanged()
- {
- close();
- }
- }
- title: "Marketplace" //Seen by Ultimaker as a brand name, so this doesn't get translated.
- modality: Qt.NonModal
- // Background color
- Rectangle
- {
- anchors.fill: parent
- color: UM.Theme.getColor("main_background")
- ColumnLayout
- {
- anchors.fill: parent
- spacing: UM.Theme.getSize("default_margin").height
- // Page title.
- Item
- {
- Layout.preferredWidth: parent.width
- Layout.preferredHeight: childrenRect.height + UM.Theme.getSize("default_margin").height
- Label
- {
- id: pageTitle
- anchors
- {
- left: parent.left
- leftMargin: UM.Theme.getSize("default_margin").width
- right: parent.right
- rightMargin: UM.Theme.getSize("default_margin").width
- bottom: parent.bottom
- }
- font: UM.Theme.getFont("large")
- color: UM.Theme.getColor("text")
- text: ""
- }
- }
- Item
- {
- Layout.preferredWidth: parent.width
- Layout.preferredHeight: childrenRect.height
- ManagePackagesButton
- {
- id: managePackagesButton
- anchors.right: parent.right
- anchors.rightMargin: UM.Theme.getSize("default_margin").width
- onClicked:
- {
- content.source = "ManagedPackages.qml"
- }
- }
- // Page selection.
- TabBar
- {
- id: pageSelectionTabBar
- anchors.right: managePackagesButton.left
- anchors.rightMargin: UM.Theme.getSize("default_margin").width
- spacing: 0
- PackageTypeTab
- {
- width: implicitWidth
- text: catalog.i18nc("@button", "Plug-ins")
- onClicked: content.source = "Plugins.qml"
- }
- PackageTypeTab
- {
- width: implicitWidth
- text: catalog.i18nc("@button", "Materials")
- onClicked: content.source = "Materials.qml"
- }
- }
- }
- // Page contents.
- Rectangle
- {
- Layout.preferredWidth: parent.width
- Layout.fillHeight: true
- color: UM.Theme.getColor("detail_background")
- // Page contents.
- Loader
- {
- id: content
- anchors.fill: parent
- anchors.margins: UM.Theme.getSize("default_margin").width
- source: "Plugins.qml"
- Connections
- {
- target: content
- function onLoaded()
- {
- pageTitle.text = content.item.pageTitle
- }
- }
- }
- }
- }
- }
- }
|