From 585618e3fcb0d4403ee66665a70f03c80a59744e Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Tue, 11 Oct 2016 17:10:28 +0300 Subject: [PATCH 1/3] Cppcheck warnings. --HG-- branch : develop --- src/libs/qmuparser/qmuparserbase.cpp | 1 - 1 file changed, 1 deletion(-) 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 From 0817264a84521cb3a8582c46e32f43bfa88aa35e Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Wed, 12 Oct 2016 14:43:08 +0300 Subject: [PATCH 2/3] New feature. Valentina will highlight a detail selected in the Group list. --HG-- branch : develop --- src/app/valentina/dialogs/vwidgetdetails.cpp | 6 ++++-- src/app/valentina/dialogs/vwidgetdetails.h | 3 +++ src/app/valentina/mainwindow.cpp | 1 + src/libs/vtools/tools/vtooldetail.cpp | 7 +++++++ src/libs/vtools/tools/vtooldetail.h | 1 + src/libs/vwidgets/vmaingraphicsscene.cpp | 6 ++++++ src/libs/vwidgets/vmaingraphicsscene.h | 2 ++ 7 files changed, 24 insertions(+), 2 deletions(-) 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/vtools/tools/vtooldetail.cpp b/src/libs/vtools/tools/vtooldetail.cpp index ab2a4897b..cf0d90d33 100644 --- a/src/libs/vtools/tools/vtooldetail.cpp +++ b/src/libs/vtools/tools/vtooldetail.cpp @@ -348,6 +348,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); } } @@ -1150,3 +1151,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 b2b19e5ed..215e605b4 100644 --- a/src/libs/vtools/tools/vtooldetail.h +++ b/src/libs/vtools/tools/vtooldetail.h @@ -101,6 +101,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/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); From 87209bc8501a09fad25689daa982cf8cdfa51737 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Wed, 12 Oct 2016 16:36:58 +0300 Subject: [PATCH 3/3] Fixed broken visuzlization for tool Move. --HG-- branch : develop --- src/libs/vtools/visualization/line/operation/vistoolmove.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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()); } //---------------------------------------------------------------------------------------------------------------------