From 456b777591980e31a5da0343df85ada9c535ea91 Mon Sep 17 00:00:00 2001 From: Cyprien CAILLOT Date: Wed, 11 Sep 2024 12:42:24 +0200 Subject: [PATCH] Enhancement: Add a warning when a workfile will be saved in different context --- openpype/tools/workfiles/save_as_dialog.py | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/openpype/tools/workfiles/save_as_dialog.py b/openpype/tools/workfiles/save_as_dialog.py index 7052eaed067..084e25be9f9 100644 --- a/openpype/tools/workfiles/save_as_dialog.py +++ b/openpype/tools/workfiles/save_as_dialog.py @@ -9,6 +9,10 @@ registered_host, legacy_io, ) +from openpype.pipeline.context_tools import ( + get_current_task_name, + get_current_asset_name +) from openpype.pipeline.workfile import get_last_workfile_with_version from openpype.pipeline.template_data import get_template_data_with_names from openpype.tools.utils import PlaceholderLineEdit @@ -243,6 +247,24 @@ def __init__( # Preview widget preview_label = QtWidgets.QLabel("Preview filename", inputs_widget) + current_task_name = get_current_task_name() + target_task_name = self.data.get("task").get("name") + current_asset_name = get_current_asset_name() + target_asset_name = self.data.get("asset") + task_warning_label = QtWidgets.QLabel( + "Warning: You are saving to a different task " + "than the current one. " + "Current task: {}. Target task: {}" + "".format(current_task_name, target_task_name), + alignment=QtCore.Qt.AlignHCenter + ) + asset_warning_label = QtWidgets.QLabel( + "Warning: You are saving to a different asset " + "than the current one. " + "Current asset: {}. Target asset: {}" + "".format(current_asset_name, target_asset_name), + alignment=QtCore.Qt.AlignHCenter + ) # Subversion input subversion = SubversionLineEdit(inputs_widget) @@ -290,6 +312,10 @@ def __init__( subversion.setVisible(False) inputs_layout.addRow("Extension:", ext_combo) inputs_layout.addRow("Preview:", preview_label) + if current_asset_name != target_asset_name: + inputs_layout.addRow(asset_warning_label) + if current_task_name != target_task_name: + inputs_layout.addRow(task_warning_label) # Build layout main_layout = QtWidgets.QVBoxLayout(self) @@ -324,6 +350,8 @@ def __init__( self.last_version_check = last_version_check self.preview_label = preview_label + self.task_warning_label = task_warning_label + self.asset_warning_label = asset_warning_label self.subversion = subversion self.ext_combo = ext_combo self._ext_delegate = ext_delegate