Do not change prefix for user-specified job names

CURA-5280
This commit is contained in:
Lipu Fei 2018-05-28 09:53:47 +02:00
parent 0d55b8b440
commit 689b88a024
2 changed files with 20 additions and 12 deletions

View File

@ -65,6 +65,7 @@ class PrintInformation(QObject):
self._backend.printDurationMessage.connect(self._onPrintDurationMessage) self._backend.printDurationMessage.connect(self._onPrintDurationMessage)
Application.getInstance().getController().getScene().sceneChanged.connect(self._onSceneChanged) Application.getInstance().getController().getScene().sceneChanged.connect(self._onSceneChanged)
self._is_user_specified_job_name = False
self._base_name = "" self._base_name = ""
self._abbr_machine = "" self._abbr_machine = ""
self._job_name = "" self._job_name = ""
@ -281,10 +282,13 @@ class PrintInformation(QObject):
# Manual override of job name should also set the base name so that when the printer prefix is updated, it the # Manual override of job name should also set the base name so that when the printer prefix is updated, it the
# prefix can be added to the manually added name, not the old base name # prefix can be added to the manually added name, not the old base name
@pyqtSlot(str) @pyqtSlot(str, bool)
def setJobName(self, name): def setJobName(self, name, is_user_specified_job_name = False):
self._is_user_specified_job_name = is_user_specified_job_name
self._job_name = name self._job_name = name
self._base_name = name.replace(self._abbr_machine + "_", "") self._base_name = name.replace(self._abbr_machine + "_", "")
if name == "":
self._is_user_specified_job_name = False
self.jobNameChanged.emit() self.jobNameChanged.emit()
jobNameChanged = pyqtSignal() jobNameChanged = pyqtSignal()
@ -296,21 +300,25 @@ class PrintInformation(QObject):
def _updateJobName(self): def _updateJobName(self):
if self._base_name == "": if self._base_name == "":
self._job_name = "" self._job_name = ""
self._is_user_specified_job_name = False
self.jobNameChanged.emit() self.jobNameChanged.emit()
return return
base_name = self._stripAccents(self._base_name) base_name = self._stripAccents(self._base_name)
self._setAbbreviatedMachineName() self._setAbbreviatedMachineName()
if self._pre_sliced:
self._job_name = catalog.i18nc("@label", "Pre-sliced file {0}", base_name) # Only update the job name when it's not user-specified.
elif Preferences.getInstance().getValue("cura/jobname_prefix"): if not self._is_user_specified_job_name:
# Don't add abbreviation if it already has the exact same abbreviation. if self._pre_sliced:
if base_name.startswith(self._abbr_machine + "_"): self._job_name = catalog.i18nc("@label", "Pre-sliced file {0}", base_name)
self._job_name = base_name elif Preferences.getInstance().getValue("cura/jobname_prefix"):
# 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 = self._abbr_machine + "_" + base_name self._job_name = base_name
else:
self._job_name = base_name
self.jobNameChanged.emit() self.jobNameChanged.emit()

View File

@ -81,7 +81,7 @@ Item {
text: PrintInformation.jobName text: PrintInformation.jobName
horizontalAlignment: TextInput.AlignRight horizontalAlignment: TextInput.AlignRight
onTextChanged: { onTextChanged: {
PrintInformation.setJobName(text); PrintInformation.setJobName(text, true);
} }
onEditingFinished: { onEditingFinished: {
if (printJobTextfield.text != ''){ if (printJobTextfield.text != ''){