Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/cura/UI
diff options
context:
space:
mode:
authorRemco Burema <r.burema@ultimaker.com>2021-09-01 17:04:05 +0300
committerRemco Burema <r.burema@ultimaker.com>2021-09-01 17:04:05 +0300
commitc2c53d51c1954315324982bd916b8aad5c19946d (patch)
tree1e9b41b7d09caa77fc569933f149f192562d26d7 /cura/UI
parent6ad358a55db7dfc4825233a7e453bab31931fba0 (diff)
Use optional last output (file) name from output-dev to set project name.
Instead of relying on the filename emitted when the workspace is changed. This is done so the user can also change the project name when saving to an output device, such as a local file, or the digital library, that supports changeing the (file)name. CURA-8358
Diffstat (limited to 'cura/UI')
-rw-r--r--cura/UI/PrintInformation.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/cura/UI/PrintInformation.py b/cura/UI/PrintInformation.py
index 852763cbfd..9640326c91 100644
--- a/cura/UI/PrintInformation.py
+++ b/cura/UI/PrintInformation.py
@@ -13,6 +13,7 @@ from UM.Qt.Duration import Duration
from UM.Scene.SceneNode import SceneNode
from UM.i18n import i18nCatalog
from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError
+from UM.OutputDevice import OutputDevice
if TYPE_CHECKING:
from cura.CuraApplication import CuraApplication
@@ -67,7 +68,8 @@ class PrintInformation(QObject):
self._application.globalContainerStackChanged.connect(self._updateJobName)
self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation)
self._application.fileLoaded.connect(self.setBaseName)
- self._application.workspaceLoaded.connect(self._onWorkspaceLoaded)
+ self._application.workspaceLoaded.connect(self.setProjectName)
+ self._application.getOutputDeviceManager().writeStarted.connect(self._onOutputStart)
self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged)
self._application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged)
@@ -440,6 +442,12 @@ class PrintInformation(QObject):
self.setToZeroPrintInformation(self._active_build_plate)
- def _onWorkspaceLoaded(self, new_name: str) -> None:
- """Update the job name whenever a new workspace is loaded."""
- self.setJobName(os.path.splitext(os.path.basename(new_name))[0])
+ def _onOutputStart(self, output_device: OutputDevice) -> None:
+ """If this is the sort of output 'device' (like local or online file storage, rather than a printer),
+ the user could have altered the file-name, and thus the project name should be altered as well."""
+ new_name = output_device.getLastOutputName()
+ if new_name is not None:
+ if len(os.path.dirname(new_name)) > 0:
+ self.setProjectName(new_name)
+ else:
+ self.setJobName(new_name)