Suppress scene item context menu if a tool was activated.
A context menu is allowed only if the Arrow tool is active. --HG-- branch : release
This commit is contained in:
parent
d354b99149
commit
124fd657e3
|
@ -1917,6 +1917,7 @@ void MainWindow::CancelTool()
|
||||||
// https://bitbucket.org/dismine/valentina/issues/454/crash-using-crtl-z-while-using-line-tool
|
// https://bitbucket.org/dismine/valentina/issues/454/crash-using-crtl-z-while-using-line-tool
|
||||||
undoAction->setEnabled(false);
|
undoAction->setEnabled(false);
|
||||||
redoAction->setEnabled(false);
|
redoAction->setEnabled(false);
|
||||||
|
VInteractiveTool::m_suppressContextMenu = true;
|
||||||
return;
|
return;
|
||||||
case Tool::BasePoint:
|
case Tool::BasePoint:
|
||||||
case Tool::SinglePoint:
|
case Tool::SinglePoint:
|
||||||
|
@ -2082,6 +2083,7 @@ void MainWindow::ArrowTool()
|
||||||
currentTool = Tool::Arrow;
|
currentTool = Tool::Arrow;
|
||||||
emit EnableItemMove(true);
|
emit EnableItemMove(true);
|
||||||
emit ItemsSelection(SelectionType::ByMouseRelease);
|
emit ItemsSelection(SelectionType::ByMouseRelease);
|
||||||
|
VInteractiveTool::m_suppressContextMenu = false;
|
||||||
|
|
||||||
// Only true for rubber band selection
|
// Only true for rubber band selection
|
||||||
emit EnableLabelSelection(true);
|
emit EnableLabelSelection(true);
|
||||||
|
|
|
@ -141,6 +141,11 @@ void VDrawTool::ContextMenu(Tool *tool, QGraphicsSceneContextMenuEvent *event, c
|
||||||
SCASSERT(tool != nullptr)
|
SCASSERT(tool != nullptr)
|
||||||
SCASSERT(event != nullptr)
|
SCASSERT(event != nullptr)
|
||||||
|
|
||||||
|
if (m_suppressContextMenu)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
qCDebug(vTool, "Creating tool context menu.");
|
qCDebug(vTool, "Creating tool context menu.");
|
||||||
QMenu menu;
|
QMenu menu;
|
||||||
QAction *actionOption = menu.addAction(QIcon::fromTheme("preferences-other"), tr("Options"));
|
QAction *actionOption = menu.addAction(QIcon::fromTheme("preferences-other"), tr("Options"));
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
|
|
||||||
#include "vinteractivetool.h"
|
#include "vinteractivetool.h"
|
||||||
|
|
||||||
|
bool VInteractiveTool::m_suppressContextMenu = false;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
VInteractiveTool::VInteractiveTool(VAbstractPattern *doc, VContainer *data, quint32 id, QObject *parent)
|
VInteractiveTool::VInteractiveTool(VAbstractPattern *doc, VContainer *data, quint32 id, QObject *parent)
|
||||||
: VAbstractTool(doc, data, id, parent),
|
: VAbstractTool(doc, data, id, parent),
|
||||||
|
|
|
@ -43,6 +43,8 @@ public:
|
||||||
|
|
||||||
void DialogLinkDestroy();
|
void DialogLinkDestroy();
|
||||||
|
|
||||||
|
static bool m_suppressContextMenu;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void FullUpdateFromGuiOk(int result);
|
void FullUpdateFromGuiOk(int result);
|
||||||
void FullUpdateFromGuiApply();
|
void FullUpdateFromGuiApply();
|
||||||
|
|
|
@ -1061,6 +1061,11 @@ void VToolSeamAllowance::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolSeamAllowance::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
void VToolSeamAllowance::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
{
|
{
|
||||||
|
if (m_suppressContextMenu)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QMenu menu;
|
QMenu menu;
|
||||||
QAction *actionOption = menu.addAction(QIcon::fromTheme("preferences-other"), tr("Options"));
|
QAction *actionOption = menu.addAction(QIcon::fromTheme("preferences-other"), tr("Options"));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user