Merge pull request #8042 from Ultimaker/CURA-5479_revert

Revert changes for CURA-5479
This commit is contained in:
Konstantinos Karmas 2020-07-08 16:56:49 +02:00 committed by GitHub
commit 0b3773ed14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 24 additions and 72 deletions

View File

@ -533,7 +533,7 @@ class CuraApplication(QtApplication):
preferences.addPreference("cura/active_mode", "simple") preferences.addPreference("cura/active_mode", "simple")
preferences.addPreference("cura/categories_expanded", "") preferences.addPreference("cura/categories_expanded", "")
preferences.addPreference("cura/job_name_template", "{machine_name_short}_{project_name}") preferences.addPreference("cura/jobname_prefix", True)
preferences.addPreference("cura/select_models_on_load", False) preferences.addPreference("cura/select_models_on_load", False)
preferences.addPreference("view/center_on_select", False) preferences.addPreference("view/center_on_select", False)
preferences.addPreference("mesh/scale_to_fit", False) preferences.addPreference("mesh/scale_to_fit", False)

View File

@ -252,11 +252,11 @@ class PrintInformation(QObject):
self.materialNamesChanged.emit() self.materialNamesChanged.emit()
def _onPreferencesChanged(self, preference: str) -> None: def _onPreferencesChanged(self, preference: str) -> None:
if preference == "cura/job_name_template": if preference != "cura/material_settings":
self._updateJobName() return
elif preference == "cura/material_settings":
for build_plate_number in range(self._multi_build_plate_model.maxBuildPlate + 1): for build_plate_number in range(self._multi_build_plate_model.maxBuildPlate + 1):
self._calculateInformation(build_plate_number) self._calculateInformation(build_plate_number)
def _onActiveBuildPlateChanged(self) -> None: def _onActiveBuildPlateChanged(self) -> None:
new_active_build_plate = self._multi_build_plate_model.activeBuildPlate new_active_build_plate = self._multi_build_plate_model.activeBuildPlate
@ -305,8 +305,12 @@ class PrintInformation(QObject):
# Only update the job name when it's not user-specified. # Only update the job name when it's not user-specified.
if not self._is_user_specified_job_name: if not self._is_user_specified_job_name:
if not self._pre_sliced: if self._application.getInstance().getPreferences().getValue("cura/jobname_prefix") and not self._pre_sliced:
self._job_name = self.parseTemplate() # Don't add abbreviation if it already has the exact same abbreviation.
if base_name.startswith(self._abbr_machine + "_"):
self._job_name = base_name
else:
self._job_name = self._abbr_machine + "_" + base_name
else: else:
self._job_name = base_name self._job_name = base_name
@ -436,28 +440,3 @@ class PrintInformation(QObject):
"""Listen to scene changes to check if we need to reset the print information""" """Listen to scene changes to check if we need to reset the print information"""
self.setToZeroPrintInformation(self._active_build_plate) self.setToZeroPrintInformation(self._active_build_plate)
def parseTemplate(self) -> str:
"""Generate a print job name from the job name template
The template is a user preference: "cura/job_name_template"
"""
template = self._application.getInstance().getPreferences().getValue("cura/job_name_template")
output = template
output = output.replace("{machine_name_short}", self._abbr_machine)
if "{machine_name}" in template:
global_container_stack = self._application.getGlobalContainerStack()
active_machine_type_name = global_container_stack.definition.getName() \
if global_container_stack \
else "no_machine"
active_machine_type_name = active_machine_type_name.replace(" ", "_")
output = output.replace("{machine_name}", active_machine_type_name)
if "{project_name}" in template:
base_name = self._stripAccents(self._base_name)
output = output.replace("{project_name}", base_name)
return output

View File

@ -4,8 +4,6 @@
import configparser import configparser
from typing import Tuple, List, Dict, Set from typing import Tuple, List, Dict, Set
import io import io
from UM.Util import parseBool
from UM.VersionUpgrade import VersionUpgrade from UM.VersionUpgrade import VersionUpgrade
@ -44,13 +42,6 @@ class VersionUpgrade462to47(VersionUpgrade):
parser["general"]["visible_settings"] = ";".join( parser["general"]["visible_settings"] = ";".join(
set(parser["general"]["visible_settings"].split(";")).difference(_removed_settings)) set(parser["general"]["visible_settings"].split(";")).difference(_removed_settings))
if "cura" in parser and "jobname_prefix" in parser["cura"]:
if not parseBool(parser["cura"]["jobname_prefix"]):
parser["cura"]["job_name_template"] = "{project_name}"
del parser["cura"]["jobname_prefix"]
# else: When the jobname_prefix preference is True or not set,
# the default value for job_name_template ("{machine_name_short}_{project_name}") will be used
result = io.StringIO() result = io.StringIO()
parser.write(result) parser.write(result)
return [filename], [result.getvalue()] return [filename], [result.getvalue()]

View File

