From c7d61aec49d6db517cfcd84e83afd4aac3b87ffb Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Tue, 29 Nov 2016 17:39:13 +0200 Subject: [PATCH] Update piece path name after change. --HG-- branch : feature --- .../vtools/dialogs/tools/dialogseamallowance.cpp | 16 ++++++++++++++++ .../vtools/dialogs/tools/dialogseamallowance.h | 1 + .../vtools/undocommands/savepiecepathoptions.cpp | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/libs/vtools/dialogs/tools/dialogseamallowance.cpp b/src/libs/vtools/dialogs/tools/dialogseamallowance.cpp index a9f65e39c..5db25b0e9 100644 --- a/src/libs/vtools/dialogs/tools/dialogseamallowance.cpp +++ b/src/libs/vtools/dialogs/tools/dialogseamallowance.cpp @@ -662,6 +662,7 @@ void DialogSeamAllowance::PathDialogClosed(int result) const_cast(data), dialogTool->GetToolId()); qApp->getUndoStack()->push(saveCommand); + UpdateCurrentRecord(); } catch (const VExceptionBadId &e) { @@ -931,3 +932,18 @@ void DialogSeamAllowance::InitSAIncludeType() ui->comboBoxIncludeType->addItem(tr("custom seam allowance"), static_cast(PiecePathIncludeType::AsCustomSA)); } + +//--------------------------------------------------------------------------------------------------------------------- +void DialogSeamAllowance::UpdateCurrentRecord() +{ + const int row = ui->listWidgetCustomSA->currentRow(); + if (ui->listWidgetCustomSA->count() == 0 || row == -1) + { + return; + } + + QListWidgetItem *item = ui->listWidgetCustomSA->item(row); + SCASSERT(item != nullptr); + const CustomSARecord record = qvariant_cast(item->data(Qt::UserRole)); + item->setText(GetCustomSARecordName(record)); +} diff --git a/src/libs/vtools/dialogs/tools/dialogseamallowance.h b/src/libs/vtools/dialogs/tools/dialogseamallowance.h index cd53f8da2..4a6b986fc 100644 --- a/src/libs/vtools/dialogs/tools/dialogseamallowance.h +++ b/src/libs/vtools/dialogs/tools/dialogseamallowance.h @@ -97,6 +97,7 @@ private: void InitNodesList(); void InitCSAPoint(QComboBox *box); void InitSAIncludeType(); + void UpdateCurrentRecord(); QListWidgetItem *GetItemById(quint32 id); diff --git a/src/libs/vtools/undocommands/savepiecepathoptions.cpp b/src/libs/vtools/undocommands/savepiecepathoptions.cpp index 61f155e4b..0c1520d76 100644 --- a/src/libs/vtools/undocommands/savepiecepathoptions.cpp +++ b/src/libs/vtools/undocommands/savepiecepathoptions.cpp @@ -95,7 +95,7 @@ void SavePiecePathOptions::redo() DecrementReferences(m_oldPath.MissingNodes(m_newPath)); SCASSERT(m_data); - m_data->UpdatePiecePath(nodeId, m_oldPath); + m_data->UpdatePiecePath(nodeId, m_newPath); } else {