mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-23 21:01:01 +08:00
Merge pull request #5608 from RaiKoHoff/Dev_Master
chg: add case conversions on rmb context menu
This commit is contained in:
commit
261237e1b0
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
263
src/Edit.c
263
src/Edit.c
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user