From d728c8097f779d1993e886579565e109c4e692c5 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Tue, 1 Oct 2024 13:36:35 +0200 Subject: [PATCH] Add special handling of link in move handler Modify text decoration and use different cursor --- modules/draw/more.mjs | 2 +- modules/gui/utils.mjs | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/draw/more.mjs b/modules/draw/more.mjs index a3a6bc014..fc8c90ebc 100644 --- a/modules/draw/more.mjs +++ b/modules/draw/more.mjs @@ -95,7 +95,7 @@ async function drawText() { } if (annot !== '3d') - addMoveHandler(this); + addMoveHandler(this, true, is_url); else { fp.processRender3D = true; this.handleRender3D = () => { diff --git a/modules/gui/utils.mjs b/modules/gui/utils.mjs index 338fbfbec..2997bce82 100644 --- a/modules/gui/utils.mjs +++ b/modules/gui/utils.mjs @@ -316,7 +316,7 @@ function detectRightButton(event) { /** @summary Add move handlers for drawn element * @private */ -function addMoveHandler(painter, enabled = true) { +function addMoveHandler(painter, enabled = true, hover_handler = false) { if (!settings.MoveResize || painter.isBatchMode() || !painter.draw_g) return; if (painter.getPadPainter()?.isEditable() === false) @@ -374,9 +374,13 @@ function addMoveHandler(painter, enabled = true) { }.bind(painter)); painter.draw_g - .style('cursor', 'move') + .style('cursor', hover_handler ? 'pointer' : 'move') .property('assigned_move', true) .call(drag_move); + + if (hover_handler) + painter.draw_g.on('mouseenter', () => painter.draw_g.style('text-decoration', 'underline')) + .on('mouseleave', () => painter.draw_g.style('text-decoration', null)); } /** @summary Inject style