chg: crtl+c / rmb-copy for line (empty selection) and hyperlinks

This commit is contained in:
METANEOCORTEX\Kotti 2026-03-23 10:06:15 +01:00
parent 8c2bd162dc
commit 67071b2d0a
29 changed files with 40 additions and 5 deletions

View File

@ -556,6 +556,7 @@
#define CMD_ENTER_RETURN 20062
#define CMD_PARAGRAPH_UP 20063
#define CMD_PARAGRAPH_DOWN 20064
#define CMD_COPY_HYPERLINK 20065
#define IDS_MUI_MENU_LANGUAGE 34500
#define IDS_MUI_LANG_EN_US 34501

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Maak Skakel Oop", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Undo", IDM_EDIT_UNDO
MENUITEM "Redo", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Адкрыць гіперспасылку", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Адмена", IDM_EDIT_UNDO
MENUITEM "Паўтор", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Öffne Hyperlink", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Rückgängig", IDM_EDIT_UNDO
MENUITEM "Wiederholen", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Άνοιγμα υπερσύνδεσης", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Αναίρεση", IDM_EDIT_UNDO
MENUITEM "Επανάληψη ενέργειας", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Open Hyperlink", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Undo", IDM_EDIT_UNDO
MENUITEM "Redo", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Open Hyperlink", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Undo", IDM_EDIT_UNDO
MENUITEM "Redo", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Abrir Hyperlink", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Deshacer", IDM_EDIT_UNDO
MENUITEM "Rehacer", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Avaa Hyperlinkki", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Kumoa", IDM_EDIT_UNDO
MENUITEM "Tee uudelleen", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Ouvrir l'hyperlien", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Défaire", IDM_EDIT_UNDO
MENUITEM "Refaire", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "हाईपरलिंक खोलें", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "पूर्ववत करें", IDM_EDIT_UNDO
MENUITEM "फिर से करें", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Hiperhivatkozás megnyitása", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Visszavonás", IDM_EDIT_UNDO
MENUITEM "Újra", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Buka Tautan", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Urungkan", IDM_EDIT_UNDO
MENUITEM "Kembalikan", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Apri hyperlink", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Annulla", IDM_EDIT_UNDO
MENUITEM "Ripristina", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "リンクを開く", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "元に戻す", IDM_EDIT_UNDO
MENUITEM "やり直し", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "하이퍼링크 열기", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "실행 취소", IDM_EDIT_UNDO
MENUITEM "다시 실행", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Hyperlink openen", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Ongedaan maken", IDM_EDIT_UNDO
MENUITEM "Opnieuw uitvoeren", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Otwórz łącze", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Cofnij", IDM_EDIT_UNDO
MENUITEM "Do przodu", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Abrir Hyperlink", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Desfazer", IDM_EDIT_UNDO
MENUITEM "Refazer", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Abrir hiperligação", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Anular", IDM_EDIT_UNDO
MENUITEM "Refazer", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Открыть гиперссылку", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Отмена", IDM_EDIT_UNDO
MENUITEM "Повтор", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Otvoriť Hyperlink", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Späť", IDM_EDIT_UNDO
MENUITEM "Znova", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Öppna hyperlänk", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Ångra", IDM_EDIT_UNDO
MENUITEM "Gör om", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Bağlantıyı aç", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Geri al", IDM_EDIT_UNDO
MENUITEM "Yinele", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "Mở liên kết", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "Hoàn tác", IDM_EDIT_UNDO
MENUITEM "Làm lại", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "打开超链接", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "撤销", IDM_EDIT_UNDO
MENUITEM "重做", IDM_EDIT_REDO

View File

@ -560,6 +560,7 @@ BEGIN
POPUP "+"
BEGIN
MENUITEM "打開超連結", CMD_OPEN_HYPERLINK
MENUITEM "Copy Hyperlink URL", CMD_COPY_HYPERLINK
MENUITEM SEPARATOR
MENUITEM "復原", IDM_EDIT_UNDO
MENUITEM "取消復原", IDM_EDIT_REDO

View File

@ -1949,11 +1949,15 @@ ptrdiff_t MultiByteToWideCharEx(
//
// UrlEscapeEx()
//
void UrlEscapeEx(LPCWSTR lpURL, LPWSTR lpEscaped, DWORD* pcchEscaped, bool bEscReserved)
{
UNREFERENCED_PARAMETER(bEscReserved);
UrlEscape(lpURL, lpEscaped, pcchEscaped, (URL_ESCAPE_SEGMENT_ONLY | URL_ESCAPE_URI_COMPONENT));
if (bEscReserved) {
// full component encoding (like encodeURIComponent) — for EditURLEncode
UrlEscape(lpURL, lpEscaped, pcchEscaped, (URL_ESCAPE_SEGMENT_ONLY | URL_ESCAPE_URI_COMPONENT));
} else {
// preserve URL structure, encode unsafe chars + non-ASCII as UTF-8, leave query/fragment as-is
UrlEscape(lpURL, lpEscaped, pcchEscaped, (URL_BROWSER_MODE | URL_ESCAPE_AS_UTF8));
}
}

View File

@ -4678,6 +4678,7 @@ LRESULT MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam)
bool const bIsHLink = (SciCall_IndicatorValueAt(INDIC_NP3_HYPERLINK, iCurPos) > 0);
EnableCmd(hmenu, CMD_OPEN_HYPERLINK, !mrs && bIsHLink);
EnableCmd(hmenu, CMD_COPY_HYPERLINK, !mrs && bIsHLink);
EnableCmd(hmenu, CMD_WEBACTION1, !se && !mrs && bPosInSel && !bIsHLink);
EnableCmd(hmenu, CMD_WEBACTION2, !se && !mrs && bPosInSel && !bIsHLink);
@ -5248,8 +5249,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
s_bLastCopyFromMe = true;
}
if (SciCall_IsSelectionEmpty()) {
if (!HandleHotSpotURLClicked(SciCall_GetCurrentPos(), COPY_HYPERLINK) &&
!Settings2.NoCopyLineOnEmptySelection) {
if (!Settings2.NoCopyLineOnEmptySelection) {
if (Sci_GetNetLineLength(Sci_GetCurrentLineNumber()) > 0) {
SciCall_CopyAllowLine(); // (!) VisualStudio behavior
// On Windows, an extra "MSDEVLineSelect" marker is added to the clipboard
@ -7398,6 +7398,10 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
HandleHotSpotURLClicked(SciCall_GetCurrentPos(), (OPEN_WITH_BROWSER | OPEN_IN_NOTEPAD3));
break;
case CMD_COPY_HYPERLINK:
HandleHotSpotURLClicked(SciCall_GetCurrentPos(), COPY_HYPERLINK);
break;
case CMD_FOLDJUMPDOWN:
EditFoldCmdKey(DOWN, SNIFF);
break;