From 5d0241ad433fd5f8f26a5982e5bf96a573014c60 Mon Sep 17 00:00:00 2001 From: "G.K.MacGregor" Date: Wed, 24 Apr 2024 17:57:01 +0100 Subject: [PATCH] Implement right-click to change triplet mode --- x26dockwidget.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/x26dockwidget.cpp b/x26dockwidget.cpp index b6a42ee..d7454b4 100644 --- a/x26dockwidget.cpp +++ b/x26dockwidget.cpp @@ -1049,17 +1049,27 @@ void X26DockWidget::deleteTriplet() void X26DockWidget::customMenuRequested(QPoint pos) { + QMenu *customMenu; + QModelIndex index = m_x26View->indexAt(pos); - QMenu *menu = new QMenu(this); + if (index.isValid() && index.column() == 2) { + customMenu = new TripletModeQMenu(this); + + for (int m=0; m<64; m++) + connect(static_cast(customMenu)->action(m), &QAction::triggered, [=]() { cookedModeMenuSelected(m); }); + + customMenu->addSeparator(); + } else + customMenu = new QMenu(this); QAction *insertAct = new QAction("Insert triplet copy", this); - menu->addAction(insertAct); + customMenu->addAction(insertAct); connect(insertAct, &QAction::triggered, this, &X26DockWidget::insertTripletCopy); if (index.isValid()) { QAction *deleteAct = new QAction("Delete triplet", this); - menu->addAction(deleteAct); + customMenu->addAction(deleteAct); connect(deleteAct, &QAction::triggered, this, &X26DockWidget::deleteTriplet); } - menu->popup(m_x26View->viewport()->mapToGlobal(pos)); + customMenu->popup(m_x26View->viewport()->mapToGlobal(pos)); }