@ -85,8 +85,8 @@ UM.PreferencesPage
scaleTinyCheckbox.checked = boolCheck(UM.Preferences.getValue("mesh/scale_tiny_meshes")) scaleTinyCheckbox.checked = boolCheck(UM.Preferences.getValue("mesh/scale_tiny_meshes"))
UM.Preferences.resetPreference("cura/select_models_on_load") UM.Preferences.resetPreference("cura/select_models_on_load")
selectModelsOnLoadCheckbox.checked = boolCheck(UM.Preferences.getValue("cura/select_models_on_load")) selectModelsOnLoadCheckbox.checked = boolCheck(UM.Preferences.getValue("cura/select_models_on_load"))
UM.Preferences.resetPreference("cura/job_name_template") UM.Preferences.resetPreference("cura/jobname_prefix")
jobnameTemplateTextField.text = UM.Preferences.getValue("cura/job_name_template") prefixJobNameCheckbox.checked = boolCheck(UM.Preferences.getValue("cura/jobname_prefix"))
UM.Preferences.resetPreference("view/show_overhang"); UM.Preferences.resetPreference("view/show_overhang");
showOverhangCheckbox.checked = boolCheck(UM.Preferences.getValue("view/show_overhang")) showOverhangCheckbox.checked = boolCheck(UM.Preferences.getValue("view/show_overhang"))
UM.Preferences.resetPreference("view/show_xray_warning"); UM.Preferences.resetPreference("view/show_xray_warning");
@ -627,25 +627,14 @@ UM.PreferencesPage
{ {
width: childrenRect.width width: childrenRect.width
height: childrenRect.height height: childrenRect.height
text: catalog.i18nc("@info:tooltip. Note variable names themselves (ie. machine_name_short, project_name) should not be translated", "Variables: machine_name_short, machine_name, project_name") text: catalog.i18nc("@info:tooltip", "Should a prefix based on the printer name be added to the print job name automatically?")
Column CheckBox
{ {
spacing: 4 * screenScaleFactor id: prefixJobNameCheckbox
text: catalog.i18nc("@option:check", "Add machine prefix to job name")
Label checked: boolCheck(UM.Preferences.getValue("cura/jobname_prefix"))
{ onCheckedChanged: UM.Preferences.setValue("cura/jobname_prefix", checked)
id: jobNameTemplateLabel
text: catalog.i18nc("@label","Print job template:")
}
TextField
{
id: jobNameTemplateTextField
width: 250 * screenScaleFactor
text: UM.Preferences.getValue("cura/job_name_template")
onTextChanged: UM.Preferences.setValue("cura/job_name_template", text)
}
} }
} }
@ -681,7 +670,7 @@ UM.PreferencesPage
ComboBox ComboBox
{ {
id: choiceOnOpenProjectDropDownButton id: choiceOnOpenProjectDropDownButton
width: 250 * screenScaleFactor width: 200 * screenScaleFactor
model: ListModel model: ListModel
{ {
@ -747,7 +736,7 @@ UM.PreferencesPage
ComboBox ComboBox
{ {
id: choiceOnProfileOverrideDropDownButton id: choiceOnProfileOverrideDropDownButton
width: 250 * screenScaleFactor width: 200 * screenScaleFactor
model: ListModel model: ListModel
{ {

View File

@ -140,7 +140,7 @@ A new performance enhancement that limits re-rendering of the application interf
Previous versions used different ways of handling HTTP requests. This version uses a unified method, for better performance. Previous versions used different ways of handling HTTP requests. This version uses a unified method, for better performance.
* Job names less sensitive to being touched. * Job names less sensitive to being touched.
A contribution from fieldOfview has fixed an issue where the job name in the bottom-left of the scene is no longer made static by clicking on it. If you load a model and change to another printer, the prefix is now correctly updated. A contribution from fieldOfview has fixed an issue where the jobname in the bottom-left of the scene is no longer made static by clicking on it. If you load a model and change to another printer, the prefix is now correctly updated.
* Property checks on instance containers. * Property checks on instance containers.
A new speed optimization for reading setting values from profiles. A new speed optimization for reading setting values from profiles.

View File

@ -8,13 +8,6 @@ from unittest.mock import MagicMock, patch
from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType
def preferencesGetValue(key: str):
if key == "cura/job_name_template":
return "{machine_name_short}_{project_name}"
return '{"omgzomg": {"spool_weight": 10, "spool_cost": 9}}'
def getPrintInformation(printer_name) -> PrintInformation: def getPrintInformation(printer_name) -> PrintInformation:
mock_application = MagicMock(name = "mock_application") mock_application = MagicMock(name = "mock_application")
@ -26,7 +19,7 @@ def getPrintInformation(printer_name) -> PrintInformation:
mocked_extruder_stack.material = mocked_material mocked_extruder_stack.material = mocked_material
mock_application.getInstance = MagicMock(return_value = mock_application) mock_application.getInstance = MagicMock(return_value = mock_application)
mocked_preferences.getValue = MagicMock(side_effect = preferencesGetValue) mocked_preferences.getValue = MagicMock(return_value = '{"omgzomg": {"spool_weight": 10, "spool_cost": 9}}')
global_container_stack = MagicMock() global_container_stack = MagicMock()
global_container_stack.definition.getName = MagicMock(return_value = printer_name) global_container_stack.definition.getName = MagicMock(return_value = printer_name)