diff --git a/src/app/valentina/dialogs/vwidgetdetails.cpp b/src/app/valentina/dialogs/vwidgetdetails.cpp index 103729fe4..80672e979 100644 --- a/src/app/valentina/dialogs/vwidgetdetails.cpp +++ b/src/app/valentina/dialogs/vwidgetdetails.cpp @@ -68,13 +68,15 @@ void VWidgetDetails::UpdateList() //--------------------------------------------------------------------------------------------------------------------- void VWidgetDetails::InLayoutStateChanged(int row, int column) { + QTableWidgetItem *item = ui->tableWidget->item(row, 0); + const quint32 id = item->data(Qt::UserRole).toUInt(); + emit Highlight(id); + if (column != 0) { return; } - QTableWidgetItem *item = ui->tableWidget->item(row, column); - const quint32 id = item->data(Qt::UserRole).toUInt(); const QHash *allDetails = m_data->DataDetails(); const bool inLayout = not allDetails->value(id).IsInLayout(); diff --git a/src/app/valentina/dialogs/vwidgetdetails.h b/src/app/valentina/dialogs/vwidgetdetails.h index 431cbd0ac..0d2658a65 100644 --- a/src/app/valentina/dialogs/vwidgetdetails.h +++ b/src/app/valentina/dialogs/vwidgetdetails.h @@ -48,6 +48,9 @@ public: explicit VWidgetDetails(VContainer *data, VAbstractPattern *doc, QWidget *parent = nullptr); virtual ~VWidgetDetails(); +signals: + void Highlight(quint32 id); + public slots: void UpdateList(); diff --git a/src/app/valentina/mainwindow.cpp b/src/app/valentina/mainwindow.cpp index 07a7c5add..f302efc57 100644 --- a/src/app/valentina/mainwindow.cpp +++ b/src/app/valentina/mainwindow.cpp @@ -3510,6 +3510,7 @@ void MainWindow::InitDocksContain() detailsWidget = new VWidgetDetails(pattern, doc, this); connect(doc, &VPattern::FullUpdateFromFile, detailsWidget, &VWidgetDetails::UpdateList); + connect(detailsWidget, &VWidgetDetails::Highlight, sceneDetails, &VMainGraphicsScene::HighlightItem); detailsWidget->setVisible(false); } diff --git a/src/libs/qmuparser/qmuparserbase.cpp b/src/libs/qmuparser/qmuparserbase.cpp index 04d87ddb5..6c61fa9b2 100644 --- a/src/libs/qmuparser/qmuparserbase.cpp +++ b/src/libs/qmuparser/qmuparserbase.cpp @@ -757,7 +757,6 @@ void QmuParserBase::ApplyFunc( QStack &a_stOpt, QStack & } token_type funTok = a_stOpt.pop(); - // cppcheck-suppress assertWithSideEffect assert(funTok.GetFuncAddr()); // Binary operators must rely on their internal operator number diff --git a/src/libs/vtools/tools/vtooldetail.cpp b/src/libs/vtools/tools/vtooldetail.cpp index 562bba867..9c4ffa0bc 100644 --- a/src/libs/vtools/tools/vtooldetail.cpp +++ b/src/libs/vtools/tools/vtooldetail.cpp @@ -354,6 +354,7 @@ void VToolDetail::Create(const quint32 &_id, const VDetail &newDetail, VMainGrap connect(detail, &VToolDetail::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem); connect(scene, &VMainGraphicsScene::EnableDetailItemHover, detail, &VToolDetail::AllowHover); connect(scene, &VMainGraphicsScene::EnableDetailItemSelection, detail, &VToolDetail::AllowSelecting); + connect(scene, &VMainGraphicsScene::HighlightDetail, detail, &VToolDetail::Highlight); doc->AddTool(id, detail); } } @@ -1262,3 +1263,9 @@ void VToolDetail::retranslateUi() UpdateLabel(); UpdatePatternInfo(); } + +//--------------------------------------------------------------------------------------------------------------------- +void VToolDetail::Highlight(quint32 id) +{ + setSelected(this->id == id); +} diff --git a/src/libs/vtools/tools/vtooldetail.h b/src/libs/vtools/tools/vtooldetail.h index c6291235c..9252f0727 100644 --- a/src/libs/vtools/tools/vtooldetail.h +++ b/src/libs/vtools/tools/vtooldetail.h @@ -102,6 +102,7 @@ public slots: virtual void ResetChildren(QGraphicsItem* pItem); virtual void UpdateAll(); virtual void retranslateUi(); + void Highlight(quint32 id); protected: virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) Q_DECL_OVERRIDE; diff --git a/src/libs/vtools/visualization/line/operation/vistoolmove.cpp b/src/libs/vtools/visualization/line/operation/vistoolmove.cpp index 15803060b..8554a2ac3 100644 --- a/src/libs/vtools/visualization/line/operation/vistoolmove.cpp +++ b/src/libs/vtools/visualization/line/operation/vistoolmove.cpp @@ -155,7 +155,7 @@ qreal VisToolMove::LengthValue() const //--------------------------------------------------------------------------------------------------------------------- void VisToolMove::SetLength(const QString &expression) { - length = FindVal(expression, Visualization::data->PlainVariables()); + length = FindLength(expression, Visualization::data->PlainVariables()); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/vwidgets/vmaingraphicsscene.cpp b/src/libs/vwidgets/vmaingraphicsscene.cpp index d451afd1d..7f5ddf22c 100644 --- a/src/libs/vwidgets/vmaingraphicsscene.cpp +++ b/src/libs/vwidgets/vmaingraphicsscene.cpp @@ -303,6 +303,12 @@ void VMainGraphicsScene::ItemsSelection(const SelectionType &type) emit ItemSelection(type); } +//--------------------------------------------------------------------------------------------------------------------- +void VMainGraphicsScene::HighlightItem(quint32 id) +{ + emit HighlightDetail(id); +} + //--------------------------------------------------------------------------------------------------------------------- void VMainGraphicsScene::ToggleLabelSelection(bool enabled) { diff --git a/src/libs/vwidgets/vmaingraphicsscene.h b/src/libs/vwidgets/vmaingraphicsscene.h index e9d7c1822..e7db61531 100644 --- a/src/libs/vwidgets/vmaingraphicsscene.h +++ b/src/libs/vwidgets/vmaingraphicsscene.h @@ -75,6 +75,7 @@ public slots: void EnableItemMove(bool move); void EnableDetailsMode(bool mode); void ItemsSelection(const SelectionType &type); + void HighlightItem(quint32 id); void ToggleLabelSelection(bool enabled); void TogglePointSelection(bool enabled); @@ -126,6 +127,7 @@ signals: void EnableToolMove(bool move); void CurveDetailsMode(bool mode); void ItemSelection(const SelectionType &type); + void HighlightDetail(quint32 id); void EnableLabelItemSelection(bool enable); void EnablePointItemSelection(bool enable);