From a18bb9d95383e192aed5c2c95ada6d73c8f7b8ff Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 4 Apr 2019 15:57:17 +0200 Subject: [PATCH] Add AddPrinterPagesModel CURA-6435 --- cura/CuraApplication.py | 8 ++++++++ cura/UI/AddPrinterPagesModel.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 cura/UI/AddPrinterPagesModel.py diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 742ef2fc0b..3a8af2e9f9 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -112,6 +112,7 @@ from cura.UI import CuraSplashScreen, MachineActionManager, PrintInformation from cura.UI.MachineSettingsManager import MachineSettingsManager from cura.UI.ObjectsModel import ObjectsModel from cura.UI.TextManager import TextManager +from cura.UI.AddPrinterPagesModel import AddPrinterPagesModel from cura.UI.WelcomePagesModel import WelcomePagesModel from .SingleInstance import SingleInstance @@ -217,6 +218,7 @@ class CuraApplication(QtApplication): self._discovered_printer_model = DiscoveredPrintersModel(self) self._first_start_machine_actions_model = FirstStartMachineActionsModel(self) self._welcome_pages_model = WelcomePagesModel(self) + self._add_printer_pages_model = AddPrinterPagesModel(self) self._text_manager = TextManager(self) self._quality_profile_drop_down_menu_model = None @@ -762,6 +764,7 @@ class CuraApplication(QtApplication): self._output_device_manager.start() self._welcome_pages_model.initialize() + self._add_printer_pages_model.initialize() # Detect in which mode to run and execute that mode if self._is_headless: @@ -873,6 +876,10 @@ class CuraApplication(QtApplication): def getWelcomePagesModel(self, *args) -> "WelcomePagesModel": return self._welcome_pages_model + @pyqtSlot(result = QObject) + def getAddPrinterPagesModel(self, *args) -> "AddPrinterPagesModel": + return self._add_printer_pages_model + @pyqtSlot(result = QObject) def getMachineSettingsManager(self, *args) -> "MachineSettingsManager": return self._machine_settings_manager @@ -1014,6 +1021,7 @@ class CuraApplication(QtApplication): qmlRegisterSingletonType(MachineActionManager.MachineActionManager, "Cura", 1, 0, "MachineActionManager", self.getMachineActionManager) qmlRegisterType(WelcomePagesModel, "Cura", 1, 0, "WelcomePagesModel") + qmlRegisterType(AddPrinterPagesModel, "Cura", 1, 0, "AddPrinterPagesModel") qmlRegisterType(TextManager, "Cura", 1, 0, "TextManager") qmlRegisterType(NetworkMJPGImage, "Cura", 1, 0, "NetworkMJPGImage") diff --git a/cura/UI/AddPrinterPagesModel.py b/cura/UI/AddPrinterPagesModel.py new file mode 100644 index 0000000000..55bb1500ba --- /dev/null +++ b/cura/UI/AddPrinterPagesModel.py @@ -0,0 +1,30 @@ +# Copyright (c) 2019 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from .WelcomePagesModel import WelcomePagesModel + + +# +# This Qt ListModel is more or less the same the WelcomePagesModel, except that this model is only for adding a printer, +# so only the steps for adding a printer is included. +# +class AddPrinterPagesModel(WelcomePagesModel): + + def initialize(self) -> None: + self._pages.append({"id": "add_network_or_local_printer", + "page_url": self._getBuiltinWelcomePagePath("AddNetworkOrLocalPrinterContent.qml"), + "next_page_id": "machine_actions", + "next_page_button_text": self._catalog.i18nc("@action:button", "Add"), + }) + self._pages.append({"id": "add_printer_by_ip", + "page_url": self._getBuiltinWelcomePagePath("AddPrinterByIpContent.qml"), + "next_page_id": "machine_actions", + }) + self._pages.append({"id": "machine_actions", + "page_url": self._getBuiltinWelcomePagePath("FirstStartMachineActionsContent.qml"), + "should_show_function": self.shouldShowMachineActions, + }) + self.setItems(self._pages) + + +__all__ = ["AddPrinterPagesModel"]