From 3ee32944d5e810230b2ed8f030ee872dbe56d913 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 4 Apr 2019 15:53:59 +0200 Subject: [PATCH] Add a reusable WizardDialog CURA-6435 --- resources/qml/WelcomePages/WizardDialog.qml | 52 +++++++++++++++++++++ resources/qml/qmldir | 6 +++ 2 files changed, 58 insertions(+) create mode 100644 resources/qml/WelcomePages/WizardDialog.qml diff --git a/resources/qml/WelcomePages/WizardDialog.qml b/resources/qml/WelcomePages/WizardDialog.qml new file mode 100644 index 0000000000..1e4abd6e50 --- /dev/null +++ b/resources/qml/WelcomePages/WizardDialog.qml @@ -0,0 +1,52 @@ +// Copyright (c) 2019 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 +import QtQuick.Window 2.2 + +import UM 1.3 as UM +import Cura 1.1 as Cura + + +// +// This is a dialog for showing a set of processes that's defined in a WelcomePagesModel or some other Qt ListModel with +// a compatible interface. +// +Window +{ + UM.I18nCatalog { id: catalog; name: "cura" } + + id: dialog + + flags: Qt.Dialog + + minimumWidth: 580 * screenScaleFactor + minimumHeight: 600 * screenScaleFactor + + color: UM.Theme.getColor("main_background") + + property var model: null // Needs to be set by whoever is using this dialog. + + onVisibilityChanged: + { + if (visible) + { + model.resetState() + } + } + + WizardPanel + { + id: wizardPanel + anchors.fill: parent + model: dialog.model + } + + // Close this dialog when there's no more page to show + Connections + { + target: model + onAllFinished: dialog.hide() + } +} diff --git a/resources/qml/qmldir b/resources/qml/qmldir index eda0411f42..4b0fd335ba 100644 --- a/resources/qml/qmldir +++ b/resources/qml/qmldir @@ -19,6 +19,12 @@ CheckBoxWithTooltip 1.0 CheckBoxWithTooltip.qml ToolTip 1.0 ToolTip.qml +# Cura/WelcomePages + +WizardPanel 1.0 WizardPanel.qml +WizardDialog 1.0 WizardDialog.qml + + # Cura/Widgets CheckBox 1.0 CheckBox.qml