Merge pull request #5608 from RaiKoHoff/Dev_Master

chg: add case conversions on rmb context menu
This commit is contained in:
Rainer Kottenhoff 2026-03-23 18:03:32 +01:00 committed by GitHub
commit 261237e1b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
29 changed files with 513 additions and 124 deletions

View File

@ -557,6 +557,11 @@
#define CMD_PARAGRAPH_UP 20063
#define CMD_PARAGRAPH_DOWN 20064
#define CMD_COPY_HYPERLINK 20065
#define CMD_CTX_UPPERCASE 20066
#define CMD_CTX_LOWERCASE 20067
#define CMD_CTX_INVERTCASE 20068
#define CMD_CTX_TITLECASE 20069
#define CMD_CTX_SENTENCECASE 20070
#define IDS_MUI_MENU_LANGUAGE 34500
#define IDS_MUI_LANG_EN_US 34501

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Kies Alles", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Wissel Huidige Vou", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Web Sjabloon 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Вылучыць усё", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Згарнуць/разгарнуць блок", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Адкрыць вэб-дзеянне 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Alle Auswählen", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Aktuelle Falte umschalten", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Öffne Web-Aktion 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Επιλογή όλων", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Εναλλαγή τρέχουσας δίπλωσης", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Άνοιγμα ενέργειας Web 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Select All", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Toggle Current Fold", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Open Web Action 1", CMD_WEBACTION1

View File

@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Select All", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM SEPARATOR
MENUITEM "Toggle Current Fold", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Open Web Action 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Seleccionar todo", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Alternar el pliegue actual", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Abrir Web Acción 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Valitse kaikki", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Vaihda nykyinen laskos", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Avaa verkkotoiminto 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "&Sélectionner tout", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Commuter le pli actuel", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Ouvrir Action Web &1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "सारा चुनें", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "चालू फोल्ड टॉगल करें", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "वेब प्रक्रिया 1 खोलें", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Mind kjelölése", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Aktuális becsukás váltása", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Webes művelet 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Pilih Semua", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Alihkan Lipatan", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Buka Aksi Web 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Seleziona tutto", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Espandi/riduci raggruppamento", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Apri azione web 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "すべて選択", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "ここの折りたたみを切替", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "ウェブ1で開く", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "모두 선택", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "현재 접기 전환", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "웹 작업 1 열기", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Alles selecteren", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Huidige in/uitklappen wisselen", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Websjabloon 1 openen", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Zaznacz wszystko", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Przełącz Current Fold", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Otwórz Web Action 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Selecionar Tudo", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Tocar Dobra Atual", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Abrir Ação Web 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Seleccionar tudo", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Alternar dobragem actual", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Abrir acção Web 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Выделить всё", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Свернуть/развернуть блок", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Открыть веб-действие 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Vybrať všetko", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Prepnúť aktuálny uzol", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Webová šablóna 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Välj allt", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Växla ihopvikning", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Öppna webb 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Tümünü seç", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Geçerli daraltmayı aç/kapat", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "1. web işlemini aç", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Chọn tất cả", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "Chuyển đổi gấp hiện tại", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "Mở tác vụ web 1", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "全选", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "折叠/展开", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "用超链接模板 1 打开", CMD_WEBACTION1

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -572,6 +572,16 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "全選", IDM_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM SEPARATOR
POPUP "Convert Case"
BEGIN
MENUITEM "Uppercase", CMD_CTX_UPPERCASE
MENUITEM "Lowercase", CMD_CTX_LOWERCASE
MENUITEM SEPARATOR
MENUITEM "Invert Case", CMD_CTX_INVERTCASE
MENUITEM "Title Case", CMD_CTX_TITLECASE
MENUITEM "Sentence Case", CMD_CTX_SENTENCECASE
END
MENUITEM "摺疊/展開", IDM_VIEW_TOGGLE_CURRENT_FOLD
MENUITEM SEPARATOR
MENUITEM "用超連結模板 1 打開", CMD_WEBACTION1

