From dfdd887d8cf78c8fc1036ab74179f3718a9d3a40 Mon Sep 17 00:00:00 2001 From: "METANEOCORTEX\\Kotti" Date: Wed, 15 Mar 2023 10:22:53 +0100 Subject: [PATCH] +fix: enhancement Shift+Alt+LClick on Hyperlink should not fire HL action --- src/Notepad3.c | 4 ++-- src/SciCall.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Notepad3.c b/src/Notepad3.c index e419db5fc..b2bf26c4a 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -8797,8 +8797,8 @@ static LRESULT _MsgNotifyFromEdit(HWND hwnd, const SCNotification* const scn) case SCN_INDICATORRELEASE: { if (SciCall_IndicatorValueAt(INDIC_NP3_HYPERLINK, scn->position) > 0) { - bool const bIsSel = Sci_IsMultiOrRectangleSelection() || !SciCall_IsSelectionEmpty(); - if ((_s_indic_click_modifiers & SCMOD_ALT) && !bIsSel) + bool const bIsNoSel = Sci_IsSingleSelection() && SciCall_IsSelectionEmpty(); + if ((_s_indic_click_modifiers & SCMOD_ALT) && bIsNoSel) { if (_s_indic_click_modifiers & SCMOD_CTRL) { HandleHotSpotURLClicked(scn->position, OPEN_NEW_NOTEPAD3); diff --git a/src/SciCall.h b/src/SciCall.h index 78df812ee..da6358822 100644 --- a/src/SciCall.h +++ b/src/SciCall.h @@ -759,6 +759,7 @@ DeclareSciCallR0(IsSelectionRectangle, SELECTIONISRECTANGLE, bool); #define Sci_IsThinSelection() (SciCall_GetSelectionMode() == SC_SEL_THIN) #define Sci_IsStreamSelection() (SciCall_GetSelectionMode() == SC_SEL_STREAM) +#define Sci_IsSingleSelection() (SciCall_GetSelections() == 1) #define Sci_IsMultiSelection() ((SciCall_GetSelections() > 1) && !SciCall_IsSelectionRectangle()) #define Sci_IsMultiOrRectangleSelection() ((SciCall_GetSelections() > 1) || SciCall_IsSelectionRectangle())