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,9 +252,9 @@ 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)
@ -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

@ -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)