diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index ec7c037138..e7886c3386 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -13,80 +13,104 @@ from PyQt5.QtGui import QColor, QIcon from PyQt5.QtWidgets import QMessageBox from PyQt5.QtQml import qmlRegisterUncreatableType, qmlRegisterSingletonType, qmlRegisterType +from UM.i18n import i18nCatalog from UM.Application import Application +from UM.Decorators import override +from UM.FlameProfiler import pyqtSlot +from UM.Logger import Logger +from UM.Message import Message +from UM.Platform import Platform from UM.PluginError import PluginNotFoundError -from UM.Scene.SceneNode import SceneNode -from UM.Scene.Camera import Camera -from UM.Math.Vector import Vector -from UM.Math.Quaternion import Quaternion +from UM.Resources import Resources +from UM.Preferences import Preferences +from UM.Qt.QtApplication import QtApplication # The class we're inheriting from. +from UM.View.SelectionPass import SelectionPass # For typing. + from UM.Math.AxisAlignedBox import AxisAlignedBox from UM.Math.Matrix import Matrix -from UM.Platform import Platform -from UM.Resources import Resources -from UM.Scene.ToolHandle import ToolHandle -from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator +from UM.Math.Quaternion import Quaternion +from UM.Math.Vector import Vector + from UM.Mesh.ReadMeshJob import ReadMeshJob -from UM.Logger import Logger -from UM.Preferences import Preferences -from UM.Qt.QtApplication import QtApplication #The class we're inheriting from. -from UM.View.SelectionPass import SelectionPass #For typing. -from UM.Scene.Selection import Selection -from UM.Scene.GroupDecorator import GroupDecorator -from UM.Settings.ContainerStack import ContainerStack -from UM.Settings.InstanceContainer import InstanceContainer -from UM.Settings.Validator import Validator -from UM.Message import Message -from UM.i18n import i18nCatalog -from UM.Workspace.WorkspaceReader import WorkspaceReader from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation from UM.Operations.GroupedOperation import GroupedOperation from UM.Operations.SetTransformOperation import SetTransformOperation +from UM.Scene.Camera import Camera +from UM.Scene.GroupDecorator import GroupDecorator +from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator +from UM.Scene.SceneNode import SceneNode +from UM.Scene.Selection import Selection +from UM.Scene.ToolHandle import ToolHandle + +from UM.Settings.ContainerRegistry import ContainerRegistry +from UM.Settings.ContainerStack import ContainerStack +from UM.Settings.InstanceContainer import InstanceContainer +from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType +from UM.Settings.SettingFunction import SettingFunction +from UM.Settings.Validator import Validator + +from UM.Workspace.WorkspaceReader import WorkspaceReader + from cura.API import CuraAPI + from cura.Arranging.Arrange import Arrange from cura.Arranging.ArrangeObjectsJob import ArrangeObjectsJob from cura.Arranging.ArrangeObjectsAllBuildPlatesJob import ArrangeObjectsAllBuildPlatesJob from cura.Arranging.ShapeArray import ShapeArray -from cura.UI.GlobalStacksModel import GlobalStacksModel -from cura.Scene.ConvexHullDecorator import ConvexHullDecorator + from cura.Operations.SetParentOperation import SetParentOperation -from cura.Scene.SliceableObjectDecorator import SliceableObjectDecorator + from cura.Scene.BlockSlicingDecorator import BlockSlicingDecorator from cura.Scene.BuildPlateDecorator import BuildPlateDecorator -from cura.Scene.CuraSceneNode import CuraSceneNode - +from cura.Scene.ConvexHullDecorator import ConvexHullDecorator from cura.Scene.CuraSceneController import CuraSceneController - -from cura.UI.WelcomePagesModel import WelcomePagesModel -from cura.UI.MachineSettingsManager import MachineSettingsManager - -from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType -from UM.Settings.ContainerRegistry import ContainerRegistry -from UM.Settings.SettingFunction import SettingFunction -from cura.Settings.CuraContainerRegistry import CuraContainerRegistry -from cura.Settings.MachineNameValidator import MachineNameValidator - -from cura.UI.MachineModels.BuildPlateModel import BuildPlateModel -from cura.UI.MachineModels.DiscoveredPrintersModel import DiscoveredPrintersModel -from cura.UI.MachineModels.NozzleModel import NozzleModel -from cura.UI.MachineModels.QualityProfilesDropDownMenuModel import QualityProfilesDropDownMenuModel -from cura.UI.MachineModels.CustomQualityProfilesDropDownMenuModel import CustomQualityProfilesDropDownMenuModel -from cura.UI.MachineModels.MultiBuildPlateModel import MultiBuildPlateModel -from cura.UI.MachineModels.FavoriteMaterialsModel import FavoriteMaterialsModel -from cura.UI.MachineModels.FirstStartMachineActionsModel import FirstStartMachineActionsModel -from cura.UI.MachineModels.GenericMaterialsModel import GenericMaterialsModel -from cura.UI.MachineModels.MaterialBrandsModel import MaterialBrandsModel -from cura.UI.MachineModels.QualityManagementModel import QualityManagementModel -from cura.UI.MachineModels.QualitySettingsModel import QualitySettingsModel -from cura.UI.MachineModels.SettingVisibilityPresetsModel import SettingVisibilityPresetsModel +from cura.Scene.CuraSceneNode import CuraSceneNode +from cura.Scene.SliceableObjectDecorator import SliceableObjectDecorator +from cura.Scene import ZOffsetDecorator from cura.Machines.MachineErrorChecker import MachineErrorChecker +from cura.Machines.VariantManager import VariantManager +from cura.Machines.Models.BuildPlateModel import BuildPlateModel +from cura.Machines.Models.CustomQualityProfilesDropDownMenuModel import CustomQualityProfilesDropDownMenuModel +from cura.Machines.Models.DiscoveredPrintersModel import DiscoveredPrintersModel +from cura.Machines.Models.ExtrudersModel import ExtrudersModel +from cura.Machines.Models.FavoriteMaterialsModel import FavoriteMaterialsModel +from cura.Machines.Models.FirstStartMachineActionsModel import FirstStartMachineActionsModel +from cura.Machines.Models.GenericMaterialsModel import GenericMaterialsModel +from cura.Machines.Models.GlobalStacksModel import GlobalStacksModel +from cura.Machines.Models.MaterialBrandsModel import MaterialBrandsModel +from cura.Machines.Models.MultiBuildPlateModel import MultiBuildPlateModel +from cura.Machines.Models.NozzleModel import NozzleModel +from cura.Machines.Models.QualityManagementModel import QualityManagementModel +from cura.Machines.Models.QualityProfilesDropDownMenuModel import QualityProfilesDropDownMenuModel +from cura.Machines.Models.QualitySettingsModel import QualitySettingsModel +from cura.Machines.Models.SettingVisibilityPresetsModel import SettingVisibilityPresetsModel +from cura.Machines.Models.UserChangesModel import UserChangesModel + +from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice +from cura.PrinterOutput.NetworkMJPGImage import NetworkMJPGImage + +import cura.Settings.cura_empty_instance_containers +from cura.Settings.ContainerManager import ContainerManager +from cura.Settings.CuraContainerRegistry import CuraContainerRegistry +from cura.Settings.CuraFormulaFunctions import CuraFormulaFunctions +from cura.Settings.ExtruderManager import ExtruderManager +from cura.Settings.MachineManager import MachineManager +from cura.Settings.MachineNameValidator import MachineNameValidator +from cura.Settings.MaterialSettingsVisibilityHandler import MaterialSettingsVisibilityHandler from cura.Settings.SettingInheritanceManager import SettingInheritanceManager +from cura.Settings.SidebarCustomMenuItemsModel import SidebarCustomMenuItemsModel from cura.Settings.SimpleModeSettingsManager import SimpleModeSettingsManager -from cura.Machines.VariantManager import VariantManager +from cura.TaskManagement.OnExitCallbackManager import OnExitCallbackManager + +from cura.UI import CuraSplashScreen, MachineActionManager, PrintInformation +from cura.UI.MachineSettingsManager import MachineSettingsManager +from cura.UI.ObjectsModel import ObjectsModel +from cura.UI.WelcomePagesModel import WelcomePagesModel from .SingleInstance import SingleInstance from .AutoSave import AutoSave @@ -94,32 +118,10 @@ from . import PlatformPhysics from . import BuildVolume from . import CameraAnimation from . import CuraActions -from cura.Scene import ZOffsetDecorator -from cura.UI import CuraSplashScreen, MachineActionManager, PrintInformation from . import PrintJobPreviewImageProvider -from cura.TaskManagement.OnExitCallbackManager import OnExitCallbackManager - -from cura.Settings.MachineManager import MachineManager -from cura.Settings.ExtruderManager import ExtruderManager -from cura.UI.UserChangesModel import UserChangesModel -from cura.UI.ExtrudersModel import ExtrudersModel -from cura.Settings.MaterialSettingsVisibilityHandler import MaterialSettingsVisibilityHandler -from cura.Settings.ContainerManager import ContainerManager -from cura.Settings.SidebarCustomMenuItemsModel import SidebarCustomMenuItemsModel -import cura.Settings.cura_empty_instance_containers -from cura.Settings.CuraFormulaFunctions import CuraFormulaFunctions - -from cura.UI.ObjectsModel import ObjectsModel - -from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice -from cura.PrinterOutput.NetworkMJPGImage import NetworkMJPGImage - from cura import ApplicationMetadata, UltimakerCloudAuthentication -from UM.FlameProfiler import pyqtSlot -from UM.Decorators import override - if TYPE_CHECKING: from cura.Machines.MaterialManager import MaterialManager from cura.Machines.QualityManager import QualityManager diff --git a/cura/UI/MachineModels/BaseMaterialsModel.py b/cura/Machines/Models/BaseMaterialsModel.py similarity index 100% rename from cura/UI/MachineModels/BaseMaterialsModel.py rename to cura/Machines/Models/BaseMaterialsModel.py diff --git a/cura/UI/MachineModels/BuildPlateModel.py b/cura/Machines/Models/BuildPlateModel.py similarity index 100% rename from cura/UI/MachineModels/BuildPlateModel.py rename to cura/Machines/Models/BuildPlateModel.py diff --git a/cura/UI/MachineModels/CustomQualityProfilesDropDownMenuModel.py b/cura/Machines/Models/CustomQualityProfilesDropDownMenuModel.py similarity index 92% rename from cura/UI/MachineModels/CustomQualityProfilesDropDownMenuModel.py rename to cura/Machines/Models/CustomQualityProfilesDropDownMenuModel.py index 387182dd90..dcade8cb0d 100644 --- a/cura/UI/MachineModels/CustomQualityProfilesDropDownMenuModel.py +++ b/cura/Machines/Models/CustomQualityProfilesDropDownMenuModel.py @@ -3,7 +3,7 @@ from UM.Logger import Logger -from cura.UI.MachineModels.QualityProfilesDropDownMenuModel import QualityProfilesDropDownMenuModel +from cura.Machines.Models.QualityProfilesDropDownMenuModel import QualityProfilesDropDownMenuModel # diff --git a/cura/UI/MachineModels/DiscoveredPrintersModel.py b/cura/Machines/Models/DiscoveredPrintersModel.py similarity index 100% rename from cura/UI/MachineModels/DiscoveredPrintersModel.py rename to cura/Machines/Models/DiscoveredPrintersModel.py diff --git a/cura/UI/ExtrudersModel.py b/cura/Machines/Models/ExtrudersModel.py similarity index 100% rename from cura/UI/ExtrudersModel.py rename to cura/Machines/Models/ExtrudersModel.py diff --git a/cura/UI/MachineModels/FavoriteMaterialsModel.py b/cura/Machines/Models/FavoriteMaterialsModel.py similarity index 94% rename from cura/UI/MachineModels/FavoriteMaterialsModel.py rename to cura/Machines/Models/FavoriteMaterialsModel.py index b81c25a2b4..98a2a01597 100644 --- a/cura/UI/MachineModels/FavoriteMaterialsModel.py +++ b/cura/Machines/Models/FavoriteMaterialsModel.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from cura.UI.MachineModels.BaseMaterialsModel import BaseMaterialsModel +from cura.Machines.Models.BaseMaterialsModel import BaseMaterialsModel ## Model that shows the list of favorite materials. class FavoriteMaterialsModel(BaseMaterialsModel): diff --git a/cura/UI/MachineModels/FirstStartMachineActionsModel.py b/cura/Machines/Models/FirstStartMachineActionsModel.py similarity index 100% rename from cura/UI/MachineModels/FirstStartMachineActionsModel.py rename to cura/Machines/Models/FirstStartMachineActionsModel.py diff --git a/cura/UI/MachineModels/GenericMaterialsModel.py b/cura/Machines/Models/GenericMaterialsModel.py similarity index 94% rename from cura/UI/MachineModels/GenericMaterialsModel.py rename to cura/Machines/Models/GenericMaterialsModel.py index 122bb3fc8f..e81a73de24 100644 --- a/cura/UI/MachineModels/GenericMaterialsModel.py +++ b/cura/Machines/Models/GenericMaterialsModel.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from cura.UI.MachineModels.BaseMaterialsModel import BaseMaterialsModel +from cura.Machines.Models.BaseMaterialsModel import BaseMaterialsModel class GenericMaterialsModel(BaseMaterialsModel): diff --git a/cura/UI/GlobalStacksModel.py b/cura/Machines/Models/GlobalStacksModel.py similarity index 100% rename from cura/UI/GlobalStacksModel.py rename to cura/Machines/Models/GlobalStacksModel.py diff --git a/cura/UI/MachineModels/MaterialBrandsModel.py b/cura/Machines/Models/MaterialBrandsModel.py similarity index 98% rename from cura/UI/MachineModels/MaterialBrandsModel.py rename to cura/Machines/Models/MaterialBrandsModel.py index bd641d29e7..c4721db5f7 100644 --- a/cura/UI/MachineModels/MaterialBrandsModel.py +++ b/cura/Machines/Models/MaterialBrandsModel.py @@ -3,7 +3,7 @@ from PyQt5.QtCore import Qt, pyqtSignal from UM.Qt.ListModel import ListModel -from cura.UI.MachineModels.BaseMaterialsModel import BaseMaterialsModel +from cura.Machines.Models.BaseMaterialsModel import BaseMaterialsModel class MaterialTypesModel(ListModel): diff --git a/cura/UI/MachineModels/MultiBuildPlateModel.py b/cura/Machines/Models/MultiBuildPlateModel.py similarity index 100% rename from cura/UI/MachineModels/MultiBuildPlateModel.py rename to cura/Machines/Models/MultiBuildPlateModel.py diff --git a/cura/UI/MachineModels/NozzleModel.py b/cura/Machines/Models/NozzleModel.py similarity index 100% rename from cura/UI/MachineModels/NozzleModel.py rename to cura/Machines/Models/NozzleModel.py diff --git a/cura/UI/MachineModels/QualityManagementModel.py b/cura/Machines/Models/QualityManagementModel.py similarity index 100% rename from cura/UI/MachineModels/QualityManagementModel.py rename to cura/Machines/Models/QualityManagementModel.py diff --git a/cura/UI/MachineModels/QualityProfilesDropDownMenuModel.py b/cura/Machines/Models/QualityProfilesDropDownMenuModel.py similarity index 100% rename from cura/UI/MachineModels/QualityProfilesDropDownMenuModel.py rename to cura/Machines/Models/QualityProfilesDropDownMenuModel.py diff --git a/cura/UI/MachineModels/QualitySettingsModel.py b/cura/Machines/Models/QualitySettingsModel.py similarity index 100% rename from cura/UI/MachineModels/QualitySettingsModel.py rename to cura/Machines/Models/QualitySettingsModel.py diff --git a/cura/UI/MachineModels/SettingVisibilityPresetsModel.py b/cura/Machines/Models/SettingVisibilityPresetsModel.py similarity index 100% rename from cura/UI/MachineModels/SettingVisibilityPresetsModel.py rename to cura/Machines/Models/SettingVisibilityPresetsModel.py diff --git a/cura/UI/UserChangesModel.py b/cura/Machines/Models/UserChangesModel.py similarity index 100% rename from cura/UI/UserChangesModel.py rename to cura/Machines/Models/UserChangesModel.py diff --git a/cura/UI/MachineModels/__init__.py b/cura/Machines/Models/__init__.py similarity index 100% rename from cura/UI/MachineModels/__init__.py rename to cura/Machines/Models/__init__.py diff --git a/cura/PrinterOutput/GenericOutputController.py b/cura/PrinterOutput/GenericOutputController.py index 88ac529e01..e770fc79a1 100644 --- a/cura/PrinterOutput/GenericOutputController.py +++ b/cura/PrinterOutput/GenericOutputController.py @@ -5,13 +5,13 @@ from typing import TYPE_CHECKING, Set, Union, Optional from PyQt5.QtCore import QTimer -from cura.PrinterOutput.PrinterOutputController import PrinterOutputController +from .PrinterOutputController import PrinterOutputController if TYPE_CHECKING: - from cura.UI.PrintJobOutputModel import PrintJobOutputModel - from cura.UI.PrinterOutputModel import PrinterOutputModel - from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice - from cura.UI.ExtruderOutputModel import ExtruderOutputModel + from .Models.PrintJobOutputModel import PrintJobOutputModel + from .Models.PrinterOutputModel import PrinterOutputModel + from .PrinterOutputDevice import PrinterOutputDevice + from .Models.ExtruderOutputModel import ExtruderOutputModel class GenericOutputController(PrinterOutputController): diff --git a/cura/UI/ExtruderConfigurationModel.py b/cura/PrinterOutput/Models/ExtruderConfigurationModel.py similarity index 100% rename from cura/UI/ExtruderConfigurationModel.py rename to cura/PrinterOutput/Models/ExtruderConfigurationModel.py diff --git a/cura/UI/ExtruderOutputModel.py b/cura/PrinterOutput/Models/ExtruderOutputModel.py similarity index 96% rename from cura/UI/ExtruderOutputModel.py rename to cura/PrinterOutput/Models/ExtruderOutputModel.py index 7fab441a08..6002f5637f 100644 --- a/cura/UI/ExtruderOutputModel.py +++ b/cura/PrinterOutput/Models/ExtruderOutputModel.py @@ -2,12 +2,12 @@ # Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot -from cura.UI.ExtruderConfigurationModel import ExtruderConfigurationModel +from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel from typing import Optional, TYPE_CHECKING if TYPE_CHECKING: - from cura.UI.PrinterOutputModel import PrinterOutputModel + from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel from cura.UI.MaterialOutputModel import MaterialOutputModel diff --git a/cura/UI/PrintJobOutputModel.py b/cura/PrinterOutput/Models/PrintJobOutputModel.py similarity index 97% rename from cura/UI/PrintJobOutputModel.py rename to cura/PrinterOutput/Models/PrintJobOutputModel.py index a556680ef7..b4296a5494 100644 --- a/cura/UI/PrintJobOutputModel.py +++ b/cura/PrinterOutput/Models/PrintJobOutputModel.py @@ -8,8 +8,8 @@ from PyQt5.QtGui import QImage if TYPE_CHECKING: from cura.PrinterOutput.PrinterOutputController import PrinterOutputController - from cura.UI.PrinterOutputModel import PrinterOutputModel - from cura.UI.PrinterConfigurationModel import PrinterConfigurationModel + from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel + from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel class PrintJobOutputModel(QObject): diff --git a/cura/UI/PrinterConfigurationModel.py b/cura/PrinterOutput/Models/PrinterConfigurationModel.py similarity index 97% rename from cura/UI/PrinterConfigurationModel.py rename to cura/PrinterOutput/Models/PrinterConfigurationModel.py index 3db34768d1..876e4e02bd 100644 --- a/cura/UI/PrinterConfigurationModel.py +++ b/cura/PrinterOutput/Models/PrinterConfigurationModel.py @@ -6,7 +6,7 @@ from typing import List MYPY = False if MYPY: - from cura.UI.ExtruderConfigurationModel import ExtruderConfigurationModel + from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel class PrinterConfigurationModel(QObject): diff --git a/cura/UI/PrinterOutputModel.py b/cura/PrinterOutput/Models/PrinterOutputModel.py similarity index 97% rename from cura/UI/PrinterOutputModel.py rename to cura/PrinterOutput/Models/PrinterOutputModel.py index 2c782cc701..4004a90a33 100644 --- a/cura/UI/PrinterOutputModel.py +++ b/cura/PrinterOutput/Models/PrinterOutputModel.py @@ -4,12 +4,12 @@ from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, QVariant, pyqtSlot, QUrl from typing import List, Dict, Optional from UM.Math.Vector import Vector -from cura.UI.PrinterConfigurationModel import PrinterConfigurationModel -from cura.UI.ExtruderOutputModel import ExtruderOutputModel +from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel +from cura.PrinterOutput.Models.ExtruderOutputModel import ExtruderOutputModel MYPY = False if MYPY: - from cura.UI.PrintJobOutputModel import PrintJobOutputModel + from cura.PrinterOutput.Models.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.PrinterOutputController import PrinterOutputController diff --git a/cura/PrinterOutput/Models/__init__.py b/cura/PrinterOutput/Models/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cura/PrinterOutput/PrinterOutputController.py b/cura/PrinterOutput/PrinterOutputController.py index 4352c59762..3d710582ca 100644 --- a/cura/PrinterOutput/PrinterOutputController.py +++ b/cura/PrinterOutput/PrinterOutputController.py @@ -6,10 +6,10 @@ from UM.Signal import Signal MYPY = False if MYPY: - from cura.UI.PrintJobOutputModel import PrintJobOutputModel - from cura.UI.ExtruderOutputModel import ExtruderOutputModel - from cura.UI.PrinterOutputModel import PrinterOutputModel - from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice + from .Models.PrintJobOutputModel import PrintJobOutputModel + from .Models.ExtruderOutputModel import ExtruderOutputModel + from .Models.PrinterOutputModel import PrinterOutputModel + from .PrinterOutputDevice import PrinterOutputDevice class PrinterOutputController: diff --git a/cura/PrinterOutput/PrinterOutputDevice.py b/cura/PrinterOutput/PrinterOutputDevice.py index d15de94cc8..8e1b220a86 100644 --- a/cura/PrinterOutput/PrinterOutputDevice.py +++ b/cura/PrinterOutput/PrinterOutputDevice.py @@ -3,9 +3,6 @@ from enum import IntEnum from typing import Callable, List, Optional, Union -from UM.Decorators import deprecated -from UM.i18n import i18nCatalog -from UM.OutputDevice.OutputDevice import OutputDevice from PyQt5.QtCore import pyqtProperty, pyqtSignal, QObject, QTimer, QUrl from PyQt5.QtWidgets import QMessageBox @@ -13,14 +10,17 @@ from UM.Logger import Logger from UM.Signal import signalemitter from UM.Qt.QtApplication import QtApplication from UM.FlameProfiler import pyqtSlot +from UM.Decorators import deprecated +from UM.i18n import i18nCatalog +from UM.OutputDevice.OutputDevice import OutputDevice MYPY = False if MYPY: - from cura.UI.PrinterOutputModel import PrinterOutputModel - from cura.UI.PrinterConfigurationModel import PrinterConfigurationModel - from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater from UM.FileHandler.FileHandler import FileHandler from UM.Scene.SceneNode import SceneNode + from .Models.PrinterOutputModel import PrinterOutputModel + from .Models.PrinterConfigurationModel import PrinterConfigurationModel + from .FirmwareUpdater import FirmwareUpdater i18n_catalog = i18nCatalog("cura") diff --git a/cura/Scene/CuraSceneController.py b/cura/Scene/CuraSceneController.py index b0e9e10c32..91ff26cadc 100644 --- a/cura/Scene/CuraSceneController.py +++ b/cura/Scene/CuraSceneController.py @@ -5,7 +5,7 @@ from PyQt5.QtWidgets import QApplication from UM.Scene.Camera import Camera from cura.UI.ObjectsModel import ObjectsModel -from cura.UI.MachineModels.MultiBuildPlateModel import MultiBuildPlateModel +from cura.Machines.Models.MultiBuildPlateModel import MultiBuildPlateModel from UM.Application import Application from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index dd016ea851..8de19d9e00 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -23,8 +23,8 @@ from UM.Signal import postponeSignals, CompressTechnique from cura.Machines.QualityManager import getMachineDefinitionIDForQualitySearch from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice, ConnectionType -from cura.UI.PrinterConfigurationModel import PrinterConfigurationModel -from cura.UI.ExtruderConfigurationModel import ExtruderConfigurationModel +from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel +from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel from cura.UI.MaterialOutputModel import MaterialOutputModel from cura.Settings.CuraContainerRegistry import CuraContainerRegistry from cura.Settings.ExtruderManager import ExtruderManager diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 0527b4534e..f57aee190f 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -30,7 +30,7 @@ from .StartSliceJob import StartSliceJob, StartJobResult import Arcus if TYPE_CHECKING: - from cura.UI.MachineModels.MultiBuildPlateModel import MultiBuildPlateModel + from cura.Machines.Models.MultiBuildPlateModel import MultiBuildPlateModel from cura.Machines.MachineErrorChecker import MachineErrorChecker from UM.Scene.Scene import Scene from UM.Settings.ContainerStack import ContainerStack diff --git a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py index 312de71e11..ed4f556cc9 100644 --- a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py +++ b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py @@ -24,7 +24,7 @@ from cura import LayerPolygon import numpy from time import time -from cura.UI.ExtrudersModel import ExtrudersModel +from cura.Machines.Models.ExtrudersModel import ExtrudersModel catalog = i18nCatalog("cura") diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py index 60e9ec6e7c..d98cdded9c 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDevice.py @@ -18,7 +18,7 @@ from UM.Scene.SceneNode import SceneNode from cura.CuraApplication import CuraApplication from cura.PrinterOutput.NetworkedPrinterOutputDevice import AuthState, NetworkedPrinterOutputDevice -from cura.UI.PrinterOutputModel import PrinterOutputModel +from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.PrinterOutputDevice import ConnectionType from .CloudOutputController import CloudOutputController diff --git a/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrintCoreConfiguration.py b/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrintCoreConfiguration.py index 922d3e840c..aba1cdb755 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrintCoreConfiguration.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrintCoreConfiguration.py @@ -2,8 +2,8 @@ # Cura is released under the terms of the LGPLv3 or higher. from typing import Union, Dict, Optional, Any -from cura.UI.ExtruderConfigurationModel import ExtruderConfigurationModel -from cura.UI.ExtruderOutputModel import ExtruderOutputModel +from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel +from cura.PrinterOutput.Models.ExtruderOutputModel import ExtruderOutputModel from .CloudClusterPrinterConfigurationMaterial import CloudClusterPrinterConfigurationMaterial from .BaseCloudModel import BaseCloudModel diff --git a/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrintJobStatus.py b/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrintJobStatus.py index a4bc46e2d9..79050521af 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrintJobStatus.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrintJobStatus.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. from typing import List, Optional, Union, Dict, Any -from cura.UI.PrinterConfigurationModel import PrinterConfigurationModel +from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel from ...UM3PrintJobOutputModel import UM3PrintJobOutputModel from ...ConfigurationChangeModel import ConfigurationChangeModel from ..CloudOutputController import CloudOutputController diff --git a/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrinterStatus.py b/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrinterStatus.py index 65ce770192..0b76ba1bce 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrinterStatus.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/Models/CloudClusterPrinterStatus.py @@ -3,7 +3,7 @@ from typing import List, Union, Dict, Optional, Any from cura.PrinterOutput.PrinterOutputController import PrinterOutputController -from cura.UI.PrinterOutputModel import PrinterOutputModel +from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel from .CloudClusterBuildPlate import CloudClusterBuildPlate from .CloudClusterPrintCoreConfiguration import CloudClusterPrintCoreConfiguration from .BaseCloudModel import BaseCloudModel diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 57a163172a..e280e937fb 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -19,10 +19,10 @@ from UM.Scene.SceneNode import SceneNode # For typing. from UM.Settings.ContainerRegistry import ContainerRegistry from cura.CuraApplication import CuraApplication -from cura.UI.PrinterConfigurationModel import PrinterConfigurationModel -from cura.UI.ExtruderConfigurationModel import ExtruderConfigurationModel +from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel +from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel from cura.PrinterOutput.NetworkedPrinterOutputDevice import AuthState, NetworkedPrinterOutputDevice -from cura.UI.PrinterOutputModel import PrinterOutputModel +from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel from cura.UI.MaterialOutputModel import MaterialOutputModel from cura.PrinterOutput.PrinterOutputDevice import ConnectionType diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py b/plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py index 1d5dcd2c79..370cfc9008 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3PrinterOutputController.py @@ -5,7 +5,7 @@ from cura.PrinterOutput.PrinterOutputController import PrinterOutputController MYPY = False if MYPY: - from cura.UI.PrintJobOutputModel import PrintJobOutputModel + from cura.PrinterOutput.Models.PrintJobOutputModel import PrintJobOutputModel class ClusterUM3PrinterOutputController(PrinterOutputController): def __init__(self, output_device): diff --git a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py index 55a4a57026..9f86415031 100644 --- a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py @@ -2,8 +2,8 @@ from typing import List, Optional from cura.CuraApplication import CuraApplication from cura.PrinterOutput.NetworkedPrinterOutputDevice import NetworkedPrinterOutputDevice, AuthState -from cura.UI.PrinterOutputModel import PrinterOutputModel -from cura.UI.PrintJobOutputModel import PrintJobOutputModel +from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel +from cura.PrinterOutput.Models.PrintJobOutputModel import PrintJobOutputModel from cura.UI.MaterialOutputModel import MaterialOutputModel from cura.PrinterOutput.PrinterOutputDevice import ConnectionType diff --git a/plugins/UM3NetworkPrinting/src/LegacyUM3PrinterOutputController.py b/plugins/UM3NetworkPrinting/src/LegacyUM3PrinterOutputController.py index 089a083275..9e372d4113 100644 --- a/plugins/UM3NetworkPrinting/src/LegacyUM3PrinterOutputController.py +++ b/plugins/UM3NetworkPrinting/src/LegacyUM3PrinterOutputController.py @@ -7,8 +7,8 @@ from UM.Version import Version MYPY = False if MYPY: - from cura.UI.PrintJobOutputModel import PrintJobOutputModel - from cura.UI.PrinterOutputModel import PrinterOutputModel + from cura.PrinterOutput.Models.PrintJobOutputModel import PrintJobOutputModel + from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel class LegacyUM3PrinterOutputController(PrinterOutputController): diff --git a/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py b/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py index e51a891f58..b627b6e9c8 100644 --- a/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py +++ b/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py @@ -5,7 +5,7 @@ from typing import List from PyQt5.QtCore import pyqtProperty, pyqtSignal -from cura.UI.PrintJobOutputModel import PrintJobOutputModel +from cura.PrinterOutput.Models.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.PrinterOutputController import PrinterOutputController from .ConfigurationChangeModel import ConfigurationChangeModel diff --git a/plugins/UM3NetworkPrinting/tests/Cloud/TestCloudOutputDevice.py b/plugins/UM3NetworkPrinting/tests/Cloud/TestCloudOutputDevice.py index 2cbf2def50..2c401fab25 100644 --- a/plugins/UM3NetworkPrinting/tests/Cloud/TestCloudOutputDevice.py +++ b/plugins/UM3NetworkPrinting/tests/Cloud/TestCloudOutputDevice.py @@ -6,7 +6,7 @@ from unittest.mock import patch, MagicMock from UM.Scene.SceneNode import SceneNode from cura.UltimakerCloudAuthentication import CuraCloudAPIRoot -from cura.UI.PrinterOutputModel import PrinterOutputModel +from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel from ...src.Cloud import CloudApiClient from ...src.Cloud.CloudOutputDevice import CloudOutputDevice from ...src.Cloud.Models.CloudClusterResponse import CloudClusterResponse diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index de2c0c1d72..0c195e9017 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -11,8 +11,8 @@ from UM.Qt.Duration import DurationFormat from cura.CuraApplication import CuraApplication from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice, ConnectionState, ConnectionType -from cura.UI.PrinterOutputModel import PrinterOutputModel -from cura.UI.PrintJobOutputModel import PrintJobOutputModel +from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel +from cura.PrinterOutput.Models.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.GenericOutputController import GenericOutputController from .AutoDetectBaudJob import AutoDetectBaudJob diff --git a/resources/qml/WelcomePages/WhatsNewContent.qml b/resources/qml/WelcomePages/WhatsNewContent.qml index 7e7b3b8261..06b8642e49 100644 --- a/resources/qml/WelcomePages/WhatsNewContent.qml +++ b/resources/qml/WelcomePages/WhatsNewContent.qml @@ -35,15 +35,15 @@ Item anchors.topMargin: UM.Theme.getSize("welcome_pages_default_margin").height anchors.bottomMargin: UM.Theme.getSize("welcome_pages_default_margin").height anchors.horizontalCenter: parent.horizontalCenter - width: parent.width * 3 / 4 + width: (parent.width * 3 / 4) | 0 border.color: "#dfdfdf" - border.width: 1 + border.width: UM.Theme.getSize("default_lining").width ScrollView { anchors.fill: parent - anchors.margins: 1 + anchors.margins: UM.Theme.getSize("default_lining").width ScrollBar.horizontal.policy: ScrollBar.AlwaysOff diff --git a/resources/themes/cura-light/images/first_run_share_data.svg b/resources/themes/cura-light/images/first_run_share_data.svg index 0d6f8998e5..cd87431067 100644 --- a/resources/themes/cura-light/images/first_run_share_data.svg +++ b/resources/themes/cura-light/images/first_run_share_data.svg @@ -4,25 +4,25 @@ Group 2 Created with Sketch. - + - + - + - + @@ -30,41 +30,37 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/themes/cura-light/images/first_run_ultimaker_cloud.svg b/resources/themes/cura-light/images/first_run_ultimaker_cloud.svg index f5e52ebee9..1e9b313862 100644 --- a/resources/themes/cura-light/images/first_run_ultimaker_cloud.svg +++ b/resources/themes/cura-light/images/first_run_ultimaker_cloud.svg @@ -3,14 +3,10 @@ Group-cloud Created with Sketch. - - - - - - - - + + + + \ No newline at end of file diff --git a/resources/themes/cura-light/images/first_run_welcome_cura.svg b/resources/themes/cura-light/images/first_run_welcome_cura.svg index 76a812d2c0..fddb073c82 100644 --- a/resources/themes/cura-light/images/first_run_welcome_cura.svg +++ b/resources/themes/cura-light/images/first_run_welcome_cura.svg @@ -3,13 +3,9 @@ cura Created with Sketch. - - - - - - - - + + + + \ No newline at end of file diff --git a/tests/UI/MachineModels/TestDiscoveredPrintersModel.py b/tests/Machines/Models/TestDiscoveredPrintersModel.py similarity index 88% rename from tests/UI/MachineModels/TestDiscoveredPrintersModel.py rename to tests/Machines/Models/TestDiscoveredPrintersModel.py index 2fa5701b7b..c89274771f 100644 --- a/tests/UI/MachineModels/TestDiscoveredPrintersModel.py +++ b/tests/Machines/Models/TestDiscoveredPrintersModel.py @@ -1,27 +1,26 @@ - -from unittest.mock import MagicMock - -import pytest - -from cura.UI.MachineModels.DiscoveredPrintersModel import DiscoveredPrintersModel - - -@pytest.fixture() -def discovered_printer_model(application) -> DiscoveredPrintersModel: - return DiscoveredPrintersModel() - - -def test_discoveredPrinters(discovered_printer_model): - mocked_device = MagicMock() - - mocked_callback = MagicMock() - discovered_printer_model.addDiscoveredPrinter("ip", "key", "name", mocked_callback, "machine_type", mocked_device) - device = discovered_printer_model.discovered_printers[0] - discovered_printer_model.createMachineFromDiscoveredPrinter(device) - mocked_callback.assert_called_with("key") - - assert len(discovered_printer_model.discovered_printers) == 1 - - # Test if removing it works - discovered_printer_model.removeDiscoveredPrinter("ip") - assert len(discovered_printer_model.discovered_printers) == 0 +from unittest.mock import MagicMock + +import pytest + +from cura.Machines.Models.DiscoveredPrintersModel import DiscoveredPrintersModel + + +@pytest.fixture() +def discovered_printer_model(application) -> DiscoveredPrintersModel: + return DiscoveredPrintersModel() + + +def test_discoveredPrinters(discovered_printer_model): + mocked_device = MagicMock() + + mocked_callback = MagicMock() + discovered_printer_model.addDiscoveredPrinter("ip", "key", "name", mocked_callback, "machine_type", mocked_device) + device = discovered_printer_model.discovered_printers[0] + discovered_printer_model.createMachineFromDiscoveredPrinter(device) + mocked_callback.assert_called_with("key") + + assert len(discovered_printer_model.discovered_printers) == 1 + + # Test if removing it works + discovered_printer_model.removeDiscoveredPrinter("ip") + assert len(discovered_printer_model.discovered_printers) == 0 diff --git a/tests/UI/TestPrintJobOutputModel.py b/tests/PrinterOutput/Models/TestPrintJobOutputModel.py similarity index 90% rename from tests/UI/TestPrintJobOutputModel.py rename to tests/PrinterOutput/Models/TestPrintJobOutputModel.py index 71a08c223c..b70883dd82 100644 --- a/tests/UI/TestPrintJobOutputModel.py +++ b/tests/PrinterOutput/Models/TestPrintJobOutputModel.py @@ -2,9 +2,9 @@ from unittest.mock import MagicMock import pytest -from cura.UI.PrinterConfigurationModel import PrinterConfigurationModel -from cura.UI.PrintJobOutputModel import PrintJobOutputModel -from cura.UI.PrinterOutputModel import PrinterOutputModel +from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel +from cura.PrinterOutput.Models.PrintJobOutputModel import PrintJobOutputModel +from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel test_validate_data_get_set = [ {"attribute": "compatibleMachineFamilies", "value": ["yay"]}, diff --git a/tests/UI/TestPrinterConfigurationModel.py b/tests/PrinterOutput/Models/TestPrinterConfigurationModel.py similarity index 87% rename from tests/UI/TestPrinterConfigurationModel.py rename to tests/PrinterOutput/Models/TestPrinterConfigurationModel.py index e365aaebf6..84b1d1b5bf 100644 --- a/tests/UI/TestPrinterConfigurationModel.py +++ b/tests/PrinterOutput/Models/TestPrinterConfigurationModel.py @@ -4,8 +4,8 @@ from unittest.mock import MagicMock import pytest -from cura.UI.PrinterConfigurationModel import PrinterConfigurationModel -from cura.UI.ExtruderConfigurationModel import ExtruderConfigurationModel +from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel +from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel test_validate_data_get_set = [ {"attribute": "extruderConfigurations", "value": [ExtruderConfigurationModel()]}, diff --git a/tests/UI/TestPrinterOutputModel.py b/tests/PrinterOutput/Models/TestPrinterOutputModel.py similarity index 94% rename from tests/UI/TestPrinterOutputModel.py rename to tests/PrinterOutput/Models/TestPrinterOutputModel.py index e0d57b90dc..3fdb61adbd 100644 --- a/tests/UI/TestPrinterOutputModel.py +++ b/tests/PrinterOutput/Models/TestPrinterOutputModel.py @@ -4,8 +4,8 @@ from unittest.mock import MagicMock import pytest -from cura.UI.PrintJobOutputModel import PrintJobOutputModel -from cura.UI.PrinterOutputModel import PrinterOutputModel +from cura.PrinterOutput.Models.PrintJobOutputModel import PrintJobOutputModel +from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel test_validate_data_get_set = [ {"attribute": "name", "value": "YAY"}, diff --git a/tests/Settings/TestSettingVisibilityPresets.py b/tests/Settings/TestSettingVisibilityPresets.py index 13089e8aa6..b82aa62ea7 100644 --- a/tests/Settings/TestSettingVisibilityPresets.py +++ b/tests/Settings/TestSettingVisibilityPresets.py @@ -5,7 +5,7 @@ import os.path from UM.Preferences import Preferences from UM.Resources import Resources from cura.CuraApplication import CuraApplication -from cura.UI.MachineModels.SettingVisibilityPresetsModel import SettingVisibilityPresetsModel +from cura.Machines.Models.SettingVisibilityPresetsModel import SettingVisibilityPresetsModel from cura.Settings.SettingVisibilityPreset import SettingVisibilityPreset setting_visibility_preset_test_settings = {"test", "zomg", "derp", "yay", "whoo"}