View File

@ -1892,26 +1892,40 @@ observe:
void EditInvertCase(HWND hwnd)
{
UNREFERENCED_PARAMETER(hwnd);
const DocPos iCurPos = SciCall_GetCurrentPos();
const DocPos iAnchorPos = SciCall_GetAnchor();
if (iCurPos != iAnchorPos) {
if (Sci_IsMultiOrRectangleSelection()) {
InfoBoxLng(MB_ICONWARNING, NULL, IDS_MUI_SELRECTORMULTI);
return;
if (SciCall_IsSelectionEmpty()) {
return;
}
UndoTransActionBegin();
bool const bIsRectSel = SciCall_IsSelectionRectangle();
DocPos selAnchorMainPos = 0, selCaretMainPos = 0;
DocPos vSpcAnchorMainPos = 0, vSpcCaretMainPos = 0;
if (bIsRectSel) {
selAnchorMainPos = SciCall_GetRectangularSelectionAnchor();
selCaretMainPos = SciCall_GetRectangularSelectionCaret();
vSpcAnchorMainPos = SciCall_GetRectangularSelectionAnchorVirtualSpace();
vSpcCaretMainPos = SciCall_GetRectangularSelectionCaretVirtualSpace();
}
DocPosU const selCount = SciCall_GetSelections();
for (DocPosU s = 0; s < selCount; ++s) {
DocPos const selStart = SciCall_GetSelectionNStart(s);
DocPos const selEnd = SciCall_GetSelectionNEnd(s);
DocPos const selByteLen = selEnd - selStart;
if (selByteLen <= 0) {
continue;
}
const DocPos iSelStart = SciCall_GetSelectionStart();
const DocPos iSelEnd = SciCall_GetSelectionEnd();
const DocPos iSelLen = SciCall_GetSelText(NULL);
LPWSTR const pszTextW = AllocMem((iSelLen + 1) * sizeof(WCHAR), HEAP_ZERO_MEMORY);
if (pszTextW) {
size_t const cchTextW = EditGetSelectedText(pszTextW, (iSelLen + 1));
char* pszText = AllocMem(selByteLen + 1, HEAP_ZERO_MEMORY);
LPWSTR pszTextW = AllocMem((selByteLen + 1) * sizeof(WCHAR), HEAP_ZERO_MEMORY);
if (pszText && pszTextW) {
StringCchCopyNA(pszText, selByteLen + 1, SciCall_GetRangePointer(selStart, selByteLen), selByteLen);
int const cchTextW = MultiByteToWideChar(Encoding_SciCP, 0, pszText, (int)selByteLen, pszTextW, (int)(selByteLen + 1));
bool bChanged = false;
for (size_t i = 0; i < cchTextW; i++) {
for (int i = 0; i < cchTextW; i++) {
if (IsCharUpperW(pszTextW[i])) {
pszTextW[i] = LOWORD(CharLowerW((LPWSTR)(LONG_PTR)MAKELONG(pszTextW[i], 0)));
bChanged = true;
@ -1922,18 +1936,27 @@ void EditInvertCase(HWND hwnd)
}
if (bChanged) {
char* const pszText = AllocMem((iSelLen + 1), HEAP_ZERO_MEMORY);
WideCharToMultiByte(Encoding_SciCP, 0, pszTextW, (int)cchTextW, pszText, (int)(iSelLen + 1), NULL, NULL);
UndoTransActionBegin();
SciCall_Clear();
SciCall_AddText((iSelEnd - iSelStart), pszText);
SciCall_SetSel(iAnchorPos, iCurPos);
EndUndoTransAction();
FreeMem(pszText);
int const cbNew = WideCharToMultiByte(Encoding_SciCP, 0, pszTextW, cchTextW, pszText, (int)(selByteLen + 1), NULL, NULL);
SciCall_SetTargetRange(selStart, selEnd);
Sci_ReplaceTargetTestChgHist(cbNew, pszText);
}
FreeMem(pszTextW);
}
FreeMem(pszText);
FreeMem(pszTextW);
}
if (bIsRectSel) {
SciCall_SetRectangularSelectionAnchor(selAnchorMainPos);
if (vSpcAnchorMainPos > 0) {
SciCall_SetRectangularSelectionAnchorVirtualSpace(vSpcAnchorMainPos);
}
SciCall_SetRectangularSelectionCaret(selCaretMainPos);
if (vSpcCaretMainPos > 0) {
SciCall_SetRectangularSelectionCaretVirtualSpace(vSpcCaretMainPos);
}
}
EndUndoTransAction();
}
@ -1944,51 +1967,72 @@ void EditInvertCase(HWND hwnd)
void EditTitleCase(HWND hwnd)
{
UNREFERENCED_PARAMETER(hwnd);
const DocPos iCurPos = SciCall_GetCurrentPos();
const DocPos iAnchorPos = SciCall_GetAnchor();
if (iCurPos != iAnchorPos) {
if (Sci_IsMultiOrRectangleSelection()) {
InfoBoxLng(MB_ICONWARNING, NULL, IDS_MUI_SELRECTORMULTI);
return;
}
const DocPos iSelStart = SciCall_GetSelectionStart();
const DocPos iSelEnd = SciCall_GetSelectionEnd();
const DocPos iSelLen = SciCall_GetSelText(NULL);
if (SciCall_IsSelectionEmpty()) {
return;
}
LPWSTR const pszTextW = AllocMem(((iSelLen + 1) * sizeof(WCHAR)), HEAP_ZERO_MEMORY);
UndoTransActionBegin();
if (pszTextW == NULL) {
FreeMem(pszTextW);
return;
bool const bIsRectSel = SciCall_IsSelectionRectangle();
DocPos selAnchorMainPos = 0, selCaretMainPos = 0;
DocPos vSpcAnchorMainPos = 0, vSpcCaretMainPos = 0;
if (bIsRectSel) {
selAnchorMainPos = SciCall_GetRectangularSelectionAnchor();
selCaretMainPos = SciCall_GetRectangularSelectionCaret();
vSpcAnchorMainPos = SciCall_GetRectangularSelectionAnchorVirtualSpace();
vSpcCaretMainPos = SciCall_GetRectangularSelectionCaretVirtualSpace();
}
DocPosU const selCount = SciCall_GetSelections();
for (DocPosU s = 0; s < selCount; ++s) {
DocPos const selStart = SciCall_GetSelectionNStart(s);
DocPos const selEnd = SciCall_GetSelectionNEnd(s);
DocPos const selByteLen = selEnd - selStart;
if (selByteLen <= 0) {
continue;
}
size_t const cchTextW = EditGetSelectedText(pszTextW, (iSelLen + 1));
char* pszText = AllocMem(selByteLen + 1, HEAP_ZERO_MEMORY);
LPWSTR pszTextW = AllocMem((selByteLen + 1) * sizeof(WCHAR), HEAP_ZERO_MEMORY);
if (pszText && pszTextW) {
StringCchCopyNA(pszText, selByteLen + 1, SciCall_GetRangePointer(selStart, selByteLen), selByteLen);
int const cchTextW = MultiByteToWideChar(Encoding_SciCP, 0, pszText, (int)selByteLen, pszTextW, (int)(selByteLen + 1));
bool bChanged = false;
LPWSTR const pszMappedW = AllocMem(SizeOfMem(pszTextW), HEAP_ZERO_MEMORY);
if (pszMappedW) {
// first make lower case, before applying TitleCase
if (LCMapString(LOCALE_SYSTEM_DEFAULT, (LCMAP_LINGUISTIC_CASING | LCMAP_LOWERCASE), pszTextW, (int)cchTextW, pszMappedW, (int)(iSelLen + 1))) {
if (LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_TITLECASE, pszMappedW, (int)cchTextW, pszTextW, (int)(iSelLen + 1))) {
bChanged = true;
bool bChanged = false;
LPWSTR pszMappedW = AllocMem((selByteLen + 1) * sizeof(WCHAR), HEAP_ZERO_MEMORY);
if (pszMappedW) {
// first make lower case, before applying TitleCase
if (LCMapString(LOCALE_SYSTEM_DEFAULT, (LCMAP_LINGUISTIC_CASING | LCMAP_LOWERCASE), pszTextW, cchTextW, pszMappedW, (int)(selByteLen + 1))) {
if (LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_TITLECASE, pszMappedW, cchTextW, pszTextW, (int)(selByteLen + 1))) {
bChanged = true;
}
}
FreeMem(pszMappedW);
}
FreeMem(pszMappedW);
}
if (bChanged) {
char* pszText = AllocMem((iSelLen + 1), HEAP_ZERO_MEMORY);
WideCharToMultiByteEx(Encoding_SciCP, 0, pszTextW, cchTextW, pszText, (iSelLen + 1), NULL, NULL);
UndoTransActionBegin();
SciCall_Clear();
SciCall_AddText((iSelEnd - iSelStart), pszText);
SciCall_SetSel(iAnchorPos, iCurPos);
EndUndoTransAction();
FreeMem(pszText);
if (bChanged) {
int const cbNew = WideCharToMultiByte(Encoding_SciCP, 0, pszTextW, cchTextW, pszText, (int)(selByteLen + 1), NULL, NULL);
SciCall_SetTargetRange(selStart, selEnd);
Sci_ReplaceTargetTestChgHist(cbNew, pszText);
}
}
FreeMem(pszText);
FreeMem(pszTextW);
}
if (bIsRectSel) {
SciCall_SetRectangularSelectionAnchor(selAnchorMainPos);
if (vSpcAnchorMainPos > 0) {
SciCall_SetRectangularSelectionAnchorVirtualSpace(vSpcAnchorMainPos);
}
SciCall_SetRectangularSelectionCaret(selCaretMainPos);
if (vSpcCaretMainPos > 0) {
SciCall_SetRectangularSelectionCaretVirtualSpace(vSpcCaretMainPos);
}
}
EndUndoTransAction();
}
//=============================================================================
@ -1998,62 +2042,83 @@ void EditTitleCase(HWND hwnd)
void EditSentenceCase(HWND hwnd)
{
UNREFERENCED_PARAMETER(hwnd);
const DocPos iCurPos = SciCall_GetCurrentPos();
const DocPos iAnchorPos = SciCall_GetAnchor();
if (iCurPos != iAnchorPos) {
if (Sci_IsMultiOrRectangleSelection()) {
InfoBoxLng(MB_ICONWARNING, NULL, IDS_MUI_SELRECTORMULTI);
return;
}
const DocPos iSelStart = SciCall_GetSelectionStart();
const DocPos iSelEnd = SciCall_GetSelectionEnd();
const DocPos iSelLen = SciCall_GetSelText(NULL);
if (SciCall_IsSelectionEmpty()) {
return;
}
LPWSTR const pszTextW = AllocMem(((iSelLen + 1) * sizeof(WCHAR)), HEAP_ZERO_MEMORY);
UndoTransActionBegin();
if (pszTextW == NULL) {
FreeMem(pszTextW);
return;
bool const bIsRectSel = SciCall_IsSelectionRectangle();
DocPos selAnchorMainPos = 0, selCaretMainPos = 0;
DocPos vSpcAnchorMainPos = 0, vSpcCaretMainPos = 0;
if (bIsRectSel) {
selAnchorMainPos = SciCall_GetRectangularSelectionAnchor();
selCaretMainPos = SciCall_GetRectangularSelectionCaret();
vSpcAnchorMainPos = SciCall_GetRectangularSelectionAnchorVirtualSpace();
vSpcCaretMainPos = SciCall_GetRectangularSelectionCaretVirtualSpace();
}
DocPosU const selCount = SciCall_GetSelections();
for (DocPosU s = 0; s < selCount; ++s) {
DocPos const selStart = SciCall_GetSelectionNStart(s);
DocPos const selEnd = SciCall_GetSelectionNEnd(s);
DocPos const selByteLen = selEnd - selStart;
if (selByteLen <= 0) {
continue;
}
size_t const cchTextW = EditGetSelectedText(pszTextW, (iSelLen + 1));
char* pszText = AllocMem(selByteLen + 1, HEAP_ZERO_MEMORY);
LPWSTR pszTextW = AllocMem((selByteLen + 1) * sizeof(WCHAR), HEAP_ZERO_MEMORY);
if (pszText && pszTextW) {
StringCchCopyNA(pszText, selByteLen + 1, SciCall_GetRangePointer(selStart, selByteLen), selByteLen);
int const cchTextW = MultiByteToWideChar(Encoding_SciCP, 0, pszText, (int)selByteLen, pszTextW, (int)(selByteLen + 1));
bool bChanged = false;
bool bNewSentence = true;
for (size_t i = 0; i < cchTextW; i++) {
if (StrChr(L".;!?\r\n", pszTextW[i])) {
bNewSentence = true;
} else {
if (IsCharAlphaNumericW(pszTextW[i])) {
if (bNewSentence) {
if (IsCharLowerW(pszTextW[i])) {
pszTextW[i] = LOWORD(CharUpperW((LPWSTR)(LONG_PTR)MAKELONG(pszTextW[i], 0)));
bChanged = true;
}
bNewSentence = false;
} else {
if (IsCharUpperW(pszTextW[i])) {
pszTextW[i] = LOWORD(CharLowerW((LPWSTR)(LONG_PTR)MAKELONG(pszTextW[i], 0)));
bChanged = true;
bool bChanged = false;
bool bNewSentence = true;
for (int i = 0; i < cchTextW; i++) {
if (StrChr(L".;!?\r\n", pszTextW[i])) {
bNewSentence = true;
} else {
if (IsCharAlphaNumericW(pszTextW[i])) {
if (bNewSentence) {
if (IsCharLowerW(pszTextW[i])) {
pszTextW[i] = LOWORD(CharUpperW((LPWSTR)(LONG_PTR)MAKELONG(pszTextW[i], 0)));
bChanged = true;
}
bNewSentence = false;
} else {
if (IsCharUpperW(pszTextW[i])) {
pszTextW[i] = LOWORD(CharLowerW((LPWSTR)(LONG_PTR)MAKELONG(pszTextW[i], 0)));
bChanged = true;
}
}
}
}
}
}
if (bChanged) {
char* const pszText = AllocMem((iSelLen + 1), HEAP_ZERO_MEMORY);
WideCharToMultiByteEx(Encoding_SciCP, 0, pszTextW, cchTextW, pszText, (iSelLen + 1), NULL, NULL);
UndoTransActionBegin();
SciCall_Clear();
SciCall_AddText((iSelEnd - iSelStart), pszText);
SciCall_SetSel(iAnchorPos, iCurPos);
EndUndoTransAction();
FreeMem(pszText);
if (bChanged) {
int const cbNew = WideCharToMultiByte(Encoding_SciCP, 0, pszTextW, cchTextW, pszText, (int)(selByteLen + 1), NULL, NULL);
SciCall_SetTargetRange(selStart, selEnd);
Sci_ReplaceTargetTestChgHist(cbNew, pszText);
}
}
FreeMem(pszText);
FreeMem(pszTextW);
}
if (bIsRectSel) {
SciCall_SetRectangularSelectionAnchor(selAnchorMainPos);
if (vSpcAnchorMainPos > 0) {
SciCall_SetRectangularSelectionAnchorVirtualSpace(vSpcAnchorMainPos);
}
SciCall_SetRectangularSelectionCaret(selCaretMainPos);
if (vSpcCaretMainPos > 0) {
SciCall_SetRectangularSelectionCaretVirtualSpace(vSpcCaretMainPos);
}
}
EndUndoTransAction();
}

View File

@ -4016,6 +4016,8 @@ LRESULT MsgCopyData(HWND hwnd, WPARAM wParam, LPARAM lParam)
//
// MsgContextMenu() - Handles WM_CONTEXTMENU and SCN_MARGINRIGHTCLICK
//
static DocPos s_iCtxMenuClickPos = -1;
LRESULT MsgContextMenu(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
{
bool const bMargin = (SCN_MARGINRIGHTCLICK == umsg);
@ -4083,6 +4085,22 @@ LRESULT MsgContextMenu(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
if (StrIsNotEmpty(Settings2.WebTmpl2MenuName)) {
ModifyMenu(hStdCtxMenu, CMD_WEBACTION2, MF_BYCOMMAND | MF_STRING, CMD_WEBACTION2, Settings2.WebTmpl2MenuName);
}
// case conversion submenu: enable based on selection or word at click position
s_iCtxMenuClickPos = SciCall_CharPositionFromPointClose(pt.x, pt.y);
bool const ro = SciCall_GetReadOnly();
bool const se = SciCall_IsSelectionEmpty();
bool bHasTarget = !se;
if (se && (s_iCtxMenuClickPos >= 0)) {
DocPos const ws = SciCall_WordStartPosition(s_iCtxMenuClickPos, true);
DocPos const we = SciCall_WordEndPosition(s_iCtxMenuClickPos, true);
bHasTarget = (ws != we);
}
EnableCmd(hStdCtxMenu, CMD_CTX_UPPERCASE, bHasTarget && !ro);
EnableCmd(hStdCtxMenu, CMD_CTX_LOWERCASE, bHasTarget && !ro);
EnableCmd(hStdCtxMenu, CMD_CTX_INVERTCASE, bHasTarget && !ro);
EnableCmd(hStdCtxMenu, CMD_CTX_TITLECASE, bHasTarget && !ro);
EnableCmd(hStdCtxMenu, CMD_CTX_SENTENCECASE, bHasTarget && !ro);
}
// back to screen coordinates for menu display
@ -5622,6 +5640,47 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
break;
case CMD_CTX_UPPERCASE:
if (SciCall_IsSelectionEmpty() && (s_iCtxMenuClickPos >= 0)) {
EditSelectWordAtPos(s_iCtxMenuClickPos, false);
}
SciCall_UpperCase();
s_iCtxMenuClickPos = -1;
break;
case CMD_CTX_LOWERCASE:
if (SciCall_IsSelectionEmpty() && (s_iCtxMenuClickPos >= 0)) {
EditSelectWordAtPos(s_iCtxMenuClickPos, false);
}
SciCall_LowerCase();
s_iCtxMenuClickPos = -1;
break;
case CMD_CTX_INVERTCASE:
if (SciCall_IsSelectionEmpty() && (s_iCtxMenuClickPos >= 0)) {
EditSelectWordAtPos(s_iCtxMenuClickPos, false);
}
EditInvertCase(Globals.hwndEdit);
s_iCtxMenuClickPos = -1;
break;
case CMD_CTX_TITLECASE:
if (SciCall_IsSelectionEmpty() && (s_iCtxMenuClickPos >= 0)) {
EditSelectWordAtPos(s_iCtxMenuClickPos, false);
}
EditTitleCase(Globals.hwndEdit);
s_iCtxMenuClickPos = -1;
break;
case CMD_CTX_SENTENCECASE:
if (SciCall_IsSelectionEmpty() && (s_iCtxMenuClickPos >= 0)) {
EditSelectWordAtPos(s_iCtxMenuClickPos, false);
}
EditSentenceCase(Globals.hwndEdit);
s_iCtxMenuClickPos = -1;
break;
case IDM_EDIT_CONVERTTABS:
EditTabsToSpaces(Globals.fvCurFile.iTabWidth, false);
break;