From 0cad68198d5c701a65cfb2766730dce0b27d9ff3 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Thu, 18 Mar 2021 19:54:45 -0400 Subject: [PATCH] 2021-03-18 Fred Gleason * Fixed bugs with enabling correct choices in the right-click menu in 'RDMarkerView'. Signed-off-by: Fred Gleason --- ChangeLog | 3 +++ lib/rdmarkerview.cpp | 16 +++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index afc5d60b..796056b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21279,3 +21279,6 @@ 2021-03-18 Fred Gleason * Fixed bugs with ensuring consistent position interlocks between markers in 'RDMarkerView'. +2021-03-18 Fred Gleason + * Fixed bugs with enabling correct choices in the right-click menu + in 'RDMarkerView'. diff --git a/lib/rdmarkerview.cpp b/lib/rdmarkerview.cpp index 95d0f464..7d544d2f 100644 --- a/lib/rdmarkerview.cpp +++ b/lib/rdmarkerview.cpp @@ -392,6 +392,8 @@ bool RDMarkerView::hasUnsavedChanges() const void RDMarkerView::processRightClick(RDMarkerHandle::PointerRole role, const QPointF &pos) { + d_deleting_roles.clear(); + d_deleting_roles.push_back(role); if((role==RDMarkerHandle::SegueStart)|| (role==RDMarkerHandle::TalkStart)|| @@ -515,21 +517,23 @@ void RDMarkerView::clear() void RDMarkerView::updateMenuData() { bool can_add= + (d_deleting_roles.size()==0)&& (Msec(d_mouse_pos)>=d_pointers[RDMarkerHandle::CutStart])&& (Msec(d_mouse_pos)setEnabled(can_delete); d_add_fadedown_action-> - setEnabled(can_add&&(d_pointers[RDMarkerHandle::FadeDown]<0)); + setEnabled(can_add&&(d_pointers[RDMarkerHandle::FadeDown]<0)&& + ((d_pointers[RDMarkerHandle::FadeUp]<0)|| + (d_pointers[RDMarkerHandle::FadeUp] - setEnabled(can_add&&(d_pointers[RDMarkerHandle::FadeUp]<0)); + setEnabled(can_add&&(d_pointers[RDMarkerHandle::FadeUp]<0)&& + ((d_pointers[RDMarkerHandle::FadeDown]<0)|| + (d_pointers[RDMarkerHandle::FadeDown]>Msec(d_mouse_pos)))); d_add_hook_action-> setEnabled(can_add&&(d_pointers[RDMarkerHandle::HookStart]<0)); d_add_segue_action-> @@ -760,6 +764,8 @@ void RDMarkerView::mousePressEvent(QMouseEvent *e) d_marker_menu_used=false; return; } + d_deleting_roles.clear(); + d_main_menu->setGeometry(e->globalX(),e->globalY(), d_main_menu->sizeHint().width(), d_main_menu->sizeHint().height());