From 4dfff74dd235e87ba498311d9d35e8e23607b575 Mon Sep 17 00:00:00 2001 From: Neil Horne Date: Tue, 5 Apr 2022 15:04:31 +1000 Subject: [PATCH] feat: cpn - Add context menu to curves tab images (#1803) --- companion/src/modeledit/curves.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/companion/src/modeledit/curves.cpp b/companion/src/modeledit/curves.cpp index 2ffa36bd6..bfa605ae3 100644 --- a/companion/src/modeledit/curves.cpp +++ b/companion/src/modeledit/curves.cpp @@ -34,7 +34,7 @@ CurvesPanel::CurvesPanel(QWidget * parent, ModelData & model, GeneralSettings & QStringList headerLabels; headerLabels << "#"; - headerLabels << tr("Plot") << tr("Details"); + headerLabels << tr("Plot") << tr("Details") << tr("Note: to create a curve right click on the curve row label"); TableLayout *tableLayout = new TableLayout(this, maxCurves, headerLabels); @@ -56,6 +56,9 @@ CurvesPanel::CurvesPanel(QWidget * parent, ModelData & model, GeneralSettings & image[i]->setGrid(Qt::gray, 2); image[i]->setProperty("index", i); image[i]->setFixedSize(QSize(100, 100)); + image[i]->setContextMenuPolicy(Qt::CustomContextMenu); + image[i]->setToolTip(tr("Popup menu available")); + connect(image[i], SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onCustomContextMenuRequested(QPoint))); connect(image[i], &CurveImageWidget::doubleClicked, this, &CurvesPanel::on_curveImageDoubleClicked); tableLayout->addWidget(i, col++, image[i]); @@ -157,9 +160,9 @@ void CurvesPanel::on_curveImageDoubleClicked() void CurvesPanel::onCustomContextMenuRequested(QPoint pos) { - QPushButton *button = (QPushButton *)sender(); - selectedIndex = button->property("index").toInt(); - QPoint globalPos = button->mapToGlobal(pos); + QWidget *wgt = (QWidget *)sender(); + selectedIndex = wgt->property("index").toInt(); + QPoint globalPos = wgt->mapToGlobal(pos); QMenu contextMenu; contextMenu.addAction(CompanionIcon("new.png"), tr("Add"), this, SLOT(cmEdit()))->setEnabled(!curveExists());