diff --git a/Versions/build.txt b/Versions/build.txt
index 368a8e0c3..64514165b 100644
--- a/Versions/build.txt
+++ b/Versions/build.txt
@@ -1 +1 @@
-2609
+2610
diff --git a/language/np3_af_za/dialogs_af_za.rc b/language/np3_af_za/dialogs_af_za.rc
index 0bec1fb71..1008ab110 100644
--- a/language/np3_af_za/dialogs_af_za.rc
+++ b/language/np3_af_za/dialogs_af_za.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Sluitings tag (can be edited):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Kanselleer",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_be_by/dialogs_be_by.rc b/language/np3_be_by/dialogs_be_by.rc
index 98f0986b9..1ed4338fc 100644
--- a/language/np3_be_by/dialogs_be_by.rc
+++ b/language/np3_be_by/dialogs_be_by.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,126,14,ES_AUTOHSCROLL
LTEXT "& ( ):",IDC_STATIC,7,37,134,8
EDITTEXT 101,7,48,126,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,153,7,50,14
PUSHBUTTON "",IDCANCEL,153,24,50,14
END
diff --git a/language/np3_de_de/dialogs_de_de.rc b/language/np3_de_de/dialogs_de_de.rc
index 5b5d8ecb8..b11438214 100644
--- a/language/np3_de_de/dialogs_de_de.rc
+++ b/language/np3_de_de/dialogs_de_de.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Schlieender Tag (vernderbar):",IDC_STATIC,7,37,100,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Wdh.",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Abbrechen",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_en_gb/dialogs_en_gb.rc b/language/np3_en_gb/dialogs_en_gb.rc
index baaee8bc7..1cb845055 100644
--- a/language/np3_en_gb/dialogs_en_gb.rc
+++ b/language/np3_en_gb/dialogs_en_gb.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Closing tag (can be edited):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_en_us/dialogs_en_us.rc b/language/np3_en_us/dialogs_en_us.rc
index da5119c40..580aff0a1 100644
--- a/language/np3_en_us/dialogs_en_us.rc
+++ b/language/np3_en_us/dialogs_en_us.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Closing tag (can be edited):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_es_es/dialogs_es_es.rc b/language/np3_es_es/dialogs_es_es.rc
index 0dcdee522..ac3d0a428 100644
--- a/language/np3_es_es/dialogs_es_es.rc
+++ b/language/np3_es_es/dialogs_es_es.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Cierre tag (puede ser editado):",IDC_STATIC,7,37,120,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Cancelar",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_fr_fr/dialogs_fr_fr.rc b/language/np3_fr_fr/dialogs_fr_fr.rc
index 4a91ce3ec..55f9ec557 100644
--- a/language/np3_fr_fr/dialogs_fr_fr.rc
+++ b/language/np3_fr_fr/dialogs_fr_fr.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Fermeture tag (peut tre dit):",IDC_STATIC,7,37,105,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Annuler",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_hu_hu/dialogs_hu_hu.rc b/language/np3_hu_hu/dialogs_hu_hu.rc
index 550c09538..453f1db05 100644
--- a/language/np3_hu_hu/dialogs_hu_hu.rc
+++ b/language/np3_hu_hu/dialogs_hu_hu.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Zr elem (szerkeszthet):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Mgsem",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_it_it/dialogs_it_it.rc b/language/np3_it_it/dialogs_it_it.rc
index 1680e61b2..35d8ea075 100644
--- a/language/np3_it_it/dialogs_it_it.rc
+++ b/language/np3_it_it/dialogs_it_it.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "Tag di &chiusura (pu essere modificato):",IDC_STATIC,7,37,125,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,128,7,50,14
PUSHBUTTON "Annulla",IDCANCEL,128,24,50,14
END
diff --git a/language/np3_ja_jp/dialogs_ja_jp.rc b/language/np3_ja_jp/dialogs_ja_jp.rc
index 90424fd1d..94789bbf0 100644
--- a/language/np3_ja_jp/dialogs_ja_jp.rc
+++ b/language/np3_ja_jp/dialogs_ja_jp.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "^O(ҏW)(&C):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "LZ",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_ko_kr/dialogs_ko_kr.rc b/language/np3_ko_kr/dialogs_ko_kr.rc
index 60a492dea..50534d19e 100644
--- a/language/np3_ko_kr/dialogs_ko_kr.rc
+++ b/language/np3_ko_kr/dialogs_ko_kr.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "ݴ ±( )(&C):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "Ȯ",IDOK,125,7,50,14
PUSHBUTTON "",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_nl_nl/dialogs_nl_nl.rc b/language/np3_nl_nl/dialogs_nl_nl.rc
index 287f81a78..64fea45c1 100644
--- a/language/np3_nl_nl/dialogs_nl_nl.rc
+++ b/language/np3_nl_nl/dialogs_nl_nl.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Tag sluiten (kan worden bewerkt):",IDC_STATIC,7,37,125,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Annuleren",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_pl_pl/dialogs_pl_pl.rc b/language/np3_pl_pl/dialogs_pl_pl.rc
index c962d43c5..f3c25492b 100644
--- a/language/np3_pl_pl/dialogs_pl_pl.rc
+++ b/language/np3_pl_pl/dialogs_pl_pl.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Zamykanie znacznika (moliwo edycji):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Anuluj",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_pt_br/dialogs_pt_br.rc b/language/np3_pt_br/dialogs_pt_br.rc
index 0afebbeed..bdef77409 100644
--- a/language/np3_pt_br/dialogs_pt_br.rc
+++ b/language/np3_pt_br/dialogs_pt_br.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Fechando tag (pode ser editada):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_ru_ru/dialogs_ru_ru.rc b/language/np3_ru_ru/dialogs_ru_ru.rc
index fc045b972..69b977366 100644
--- a/language/np3_ru_ru/dialogs_ru_ru.rc
+++ b/language/np3_ru_ru/dialogs_ru_ru.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,126,14,ES_AUTOHSCROLL
LTEXT "& ():",IDC_STATIC,7,37,128,8
EDITTEXT 101,7,48,126,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,153,7,50,14
PUSHBUTTON "",IDCANCEL,153,24,50,14
END
diff --git a/language/np3_sk_sk/dialogs_sk_sk.rc b/language/np3_sk_sk/dialogs_sk_sk.rc
index 476160bab..49aefc55a 100644
--- a/language/np3_sk_sk/dialogs_sk_sk.rc
+++ b/language/np3_sk_sk/dialogs_sk_sk.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Closing tag (can be edited):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_sv_se/dialogs_sv_se.rc b/language/np3_sv_se/dialogs_sv_se.rc
index 9db1fe8bc..82052055a 100644
--- a/language/np3_sv_se/dialogs_sv_se.rc
+++ b/language/np3_sv_se/dialogs_sv_se.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Closing tag (can be edited):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_tr_tr/dialogs_tr_tr.rc b/language/np3_tr_tr/dialogs_tr_tr.rc
index 153d4852b..c422d7568 100644
--- a/language/np3_tr_tr/dialogs_tr_tr.rc
+++ b/language/np3_tr_tr/dialogs_tr_tr.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "&Closing tag (can be edited):",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "OK",IDOK,125,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,125,24,50,14
END
diff --git a/language/np3_zh_cn/dialogs_zh_cn.rc b/language/np3_zh_cn/dialogs_zh_cn.rc
index 64fdfc826..2ed1125fd 100644
--- a/language/np3_zh_cn/dialogs_zh_cn.rc
+++ b/language/np3_zh_cn/dialogs_zh_cn.rc
@@ -537,6 +537,8 @@ BEGIN
EDITTEXT 100,7,18,98,14,ES_AUTOHSCROLL
LTEXT "رձ(&C)",IDC_STATIC,7,37,90,8
EDITTEXT 101,7,48,98,14,ES_AUTOHSCROLL
+ EDITTEXT 102,125,48,20,14,ES_AUTOHSCROLL
+ LTEXT "X Times",IDC_STATIC,148,50,24,8
DEFPUSHBUTTON "ȷ",IDOK,125,7,50,14
PUSHBUTTON "ȡ",IDCANCEL,125,24,50,14
END
diff --git a/res/Notepad3.exe.manifest.conf b/res/Notepad3.exe.manifest.conf
index 36e50aaa5..be1bb1fed 100644
--- a/res/Notepad3.exe.manifest.conf
+++ b/res/Notepad3.exe.manifest.conf
@@ -3,7 +3,7 @@
Notepad3 BETA
diff --git a/src/Dialogs.c b/src/Dialogs.c
index bc7476537..4557dd63f 100644
--- a/src/Dialogs.c
+++ b/src/Dialogs.c
@@ -2343,10 +2343,8 @@ static INT_PTR CALLBACK LongLineSettingsDlgProc(HWND hwnd, UINT umsg, WPARAM wPa
UINT* piNumber = (UINT*)GetWindowLongPtr(hwnd, DWLP_USER);
*piNumber = iNewNumber;
Settings.LongLineMode = IsButtonChecked(hwnd, 101) ? EDGE_LINE : EDGE_BACKGROUND;
-
EndDialog(hwnd, IDOK);
}
-
else {
PostMessage(hwnd, WM_NEXTDLGCTL, (WPARAM)(GetDlgItem(hwnd, 100)), 1);
}
diff --git a/src/Edit.c b/src/Edit.c
index edb85e559..6ef0fb462 100644
--- a/src/Edit.c
+++ b/src/Edit.c
@@ -7769,28 +7769,37 @@ bool EditEncloseSelectionDlg(HWND hwnd,LPWSTR pwszOpen,LPWSTR pwszClose)
//
// Controls: 100 Input
// 101 Input
+// 102 Times
//
typedef struct _tagsdata {
LPWSTR pwsz1;
LPWSTR pwsz2;
+ UINT repeat;
} TAGSDATA, *PTAGSDATA;
static INT_PTR CALLBACK EditInsertTagDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
{
static PTAGSDATA pdata;
+ static WCHAR wchOpenTagStrg[256] = { L'\0' };
+ static WCHAR wchCloseTagStrg[256] = { L'\0' };
+
switch(umsg)
{
case WM_INITDIALOG:
{
pdata = (PTAGSDATA)lParam;
if (Globals.hDlgIcon) { SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)Globals.hDlgIcon); }
- SendDlgItemMessage(hwnd,100,EM_LIMITTEXT,254,0);
- SetDlgItemTextW(hwnd,100,L"");
- SendDlgItemMessage(hwnd,101,EM_LIMITTEXT,255,0);
- SetDlgItemTextW(hwnd,101,L"");
+ if (!wchOpenTagStrg[0]) { StringCchCopy(wchOpenTagStrg, COUNTOF(wchOpenTagStrg), L""); }
+ if (!wchCloseTagStrg[0]) { StringCchCopy(wchCloseTagStrg, COUNTOF(wchCloseTagStrg), L""); }
+ SendDlgItemMessage(hwnd,100,EM_LIMITTEXT, COUNTOF(wchOpenTagStrg)-1,0);
+ SetDlgItemTextW(hwnd,100, wchOpenTagStrg);
+ SendDlgItemMessage(hwnd,101,EM_LIMITTEXT, COUNTOF(wchCloseTagStrg)-1,0);
+ SetDlgItemTextW(hwnd,101, wchCloseTagStrg);
+ pdata->repeat = 1;
+ SetDlgItemInt(hwnd, 102, pdata->repeat, FALSE);
SetFocus(GetDlgItem(hwnd,100));
- PostMessage(GetDlgItem(hwnd,100),EM_SETSEL,1,4);
+ PostMessage(GetDlgItem(hwnd,100),EM_SETSEL,1,(int)(StringCchLen(wchOpenTagStrg,0)-1));
CenterDlgInParent(hwnd);
}
return false;
@@ -7806,15 +7815,15 @@ static INT_PTR CALLBACK EditInsertTagDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,L
if (HIWORD(wParam) == EN_CHANGE)
{
bool bClear = true;
- WCHAR wchBuf[256] = { L'\0' };
- GetDlgItemTextW(hwnd,100,wchBuf,256);
- if (StringCchLenW(wchBuf,COUNTOF(wchBuf)) >= 3) {
+ GetDlgItemTextW(hwnd,100,wchOpenTagStrg, COUNTOF(wchOpenTagStrg));
+ if (StringCchLenW(wchOpenTagStrg,COUNTOF(wchOpenTagStrg)) >= 3) {
- if (wchBuf[0] == L'<')
+ if (wchOpenTagStrg[0] == L'<')
{
- WCHAR wchIns[256] = L"";
+ WCHAR wchIns[COUNTOF(wchCloseTagStrg)] = { L'\0' };
+ StringCchCopy(wchIns, COUNTOF(wchIns), L"");
int cchIns = 2;
- const WCHAR* pwCur = &wchBuf[1];
+ const WCHAR* pwCur = &wchOpenTagStrg[1];
while (
*pwCur &&
*pwCur != L'<' &&
@@ -7823,13 +7832,9 @@ static INT_PTR CALLBACK EditInsertTagDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,L
*pwCur != L'\t' &&
(StrChr(L":_-.",*pwCur) || IsCharAlphaNumericW(*pwCur)))
- wchIns[cchIns++] = *pwCur++;
+ wchIns[cchIns++] = *pwCur++;
- while (
- *pwCur &&
- *pwCur != L'>')
-
- pwCur++;
+ while (*pwCur && *pwCur != L'>') { pwCur++; }
if (*pwCur == L'>' && *(pwCur-1) != L'/') {
wchIns[cchIns++] = L'>';
@@ -7844,22 +7849,30 @@ static INT_PTR CALLBACK EditInsertTagDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,L
StringCchCompareXI(wchIns,L"") &&
StringCchCompareXI(wchIns,L"") &&
StringCchCompareXI(wchIns,L"") &&
- StringCchCompareXI(wchIns,L"")) {
-
- SetDlgItemTextW(hwnd,101,wchIns);
+ StringCchCompareXI(wchIns,L""))
+ {
+ SetDlgItemTextW(hwnd,101, wchIns);
bClear = false;
}
}
}
}
- if (bClear)
- SetDlgItemTextW(hwnd,101,L"");
+ if (bClear) {
+ SetDlgItemTextW(hwnd, 101, L"");
+ }
}
}
break;
case IDOK: {
- GetDlgItemTextW(hwnd,100,pdata->pwsz1,256);
- GetDlgItemTextW(hwnd,101,pdata->pwsz2,256);
+ GetDlgItemTextW(hwnd, 100, wchOpenTagStrg, COUNTOF(wchOpenTagStrg));
+ GetDlgItemTextW(hwnd, 101, wchCloseTagStrg, COUNTOF(wchCloseTagStrg));
+ StringCchCopy(pdata->pwsz1, 256, wchOpenTagStrg);
+ StringCchCopy(pdata->pwsz2, 256, wchCloseTagStrg);
+ BOOL fTranslated = FALSE;
+ UINT const iTimes = GetDlgItemInt(hwnd, 102, &fTranslated, FALSE);
+ if (fTranslated) {
+ pdata->repeat = clampu(iTimes, 1, UINT_MAX);
+ }
EndDialog(hwnd,IDOK);
}
break;
@@ -7877,12 +7890,12 @@ static INT_PTR CALLBACK EditInsertTagDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,L
//
// EditInsertTagDlg()
//
-bool EditInsertTagDlg(HWND hwnd,LPWSTR pwszOpen,LPWSTR pwszClose)
+bool EditInsertTagDlg(HWND hwnd,LPWSTR pwszOpen,LPWSTR pwszClose, UINT* pRepeat)
{
INT_PTR iResult;
TAGSDATA data;
- data.pwsz1 = pwszOpen; data.pwsz2 = pwszClose;
+ data.pwsz1 = pwszOpen; data.pwsz2 = pwszClose; data.repeat = 1;
iResult = ThemedDialogBoxParam(
Globals.hLngResContainer,
@@ -7891,8 +7904,11 @@ bool EditInsertTagDlg(HWND hwnd,LPWSTR pwszOpen,LPWSTR pwszClose)
EditInsertTagDlgProc,
(LPARAM)&data);
- return (iResult == IDOK) ? true : false;
-
+ if (iResult == IDOK) {
+ *pRepeat = data.repeat;
+ return true;
+ }
+ return false;
}
diff --git a/src/Edit.h b/src/Edit.h
index dff89681d..ef126ab08 100644
--- a/src/Edit.h
+++ b/src/Edit.h
@@ -95,7 +95,7 @@ bool EditReplaceAllInSelection(HWND hwnd,LPCEDITFINDREPLACE lpefr,bool);
bool EditLinenumDlg(HWND hwnd);
bool EditModifyLinesDlg(HWND hwnd,LPWSTR pwsz1,LPWSTR pwsz2);
bool EditEncloseSelectionDlg(HWND hwnd,LPWSTR pwszOpen,LPWSTR pwszClose);
-bool EditInsertTagDlg(HWND hwnd,LPWSTR pwszOpen,LPWSTR pwszClose);
+bool EditInsertTagDlg(HWND hwnd,LPWSTR pwszOpen,LPWSTR pwszClose,UINT* pRepeat);
bool EditSortDlg(HWND hwnd,int* piSortFlags);
bool EditAlignDlg(HWND hwnd,int* piAlignMode);
bool EditPrint(HWND,LPCWSTR,LPCWSTR);
diff --git a/src/Notepad3.c b/src/Notepad3.c
index dd7a81580..4d189543e 100644
--- a/src/Notepad3.c
+++ b/src/Notepad3.c
@@ -4332,8 +4332,12 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
{
WCHAR wszOpen[256] = { L'\0' };
WCHAR wszClose[256] = { L'\0' };
- if (EditInsertTagDlg(hwnd, wszOpen, wszClose)) {
- EditEncloseSelection(Globals.hwndEdit, wszOpen, wszClose);
+ UINT repeat = 1;
+ if (EditInsertTagDlg(hwnd, wszOpen, wszClose, &repeat)) {
+ while (repeat > 0) {
+ EditEncloseSelection(Globals.hwndEdit, wszOpen, wszClose);
+ --repeat;
+ }
}
}
break;
diff --git a/src/VersionEx.h b/src/VersionEx.h
index 636e686df..047d469a4 100644
--- a/src/VersionEx.h
+++ b/src/VersionEx.h
@@ -8,7 +8,7 @@
#define VERSION_MAJOR 5
#define VERSION_MINOR 19
#define VERSION_REV 830
-#define VERSION_BUILD 2609
+#define VERSION_BUILD 2610
#define SCINTILLA_VER 420
#define ONIGURUMA_REGEX_VER 6.9.3
#define UCHARDET_VER 2018.09.27