mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-11 21:03:05 +08:00
Merge branch 'Dev_Master' into Future_Dev_Master
This commit is contained in:
commit
8664bf6855
@ -34,7 +34,7 @@ UCD - (UCD)ARDET is an Encoding Detector Library
|
||||
|
||||
|
||||
========================================================
|
||||
Current BETA/RC Version 5.22.1227.(build_#) (2022-12-27)
|
||||
Current BETA/RC Version 5.22.1228.(build_#) (2022-12-28)
|
||||
========================================================
|
||||
|
||||
--------------------------------------------------------
|
||||
@ -63,6 +63,8 @@ NEW:
|
||||
CHANGES:
|
||||
--------------------------------------------------------
|
||||
[.###.#]- .
|
||||
[1228.1]- JSON lexer: Same style for SCE_JSON_COMPACTIRI and SCE_JSON_PROPERTYNAME (LEX).
|
||||
[1228.1]- Status-bar double-click line-break mode: Cycle only between CR+LF <-> LF modes.
|
||||
[1220.1]- Update Lexer "AutoIt3 Script" to Autoit v3.3.16.1.
|
||||
[1220.1]- Adjust All dialogboxes for all Languages to fit at display scale of 125%.
|
||||
[1216.1]- Replacing SCI_REPLACETARGET calls by SCI_REPLACETARGETMINIMAL calls where appropriate.
|
||||
@ -109,6 +111,7 @@ CHANGES Versions in Tools or Libraries:
|
||||
FIXES:
|
||||
--------------------------------------------------------
|
||||
[.###.#]- .
|
||||
[1228.1]- Speedup search&replace in large text files.
|
||||
[1227.1]- Use alternate path, if Path_GetKnownFolder() failed.
|
||||
[1215.1]- Set alpha (80) for "highlight current line" translucency, if not given.
|
||||
[1212.1]- "Notepad3 Replacement" after Win11 22H2 update (SUP).
|
||||
|
||||
@ -1 +1 @@
|
||||
1227
|
||||
1228
|
||||
|
||||
@ -182,6 +182,7 @@
|
||||
#define IDS_MUI_SELRECTORMULTI 14021
|
||||
#define IDS_MUI_INIFILE_READONLY 14022
|
||||
#define IDS_MUI_DOCUMENT_READONLY 14023
|
||||
#define IDS_MUI_ASK_CLEAR_UNDO 14024
|
||||
|
||||
#define IDS_MUI_ASK_SAVE 15000
|
||||
#define IDS_MUI_ASK_REVERT 15001
|
||||
@ -1286,6 +1287,7 @@
|
||||
#define IDS_LEX_2ND_CH_REV_TO_ORG 63395
|
||||
#define IDS_LEX_2ND_CH_REV_TO_MOD 63396
|
||||
#define IDS_LEX_STR_63397 63397
|
||||
#define IDS_LEX_STR_63398 63398
|
||||
|
||||
|
||||
#define IDS_LEX_CSV_COL_0 63490
|
||||
|
||||
@ -316,7 +316,7 @@ Opsies:\r\n\
|
||||
/n\tMaak altyd 'n nuwe venster oop (/ns enkele lêer instansie).\r\n\
|
||||
/r\tHergebruik venster (/rs enkele lêer instansie).\r\n\
|
||||
/p\tStel venster posisie en grootte (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>,<max> [alle heelgetalle].\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [alle heelgetalle].\r\n\
|
||||
/t\tStel venster titel.\r\n\
|
||||
/i\tBegin as tray ikoon.\r\n\
|
||||
/o\tHou venster bo-op.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Notepad3 [/?] [...[Кадоўка]] [...[Канчаткі радкоў]] [/e] [/
|
||||
/n\tЗаўсёды адкрываць новае акно (/ns адзін экзэмпляр файла).\r\n\
|
||||
/r\tВыкарыстаць былое акно (/rs адзін экзэмпляр файла).\r\n\
|
||||
/p\tЗадаць пазіцыю і памер акна (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tці /p <left>,<top>,<width>,<height>,<max> [цэлыя лікі].\r\n\
|
||||
\tці /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [цэлыя лікі].\r\n\
|
||||
/t\tЗадаць назву акна.\r\n\
|
||||
/i\tЗапусціць значком на паліцы задач.\r\n\
|
||||
/o\tЗверху іншых вокнаў.\r\n\
|
||||
|
||||
@ -496,6 +496,7 @@ BEGIN
|
||||
IDS_LEX_STR_63387 "Symbol Operator"
|
||||
IDS_LEX_STR_63388 "String EOL"
|
||||
IDS_LEX_STR_63397 "Backticks"
|
||||
IDS_LEX_STR_63398 "GUID String"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -172,8 +172,9 @@ BEGIN
|
||||
IDS_MUI_FIND_WRAPRE "Der Anfang des Dokumentes wurde erreicht, Rückwärtssuche vom Ende her weiter führen."
|
||||
IDS_MUI_NOTFOUND "Der gegebene Suchbegriff führte zu keiner passenden Textstelle."
|
||||
IDS_MUI_REPLCOUNT "%s Fundstelle(n) des gegebenen Suchbegriffs wurde(n) ersetzt."
|
||||
IDS_MUI_ASK_ENCODING "Der Wechsel zwischen verschiedenen Codierungen kann die Ersetzung nicht unterstützter Zeichen mit voreingestellten Zeichen zur folge haben, wobei die Historie gelöscht wird. Weiter machen?"
|
||||
IDS_MUI_ASK_ENCODING2 "Du bist dabei die Codierung eines leeren Dokumentes zu ändern. Beachte bitte, daß dabei die Historie gelöscht wird, da diese nicht mit der neuen Codierung synchronisiert werden kann. Weiter machen?"
|
||||
IDS_MUI_ASK_ENCODING "Der Wechsel zwischen verschiedenen Codierungen kann die Ersetzung nicht unterstützter Zeichen mit voreingestellten Zeichen zur folge haben, wobei die Undo-Historie gelöscht wird. Weiter machen?"
|
||||
IDS_MUI_ASK_ENCODING2 "Du bist dabei die Codierung eines leeren Dokumentes zu ändern. Beachte bitte, daß dabei die Undo-Historie gelöscht wird, da diese nicht mit der neuen Codierung synchronisiert werden kann. Weiter machen?"
|
||||
IDS_MUI_ASK_CLEAR_UNDO "Diese Operation wird die Undo-History löschen. Weiter machen?"
|
||||
IDS_MUI_READONLY_SAVE """%s"" ist schreibgeschützt. Dokument unter einem anderen Dateipfad speichern?"
|
||||
IDS_MUI_FILECHANGENOTIFY
|
||||
"Die geladene Datei wurde durch ein anderes Programm auf dem Datenträger verändert. Neu laden?"
|
||||
@ -316,7 +317,7 @@ Optionen:\r\n\
|
||||
/n\tÖffne immer ein neues Fenster (/ns single file instance).\r\n\
|
||||
/r\tBenutze geöffnetes Fenster erneut (/rs single file instance).\r\n\
|
||||
/p\tSetze Fenster: Position und Größe (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\toder /p <links>,<oben>,<breite>,<höhe>,<max> [ganzzahlig].\r\n\
|
||||
\toder /p <links>,<oben>,<breite>,<höhe>[,<dpi>,<max>] [ganzzahlig].\r\n\
|
||||
/t\tSetze Fenster-Titel.\r\n\
|
||||
/i\tStarte als 'Tray-Icon'.\r\n\
|
||||
/o\tHalte Fenster immer auf oberster Ebene.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Notepad3 [/?] [...[Κωδικοποίηση]] [...[Λειτουργία κατά
|
||||
/n\tΆνοιγμα πάντα νέου παραθύρου (/ns παρουσία ενός μόνο αρχείου).\r\n\
|
||||
/r\tΕπαναχρησιμοποίηση παραθύρου (/rs παρουσία ενός μόνο\r\n\tαρχείου).\r\n\
|
||||
/p\tΟρισμός θέσης και μεγέθους παραθύρου (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tή /p <αριστερά>,<πάνω>,<πλάτος>,<ύψος>,<μέγ.> [όλοι\r\n\tακέραιοι].\r\n\
|
||||
\tή /p <αριστερά>,<πάνω>,<πλάτος>,<ύψος>[,<dpi>,<μέγ.>] [όλοι\r\n\tακέραιοι].\r\n\
|
||||
/t\tΟρισμός τίτλου παραθύρου.\r\n\
|
||||
/i\tΈναρξη ως ελαχιστοποιημένο στην περιοχή ειδοποιήσεων.\r\n\
|
||||
/o\tΠάντα στην κορυφή το παράθυρο.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Options:\r\n\
|
||||
/n\tAlways open a new window (/ns single file instance).\r\n\
|
||||
/r\tReuse window (/rs single file instance).\r\n\
|
||||
/p\tSet window position and size (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>,<max> [all integers].\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [all integers].\r\n\
|
||||
/t\tSet window title.\r\n\
|
||||
/i\tStart as tray icon.\r\n\
|
||||
/o\tKeep window on top.\r\n\
|
||||
|
||||
@ -496,6 +496,7 @@ BEGIN
|
||||
IDS_LEX_STR_63387 "Symbol Operator"
|
||||
IDS_LEX_STR_63388 "String EOL"
|
||||
IDS_LEX_STR_63397 "Backticks"
|
||||
IDS_LEX_STR_63398 "GUID String"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -174,6 +174,7 @@ BEGIN
|
||||
IDS_MUI_REPLCOUNT "%s occurrence(s) of specified search pattern replaced."
|
||||
IDS_MUI_ASK_ENCODING "Switching the file encoding from one encoding to another may replace unsupported text with default characters, and the undo history will be cleared. Continue?"
|
||||
IDS_MUI_ASK_ENCODING2 "You are about to change the encoding of an empty file. Note that this will clear the undo history, as it can't be synchronized with the new encoding. Continue?"
|
||||
IDS_MUI_ASK_CLEAR_UNDO "This operation will clear the undo history. Continue?"
|
||||
IDS_MUI_READONLY_SAVE """%s"" is read only. Save to a different file?"
|
||||
IDS_MUI_FILECHANGENOTIFY
|
||||
"The current file has been modified by an external program. Reload?"
|
||||
@ -316,7 +317,7 @@ Options:\r\n\
|
||||
/n\tAlways open a new window (/ns single file instance).\r\n\
|
||||
/r\tReuse window (/rs single file instance).\r\n\
|
||||
/p\tSet window position and size (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>,<max> [all integers].\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [all integers].\r\n\
|
||||
/t\tSet window title.\r\n\
|
||||
/i\tStart as tray icon.\r\n\
|
||||
/o\tKeep window on top.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Opciones:\r\n\
|
||||
/n\tSiempre abre una nueva ventana (/ns instancia de archivo único).\r\n\
|
||||
/r\tReutilizar la ventana (/rs instancia de archivo único).\r\n\
|
||||
/p\tEstablecer el tamaño y la posición de la ventana (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\to /p <izquierda>,<arriba>,<ancho>,<altura>,<max> [todos\r\n\tenteros].\r\n\
|
||||
\to /p <izquierda>,<arriba>,<ancho>,<altura>[,<dpi>,<max>] [todos\r\n\tenteros].\r\n\
|
||||
/t\tEstablecer el título de la ventana.\r\n\
|
||||
/i\tComenzar como un icono de la barra de tareas.\r\n\
|
||||
/o\tVentana siempre visible.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Opciones:\r\n\
|
||||
/n\tSiempre abre una nueva ventana (/ns instancia de archivo único).\r\n\
|
||||
/r\tReutilizar la ventana (/rs instancia de archivo único).\r\n\
|
||||
/p\tEstablecer el tamaño y la posición de la ventana (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\to /p <izquierda>,<arriba>,<ancho>,<altura>,<max> [todos\r\n\tenteros].\r\n\
|
||||
\to /p <izquierda>,<arriba>,<ancho>,<altura>[,<dpi>,<max>] [todos\r\n\tenteros].\r\n\
|
||||
/t\tEstablecer el título de la ventana.\r\n\
|
||||
/i\tComenzar como un icono de la barra de tareas.\r\n\
|
||||
/o\tVentana siempre visible.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Options :\r\n\
|
||||
/n\tOuvre toujours une nouvelle fenêtre (/ns instance\r\n\tde fichier unique).\r\n\
|
||||
/r\tRéutilise la fenêtre (/rs instance de fichier unique).\r\n\
|
||||
/p\tDéfinit la position et la taille de la fenêtre (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tou /p <gauche>,<haut>,<largeur>,<hauteur>,<max> [tous entiers].\r\n\
|
||||
\tou /p <gauche>,<haut>,<largeur>,<hauteur>[,<dpi>,<max>] [tous entiers].\r\n\
|
||||
/t\tDéfinit un titre de fenêtre.\r\n\
|
||||
/i\tDémarre en icône dans la zone de notifications.\r\n\
|
||||
/o\tGarde la fenêtre toujours visible.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Notepad3 [/?] [...[एन्कोडिंग]] [...[रेखा समाप
|
||||
/n\tसदैव एक नई विंडो खोलें (/ns एकल फ़ाइल अवस्था).\r\n\
|
||||
/r\tविंडो पुनः इस्तमएआल करें (/rs एकल फ़ाइल अवस्था).\r\n\
|
||||
/p\tविंडो स्तिथि और आकार तय करें (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tया /p <बाएं>,<शीर्ष>,<चोड़ाई>,<ऊंचाई>,<अत्यधिक> [समस्त पूर्णांक].\r\n\
|
||||
\tया /p <बाएं>,<शीर्ष>,<चोड़ाई>,<ऊंचाई>[,<dpi>,<अत्यधिक>] [समस्त पूर्णांक].\r\n\
|
||||
/t\tविंडो शीर्षक तय करें.\r\n\
|
||||
/i\tट्रे आइकान के रूप में शुरू करें.\r\n\
|
||||
/o\tविंडो ऊपर रखें.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Opciók:\r\n\
|
||||
/n\tMindig nyisson új ablakot (/ns egyetlen fájl példány).\r\n\
|
||||
/r\tAblak újrahasznosítása (/rs egyetlen fájl példány).\r\n\
|
||||
/p\tAblak pozíció és méret beállítása (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tor /p <bal>,<teteje>,<szélesség>,<magasság>,<max> [mindegyik\r\n\tegész szám].\r\n\
|
||||
\tor /p <bal>,<teteje>,<szélesség>,<magasság>[,<dpi>,<max>] [mindegyik\r\n\tegész szám].\r\n\
|
||||
/t\tCímsor szövegének beállítása.\r\n\
|
||||
/i\tIndítás óra melé kicsinyítve.\r\n\
|
||||
/o\tAblak mindig felül.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Options:\r\n\
|
||||
/n\tAlways open a new window (/ns single file instance).\r\n\
|
||||
/r\tReuse window (/rs single file instance).\r\n\
|
||||
/p\tSet window position and size (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>,<max> [all integers].\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [all integers].\r\n\
|
||||
/t\tSet window title.\r\n\
|
||||
/i\tStart as tray icon.\r\n\
|
||||
/o\tKeep window on top.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Opzioni:\r\n\
|
||||
/n\tApri sempre una nuova finestra (/ns istanza singola).\r\n\
|
||||
/r\tRiutilizza finestra (/rs istanza singola).\r\n\
|
||||
/p\tImposta posizione e dimensione della finestra (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>,<max> [numeri interi].\r\n\
|
||||
\to /p <sinistra>,<sopra>,<larghezza>,<altezza>[,<dpi>,<max>] [numeri interi].\r\n\
|
||||
/t\tImposta titolo della finestra.\r\n\
|
||||
/i\tAvvia come icona nell'area di notifica'.\r\n\
|
||||
/o\tMantieni finestra in primo piano.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Notepad3 [/?] [...[文字コード]] [...[改行コード]] [/e] [/g] [/m] [/l]\
|
||||
/n\t新規ウィンドウで開く (/ns ファイルは単一のインスタンス)\r\n\
|
||||
/r\tウインドウを再利用 (/rs 同じく単一のインスタンス\r\n\
|
||||
/p\tウィンドウの位置とサイズを指定 [/p x,y,sizex,y[,max]] (/p0, /ps, /pf,\r\n\
|
||||
\tl,t,r,b,m) or /p <left>,<top>,<width>,<height>,<max> [すべて整数]\r\n\
|
||||
\tl,t,r,b,m) or /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [すべて整数]\r\n\
|
||||
/t\tタイトルバーの文字列を指定 [/t text]\r\n\
|
||||
/i\tシステムトレイ内に起動\r\n\
|
||||
/o\t常に手前に表示\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Notepad3 [/?] [...[인코딩]] [...[줄 끝 모드]] [/e] [/g] [/m] [/l]\r\n\
|
||||
/n\t항상 새 창을 엽니다 (/ns 단일 파일 인스턴스).\r\n\
|
||||
/r\t창을 재사용합니다 (/rs 단일 파일 인스턴스).\r\n\
|
||||
/p\t창 위치와 크기 지정 (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\t또는 /p <왼쪽>,<상단>,<너비>,<높이>,<최대> [모두 정수].\r\n\
|
||||
\t또는 /p <왼쪽>,<상단>,<너비>,<높이>[,<dpi>,<최대>] [모두 정수].\r\n\
|
||||
/t\t창 제목을 설정합니다.\r\n\
|
||||
/i\t트레이 아이콘으로 시작합니다.\r\n\
|
||||
/o\t창을 맨 위에 둡니다.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Opties:\r\n\
|
||||
/n\tOpen altijd een nieuw venster (/ns één bestand instantie).\r\n\
|
||||
/r\tHergebruik venster (/rs één bestand instantie).\r\n\
|
||||
/p\tVensterpositie en -grootte instellen (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tof /p <links>,<top>,<breedte>,<hoogte>,<max> [gehele getallen].\r\n\
|
||||
\tof /p <links>,<top>,<breedte>,<hoogte>[,<dpi>,<max>] [gehele getallen].\r\n\
|
||||
/t\tVenstertitel instellen.\r\n\
|
||||
/i\tStart als systeemvakpictogram.\r\n\
|
||||
/o\tVenster bovenop houden.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Opcje:\r\n\
|
||||
/n\tAlways open a new window (/ns single file instance).\r\n\
|
||||
/r\tReuse window (/rs single file instance).\r\n\
|
||||
/p\tSet window position and size (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tor /p <lewy>,<góra>,<szer.>,<wys.>,<maks> [wszystkie liczby].\r\n\
|
||||
\tor /p <lewy>,<góra>,<szer.>,<wys.>[,<dpi>,<maks>] [wszystkie liczby].\r\n\
|
||||
/t\tSet window title.\r\n\
|
||||
/i\tStart as tray icon.\r\n\
|
||||
/o\tKeep window on top.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Opções:\r\n\
|
||||
/n\tSempre abre uma nova janela (/ns instância de único arquivo).\r\n\
|
||||
/r\tReusa a janela (/rs instância de único arquivo).\r\n\
|
||||
/p\tDefine a posição e o tamanho da janela (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tou /p <left>,<top>,<width>,<height>,<max> [all integers].\r\n\
|
||||
\tou /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [all integers].\r\n\
|
||||
/t\tDefine o título da janela.\r\n\
|
||||
/i\tInicia como ícone na área de notificação.\r\n\
|
||||
/o\tMantém a janela sobre as outras.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Opções:\r\n\
|
||||
/n\tAbre sempre uma nova janela (/ns instância de único ficheiro).\r\n\
|
||||
/r\tReutiliza a janela (/rs instância de único ficheiro).\r\n\
|
||||
/p\tDefine tamanho e posição da janela (/p0, /ps, /pf,l,t,r,b,m) ou /p\r\n\
|
||||
\t<esquerda>,<superior>,<largura>,<altura>,<máx> [todos inteiros].\r\n\
|
||||
\t<esquerda>,<superior>,<largura>,<altura>[,<dpi>,<máx>] [todos inteiros].\r\n\
|
||||
/t\tDefine título da janela.\r\n\
|
||||
/i\tInicia como ícone na área de notificação.\r\n\
|
||||
/o\tMantém a janela sempre visível.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Notepad3 [/?] [...[Кодировка]] [...[Окончания строк]] [/e
|
||||
/n\tВсегда открывать новое окно (/ns один экземпляр файла).\r\n\
|
||||
/r\tПереиспользовать окно (/rs один экземпляр файла).\r\n\
|
||||
/p\tЗадать положение и размер окна (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tили /p <left>,<top>,<width>,<height>,<max> [целые числа].\r\n\
|
||||
\tили /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [целые числа].\r\n\
|
||||
/t\tЗадать заголовок окна.\r\n\
|
||||
/i\tЗапустить иконкой в области уведомлений.\r\n\
|
||||
/o\tПоверх других окон.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Možnosti:\r\n\
|
||||
/n\tVždy otvoriť nové okno (/ns inštancia jedného súboru).\r\n\
|
||||
/r\tOpätovné použitie okna (/rs inštancia jedného súboru).\r\n\
|
||||
/p\tNastavenie polohy a veľkosti okna (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\talebo /p <vľavo>,<hore>,<šírka>,<výška>,<max> [všetky čísla celé].\r\n\
|
||||
\talebo /p <vľavo>,<hore>,<šírka>,<výška>[,<dpi>,<max>] [všetky čísla celé].\r\n\
|
||||
/t\tNastavenie titulku okna.\r\n\
|
||||
/i\tZačať ako ikona na paneli úloh.\r\n\
|
||||
/o\tPonechanie okna vždy na vrchu.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Tillval:\r\n\
|
||||
/n\tÖppna alltid nytt fönster (/ns enkel filinstans).\r\n\
|
||||
/r\tÅteranvänd fönster (/rs enkel filinstans).\r\n\
|
||||
/p\tAnge fönsterposition och storlek (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\teller /p <vänster>,<topp>,<bredd>,<höjd>,<max> [alla heltal].\r\n\
|
||||
\teller /p <vänster>,<topp>,<bredd>,<höjd>[,<dpi>,<max>] [alla heltal].\r\n\
|
||||
/t\tAnge fönstertitel.\r\n\
|
||||
/i\tStarta som ikon i verktygsfältet.\r\n\
|
||||
/o\tVisa alltid fönstret överst.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Seçenekler:\r\n\
|
||||
/n\tHer zaman yeni pencerede açar (/ns tek dosya kopyası).\r\n\
|
||||
/r\tPencereyi yeniden kullanır (/rs tek dosya kopyası).\r\n\
|
||||
/p\tPencere konumunu ve boyutunu ayarlar (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>,<max> [tümü tam sayı].\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [tümü tam sayı].\r\n\
|
||||
/t\tPencere başlığını ayarlar.\r\n\
|
||||
/i\tSistem tepsisinde başlatır.\r\n\
|
||||
/o\tPencereyi üste sabitler.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Options:\r\n\
|
||||
/n\tAlways open a new window (/ns single file instance).\r\n\
|
||||
/r\tReuse window (/rs single file instance).\r\n\
|
||||
/p\tSet window position and size (/p0, /ps, /pf,l,t,r,b,m)\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>,<max> [all integers].\r\n\
|
||||
\tor /p <left>,<top>,<width>,<height>[,<dpi>,<max>] [all integers].\r\n\
|
||||
/t\tSet window title.\r\n\
|
||||
/i\tStart as tray icon.\r\n\
|
||||
/o\tKeep window on top.\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Notepad3 [/?] [...[编码]] [...[换行符模式]] [/e] [/g] [/m] [/l]\r\n\
|
||||
/n\t总是打开新窗口(/ns 对于每个文件只允许打开一个实例)。\r\n\
|
||||
/r\t重用已存在的窗口(/rs 对于每个文件只允许打开一个实例)。\r\n\
|
||||
/p\t设置窗口位置和大小(/p0, /ps, /pf,左,上,宽,高,最大化)\r\n\
|
||||
\t或 /p <左>,<上>,<宽>,<高>,<最大化> [均为整数]。\r\n\
|
||||
\t或 /p <左>,<上>,<宽>,<高>[,<dpi>,<最大化>] [均为整数]。\r\n\
|
||||
/t\t设置窗口标题。\r\n\
|
||||
/i\t以托盘图标状态启动。\r\n\
|
||||
/o\t窗口置顶。\r\n\
|
||||
|
||||
@ -316,7 +316,7 @@ Notepad3 [/?] [...[編碼]] [...[分行符號模式]] [/e] [/g] [/m] [/l]\r\n\
|
||||
/n\t總是開啟新視窗(/ns 對於每個檔案只允許開啟一個實例)。\r\n\
|
||||
/r\t重新使用已存在的視窗(/rs 對於每個檔案只允許開啟一個實例)。\r\n\
|
||||
/p\t設定視窗位置和大小(/p0, /ps, /pf,左,上,寬,高,最大化)\r\n\
|
||||
\t或 /p <左>,<上>,<寬>,<高>,<最大化> [均為整數]。\r\n\
|
||||
\t或 /p <左>,<上>,<寬>,<高>[,<dpi>,<最大化>] [均為整數]。\r\n\
|
||||
/t\t設定視窗標題。\r\n\
|
||||
/i\t以系統匣圖示狀態啟動。\r\n\
|
||||
/o\t視窗置頂。\r\n\
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity
|
||||
name="Rizonesoft.Notepad3"
|
||||
version="5.22.1227.1"
|
||||
version="5.22.1228.1"
|
||||
processorArchitecture="*"
|
||||
type="win32"
|
||||
/>
|
||||
|
||||
@ -505,12 +505,13 @@ Function Name=fore:#F988F9
|
||||
Class Name=fore:#F988F9
|
||||
[Registry Files]
|
||||
Comment=fore:#70F76D
|
||||
String=fore:#62F760
|
||||
String=fore:#99004D
|
||||
Value Type=bold; fore:#B0D1F7
|
||||
Hex=fore:#EF7478
|
||||
Added Key=bold; fore:#DEDEDE; back:#B8430A; eolfilled
|
||||
Deleted Key=fore:#F20C0D
|
||||
Escaped=bold; fore:#A4B4B4
|
||||
GUID String=fore:#C58D25
|
||||
GUID in Key Path=fore:#E6C07B
|
||||
Parameter=fore:#79EDDB
|
||||
Operator=bold
|
||||
|
||||
@ -1526,8 +1526,7 @@ void LoadSettings()
|
||||
GET_BOOL_VALUE_FROM_INISECTION(AutoCloseTags, false);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(AutoCloseBrackets, false);
|
||||
GET_INT_VALUE_FROM_INISECTION(HighlightCurrentLine, 1, 0, 2);
|
||||
GET_INT_VALUE_FROM_INISECTION(ChangeHistoryMode, ChgHist_ON | ChgHist_MARGIN, ChgHist_NONE, ChgHist_ALL);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(ChangeHistoryMargin, true);
|
||||
GET_INT_VALUE_FROM_INISECTION(ChangeHistoryMode, SC_CHANGE_HISTORY_ENABLED | SC_CHANGE_HISTORY_MARKERS, 0, 7);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(HyperlinkHotspot, true);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(ShowHypLnkToolTip, false);
|
||||
GET_INT_VALUE_FROM_INISECTION(ColorDefHotspot, 2, 0, 3);
|
||||
@ -1733,7 +1732,7 @@ void LoadSettings()
|
||||
// startup window (ignore window position if /p was specified)
|
||||
// --------------------------------------------------------------
|
||||
|
||||
IniSectionGetString(IniSecSettings2, L"DefaultWindowPosition", L"",
|
||||
IniSectionGetString(IniSecSettings2, Constants.DefaultWindowPosition, L"",
|
||||
Settings2.DefaultWindowPosition, COUNTOF(Settings2.DefaultWindowPosition));
|
||||
|
||||
bool const bExplicitDefaultWinPos = StrIsNotEmpty(Settings2.DefaultWindowPosition);
|
||||
@ -1744,11 +1743,20 @@ void LoadSettings()
|
||||
|
||||
if (bExplicitDefaultWinPos) {
|
||||
int bMaxi = 0;
|
||||
int const itok = swscanf_s(Settings2.DefaultWindowPosition, L"%i,%i,%i,%i,%i",
|
||||
&g_DefWinInfo.x, &g_DefWinInfo.y, &g_DefWinInfo.cx, &g_DefWinInfo.cy, &bMaxi);
|
||||
if (itok == 4 || itok == 5) { // scan successful
|
||||
int const itok = swscanf_s(Settings2.DefaultWindowPosition, WINDOWPOS_STRGFORMAT,
|
||||
&g_DefWinInfo.x, &g_DefWinInfo.y, &g_DefWinInfo.cx, &g_DefWinInfo.cy, &g_DefWinInfo.dpi, &bMaxi);
|
||||
if (itok == 4 || itok == 5 || itok == 6) { // scan successful
|
||||
if (itok == 4) {
|
||||
g_DefWinInfo.dpi = USER_DEFAULT_SCREEN_DPI;
|
||||
g_DefWinInfo.max = false;
|
||||
} else if (itok == 5) { // maybe DPI or Maxi (old)
|
||||
if (g_DefWinInfo.dpi < (USER_DEFAULT_SCREEN_DPI >> 2)) {
|
||||
g_DefWinInfo.max = g_DefWinInfo.dpi ? true : false;
|
||||
g_DefWinInfo.dpi = USER_DEFAULT_SCREEN_DPI;
|
||||
}
|
||||
else {
|
||||
g_DefWinInfo.max = false;
|
||||
}
|
||||
} else {
|
||||
g_DefWinInfo.max = bMaxi ? true : false;
|
||||
}
|
||||
@ -1756,8 +1764,8 @@ void LoadSettings()
|
||||
g_DefWinInfo = GetFactoryDefaultWndPos(2);
|
||||
// overwrite bad defined default position
|
||||
StringCchPrintf(Settings2.DefaultWindowPosition, COUNTOF(Settings2.DefaultWindowPosition),
|
||||
L"%i,%i,%i,%i,%i", g_DefWinInfo.x, g_DefWinInfo.y, g_DefWinInfo.cx, g_DefWinInfo.cy, g_DefWinInfo.max);
|
||||
IniSectionSetString(IniSecSettings2, L"DefaultWindowPosition", Settings2.DefaultWindowPosition);
|
||||
WINDOWPOS_STRGFORMAT, g_DefWinInfo.x, g_DefWinInfo.y, g_DefWinInfo.cx, g_DefWinInfo.cy, g_DefWinInfo.dpi, g_DefWinInfo.max);
|
||||
IniSectionSetString(IniSecSettings2, Constants.DefaultWindowPosition, Settings2.DefaultWindowPosition);
|
||||
bDirtyFlag = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -4668,7 +4668,7 @@ void DialogNewWindow(HWND hwnd, bool bSaveOnRunTools, const HPATHL hFilePath, WI
|
||||
WININFO const _wi = (Flags.bStickyWindowPosition ? g_IniWinInfo :
|
||||
(wi ? *wi : GetMyWindowPlacement(hwnd, NULL, Settings2.LaunchInstanceWndPosOffset)));
|
||||
|
||||
StringCchPrintf(wch, COUNTOF(wch), L" -pos %i,%i,%i,%i,%i ", _wi.x, _wi.y, _wi.cx, _wi.cy, (int)_wi.max);
|
||||
StringCchPrintf(wch, COUNTOF(wch), L" -pos " WINDOWPOS_STRGFORMAT, _wi.x, _wi.y, _wi.cx, _wi.cy, _wi.dpi, (int)_wi.max);
|
||||
StrgCat(hparam_str, wch);
|
||||
|
||||
if (Path_IsNotEmpty(hFilePath)) {
|
||||
|
||||
10
src/Edit.c
10
src/Edit.c
@ -5883,7 +5883,7 @@ static char* _GetReplaceString(HWND hwnd, CLPCEDITFINDREPLACE lpefr, int* iRepla
|
||||
if (Settings.ReplaceByClipboardTag &&
|
||||
(StringCchCompareXW(StrgGet(lpefr->chReplaceTemplate), L"^c")) == 0)
|
||||
{
|
||||
*iReplaceMsg = SCI_REPLACETARGET;
|
||||
*iReplaceMsg = SciCall_GetChangeHistory() ? SCI_REPLACETARGETMINIMAL : SCI_REPLACETARGET;
|
||||
pszReplace = EditGetClipboardText(hwnd, true, NULL, NULL);
|
||||
}
|
||||
else {
|
||||
@ -7329,7 +7329,7 @@ void EditSelectionMultiSelectAllEx(HWND hwnd, CLPCEDITFINDREPLACE edFndRpl)
|
||||
//
|
||||
bool EditReplace(HWND hwnd, LPEDITFINDREPLACE lpefr)
|
||||
{
|
||||
int iReplaceMsg = SCI_REPLACETARGET;
|
||||
int iReplaceMsg = SciCall_GetChangeHistory() ? SCI_REPLACETARGETMINIMAL : SCI_REPLACETARGET;
|
||||
DocPos const selBeg = SciCall_GetSelectionStart();
|
||||
DocPos const selEnd = SciCall_GetSelectionEnd();
|
||||
|
||||
@ -7413,11 +7413,13 @@ int EditReplaceAllInRange(HWND hwnd, LPEDITFINDREPLACE lpefr, DocPos iStartPos,
|
||||
bool const bRegexStartOfLine = bIsRegExpr && (wchFind[0] == L'^');
|
||||
|
||||
// SCI_REPLACETARGET or SCI_REPLACETARGETRE
|
||||
int iReplaceMsg = SCI_REPLACETARGET;
|
||||
int iReplaceMsg = SciCall_GetChangeHistory() ? SCI_REPLACETARGETMINIMAL : SCI_REPLACETARGET;
|
||||
char* const pszReplace = _GetReplaceString(hwnd, lpefr, &iReplaceMsg);
|
||||
if (!pszReplace) {
|
||||
return -1; // recoding of clipboard canceled
|
||||
}
|
||||
bool const bMinRepl = (SCI_REPLACETARGETMINIMAL == iReplaceMsg);
|
||||
DocPos const pszReplaceLen = strlen(pszReplace);
|
||||
|
||||
DocPos const _saveTargetBeg_ = SciCall_GetTargetStart();
|
||||
DocPos const _saveTargetEnd_ = SciCall_GetTargetEnd();
|
||||
@ -7444,7 +7446,7 @@ int EditReplaceAllInRange(HWND hwnd, LPEDITFINDREPLACE lpefr, DocPos iStartPos,
|
||||
if (bRegexStartOfLine && (Sci_GetLineStartPosition(iStartPos) == iStartPos) && (SciCall_GetLineCount() == lnCnt)) {
|
||||
iStartPos = SciCall_PositionAfter(iStartPos);
|
||||
}
|
||||
iEndPos += replLen - (end - iPos);
|
||||
iEndPos += (bMinRepl ? pszReplaceLen : replLen) - (end - iPos);
|
||||
start = iStartPos;
|
||||
end = iEndPos;
|
||||
iPos = (start <= end) ? _FindInTarget(wchFind, sFlags, &start, &end, true, FRMOD_NORM) : -1LL;
|
||||
|
||||
@ -1632,7 +1632,7 @@ static int _CheckRegExReplTargetA(LPSTR pszInput)
|
||||
++pszInput;
|
||||
}
|
||||
}
|
||||
return SCI_REPLACETARGET;
|
||||
return SciCall_GetChangeHistory() ? SCI_REPLACETARGETMINIMAL : SCI_REPLACETARGET;
|
||||
}
|
||||
|
||||
static int _CheckRegExReplTargetW(LPWSTR pszInput)
|
||||
@ -1652,7 +1652,7 @@ static int _CheckRegExReplTargetW(LPWSTR pszInput)
|
||||
++pszInput;
|
||||
}
|
||||
}
|
||||
return SCI_REPLACETARGET;
|
||||
return SciCall_GetChangeHistory() ? SCI_REPLACETARGETMINIMAL : SCI_REPLACETARGET;
|
||||
}
|
||||
|
||||
|
||||
@ -1663,12 +1663,11 @@ void TransformBackslashesA(LPSTR pszInput, bool bRegEx, UINT cpEdit, int* iRepla
|
||||
UnSlashLowOctalA(pszInput);
|
||||
*iReplaceMsg = _CheckRegExReplTargetA(pszInput);
|
||||
} else {
|
||||
*iReplaceMsg = SCI_REPLACETARGET; // uses SCI std replacement
|
||||
*iReplaceMsg = SciCall_GetChangeHistory() ? SCI_REPLACETARGETMINIMAL : SCI_REPLACETARGET;
|
||||
}
|
||||
}
|
||||
bool const bStdReplace = (iReplaceMsg && (SCI_REPLACETARGET == *iReplaceMsg));
|
||||
|
||||
// regex handles backslashes itself
|
||||
bool const bStdReplace = (iReplaceMsg && (SCI_REPLACETARGETRE != *iReplaceMsg));
|
||||
if (!bRegEx || bStdReplace) {
|
||||
UnSlashA(pszInput, cpEdit);
|
||||
}
|
||||
@ -1681,12 +1680,11 @@ void TransformBackslashesW(LPWSTR pszInput, bool bRegEx, UINT cpEdit, int* iRepl
|
||||
UnSlashLowOctalW(pszInput);
|
||||
*iReplaceMsg = _CheckRegExReplTargetW(pszInput);
|
||||
} else {
|
||||
*iReplaceMsg = SCI_REPLACETARGET; // uses SCI std replacement
|
||||
*iReplaceMsg = SciCall_GetChangeHistory() ? SCI_REPLACETARGETMINIMAL : SCI_REPLACETARGET;
|
||||
}
|
||||
}
|
||||
bool const bStdReplace = (iReplaceMsg && (SCI_REPLACETARGET == *iReplaceMsg));
|
||||
|
||||
// regex handles backslashes itself
|
||||
bool const bStdReplace = (iReplaceMsg && (SCI_REPLACETARGETRE != *iReplaceMsg));
|
||||
if (!bRegEx || bStdReplace) {
|
||||
UnSlashW(pszInput, cpEdit);
|
||||
}
|
||||
|
||||
109
src/Notepad3.c
109
src/Notepad3.c
@ -80,7 +80,7 @@ LPCWSTR WordBookMarks[MARKER_NP3_BOOKMARK] = {
|
||||
#define RELAUNCH_ELEVATED_BUF_ARG L"tmpfbuf="
|
||||
|
||||
CONSTANTS_T const Constants = {
|
||||
2 // StdDefaultLexerID
|
||||
2 // StdDefaultLexerID
|
||||
, L"minipath.exe" // FileBrowserMiniPath
|
||||
, L"grepWinNP3.exe" // FileSearchGrepWin
|
||||
, L"Settings" // Inifile Section "Settings"
|
||||
@ -88,8 +88,10 @@ CONSTANTS_T const Constants = {
|
||||
, L"Window" // Inifile Section "Window"
|
||||
, L"Styles" // Inifile Section "Styles"
|
||||
, L"Suppressed Messages" // Inifile Section "SuppressedMessages"
|
||||
, L"DefaultWindowPosition" // Strg DefaultWindowPosition
|
||||
};
|
||||
|
||||
|
||||
FLAGS_T Flags;
|
||||
FLAGS_T DefaultFlags;
|
||||
|
||||
@ -4254,10 +4256,11 @@ LRESULT MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
CheckCmd(hmenu, IDM_VIEW_HYPERLINKHOTSPOTS, Settings.HyperlinkHotspot);
|
||||
|
||||
int const chState = Settings.ChangeHistoryMode;
|
||||
int const chState = SciCall_GetChangeHistory();
|
||||
assert(chState == Settings.ChangeHistoryMode);
|
||||
i = IDM_VIEW_CHGHIST_NONE;
|
||||
i += ((chState & ChgHist_ON) && (chState & ChgHist_MARGIN)) ? 1 : 0;
|
||||
i += ((chState & ChgHist_ON) && (chState & ChgHist_DOCTXT)) ? 2 : 0;
|
||||
i += (chState & SC_CHANGE_HISTORY_MARKERS) ? 1 : 0;
|
||||
i += (chState & SC_CHANGE_HISTORY_INDICATORS) ? 2 : 0;
|
||||
CheckMenuRadioItem(hmenu, IDM_VIEW_CHGHIST_NONE, IDM_VIEW_CHGHIST_ALL, i, MF_BYCOMMAND);
|
||||
CheckCmdPos(GetSubMenu(GetMenu(Globals.hwndMain), 2), 8, (i != IDM_VIEW_CHGHIST_NONE));
|
||||
|
||||
@ -4439,6 +4442,31 @@ LRESULT MsgKeyDown(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
#endif
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// _ApplyChangeHistoryMode() - Handles Change-History Settings
|
||||
//
|
||||
static void _ApplyChangeHistoryMode()
|
||||
{
|
||||
int const iChgHist = SciCall_GetChangeHistory();
|
||||
if (iChgHist == Settings.ChangeHistoryMode) { return; }
|
||||
if ((!iChgHist && Settings.ChangeHistoryMode) || !Settings.ChangeHistoryMode) {
|
||||
if (IsYesOkay(InfoBoxLng(MB_YESNO | MB_ICONWARNING, L"AllowClearUndoHistory", IDS_MUI_ASK_CLEAR_UNDO))) {
|
||||
UndoRedoReset();
|
||||
}
|
||||
else {
|
||||
Settings.ChangeHistoryMode = iChgHist;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
SciCall_SetChangeHistory(Settings.ChangeHistoryMode);
|
||||
}
|
||||
Style_UpdateChangeHistoryMargin(Globals.hwndEdit);
|
||||
UpdateMargins(true);
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// MsgCommand() - Handles WM_COMMAND
|
||||
@ -6043,33 +6071,38 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
|
||||
case IDM_VIEW_CHGHIST_DOCTXT:
|
||||
case IDM_VIEW_CHGHIST_ALL: {
|
||||
int const set = iLoWParam - IDM_VIEW_CHGHIST_NONE;
|
||||
int const chgHistState = SciCall_GetChangeHistory() & ChgHist_ON;
|
||||
switch (set) {
|
||||
case 0:
|
||||
Settings.ChangeHistoryMode = chgHistState & ~(ChgHist_MARGIN | ChgHist_DOCTXT);
|
||||
Settings.ChangeHistoryMode = SC_CHANGE_HISTORY_DISABLED;
|
||||
break;
|
||||
case 1:
|
||||
Settings.ChangeHistoryMode = (chgHistState | ChgHist_MARGIN) & ~ChgHist_DOCTXT;
|
||||
case 1:
|
||||
Settings.ChangeHistoryMode = SC_CHANGE_HISTORY_ENABLED | SC_CHANGE_HISTORY_MARKERS;
|
||||
break;
|
||||
case 2:
|
||||
Settings.ChangeHistoryMode = (chgHistState | ChgHist_DOCTXT) & ~ChgHist_MARGIN;
|
||||
Settings.ChangeHistoryMode = SC_CHANGE_HISTORY_ENABLED | SC_CHANGE_HISTORY_INDICATORS;
|
||||
break;
|
||||
case 3:
|
||||
Settings.ChangeHistoryMode = chgHistState | (ChgHist_MARGIN | ChgHist_DOCTXT);
|
||||
Settings.ChangeHistoryMode = SC_CHANGE_HISTORY_ENABLED | SC_CHANGE_HISTORY_INDICATORS | SC_CHANGE_HISTORY_MARKERS;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
SciCall_SetChangeHistory(Settings.ChangeHistoryMode);
|
||||
Style_UpdateChangeHistoryMargin(Globals.hwndEdit);
|
||||
UpdateMargins(true);
|
||||
_ApplyChangeHistoryMode();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case IDM_VIEW_CHGHIST_TOGGLE_MARGIN:
|
||||
Settings.ChangeHistoryMargin = !Settings.ChangeHistoryMargin;
|
||||
UpdateMargins(true);
|
||||
if (Settings.ChangeHistoryMode & SC_CHANGE_HISTORY_MARKERS) {
|
||||
Settings.ChangeHistoryMode &= ~SC_CHANGE_HISTORY_MARKERS;
|
||||
if (!(Settings.ChangeHistoryMode & SC_CHANGE_HISTORY_INDICATORS)) {
|
||||
Settings.ChangeHistoryMode = SC_CHANGE_HISTORY_DISABLED;
|
||||
}
|
||||
}
|
||||
else {
|
||||
Settings.ChangeHistoryMode |= (SC_CHANGE_HISTORY_ENABLED | SC_CHANGE_HISTORY_MARKERS);
|
||||
}
|
||||
_ApplyChangeHistoryMode();
|
||||
break;
|
||||
|
||||
case IDM_VIEW_HYPERLINKHOTSPOTS:
|
||||
@ -6990,7 +7023,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
|
||||
case CMD_COPYWINPOS: {
|
||||
WININFO wi = GetMyWindowPlacement(Globals.hwndMain, NULL, 0);
|
||||
WCHAR wchBuf[128] = { L'\0' };
|
||||
StringCchPrintf(wchBuf, COUNTOF(wchBuf), L"/pos %i,%i,%i,%i,%i", wi.x, wi.y, wi.cx, wi.cy, wi.max);
|
||||
StringCchPrintf(wchBuf, COUNTOF(wchBuf), L"/pos " WINDOWPOS_STRGFORMAT, wi.x, wi.y, wi.cx, wi.cy, wi.dpi, (int)wi.max);
|
||||
SetClipboardText(hwnd, wchBuf, StringCchLen(wchBuf, 0));
|
||||
}
|
||||
break;
|
||||
@ -7013,9 +7046,9 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
|
||||
case CMD_SAVEASDEFWINPOS: {
|
||||
WININFO const wi = GetMyWindowPlacement(Globals.hwndMain, NULL, 0);
|
||||
WCHAR tchDefWinPos[80];
|
||||
StringCchPrintf(tchDefWinPos, COUNTOF(tchDefWinPos), L"%i,%i,%i,%i,%i", wi.x, wi.y, wi.cx, wi.cy, wi.max);
|
||||
StringCchPrintf(tchDefWinPos, COUNTOF(tchDefWinPos), WINDOWPOS_STRGFORMAT, wi.x, wi.y, wi.cx, wi.cy, wi.dpi, (int)wi.max);
|
||||
if (Globals.bCanSaveIniFile) {
|
||||
IniFileSetString(Paths.IniFile, Constants.Settings2_Section, L"DefaultWindowPosition", tchDefWinPos);
|
||||
IniFileSetString(Paths.IniFile, Constants.Settings2_Section, Constants.DefaultWindowPosition, tchDefWinPos);
|
||||
}
|
||||
g_DefWinInfo = wi; //GetWinInfoByFlag(-1); // use current win pos as new default
|
||||
}
|
||||
@ -7023,7 +7056,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
case CMD_CLEARSAVEDWINPOS:
|
||||
g_DefWinInfo = GetFactoryDefaultWndPos(2);
|
||||
IniFileDelete(Paths.IniFile, Constants.Settings2_Section, L"DefaultWindowPosition", false);
|
||||
IniFileDelete(Paths.IniFile, Constants.Settings2_Section, Constants.DefaultWindowPosition, false);
|
||||
break;
|
||||
|
||||
case CMD_OPENINIFILE:
|
||||
@ -9133,17 +9166,25 @@ void ParseCommandLine()
|
||||
}
|
||||
} else if (ExtractFirstArgument(lp2, lp1, lp2, (int)len)) {
|
||||
WININFO wi = INIT_WININFO;
|
||||
int bMaximize = 0;
|
||||
int itok = swscanf_s(lp1, L"%i,%i,%i,%i,%i", &wi.x, &wi.y, &wi.cx, &wi.cy, &bMaximize);
|
||||
if (itok == 4 || itok == 5) { // scan successful
|
||||
int iMaximize = 0;
|
||||
int const itok = swscanf_s(lp1, WINDOWPOS_STRGFORMAT, &wi.x, &wi.y, &wi.cx, &wi.cy, &wi.dpi, &iMaximize);
|
||||
if (itok == 4 || itok == 5 || itok == 6) { // scan successful
|
||||
Globals.CmdLnFlag_PosParam = true;
|
||||
Globals.CmdLnFlag_WindowPos = 0;
|
||||
if (bMaximize) {
|
||||
wi.max = true;
|
||||
}
|
||||
if (itok == 4) {
|
||||
wi.max = false;
|
||||
wi.dpi = USER_DEFAULT_SCREEN_DPI;
|
||||
iMaximize = 0;
|
||||
}
|
||||
else if (itok == 5) { // maybe DPI or Maxi (old)
|
||||
if (wi.dpi < (USER_DEFAULT_SCREEN_DPI >> 2)) {
|
||||
iMaximize = wi.dpi;
|
||||
wi.dpi = USER_DEFAULT_SCREEN_DPI;
|
||||
}
|
||||
else {
|
||||
iMaximize = 0;
|
||||
}
|
||||
}
|
||||
wi.max = !!iMaximize;
|
||||
g_IniWinInfo = wi; // set window placement
|
||||
}
|
||||
}
|
||||
@ -10336,7 +10377,7 @@ static void _UndoRedoRecordingStart()
|
||||
SciCall_SetUndoCollection(true);
|
||||
SciCall_EmptyUndoBuffer();
|
||||
SciCall_SetSavePoint();
|
||||
SciCall_SetChangeHistory(SC_CHANGE_HISTORY_ENABLED | Settings.ChangeHistoryMode);
|
||||
SciCall_SetChangeHistory(Settings.ChangeHistoryMode);
|
||||
UpdateMargins(true);
|
||||
}
|
||||
|
||||
@ -11382,8 +11423,8 @@ bool DoElevatedRelaunch(EditFileIOStatus* pFioStatus, bool bAutoSaveOnRelaunch)
|
||||
WININFO const wi = GetMyWindowPlacement(Globals.hwndMain, NULL, 0);
|
||||
|
||||
HSTRINGW hstr_args = StrgCreate(NULL);
|
||||
StrgFormat(hstr_args, L"%s/pos %i,%i,%i,%i,%i /g %i,%i %s",
|
||||
wchFlags, wi.x, wi.y, wi.cx, wi.cy, wi.max, iCurLn, iCurCol, lpArgs);
|
||||
StrgFormat(hstr_args, L"%s/pos " WINDOWPOS_STRGFORMAT L" /g %i,%i %s",
|
||||
wchFlags, wi.x, wi.y, wi.cx, wi.cy, wi.dpi, (int)wi.max, iCurLn, iCurCol, lpArgs);
|
||||
|
||||
WCHAR wchTempFileName[MAX_PATH_EXPLICIT + 1] = { L'\0' };
|
||||
WCHAR wchTempPathBuffer[MAX_PATH_EXPLICIT + 1] = { L'\0' };
|
||||
@ -11399,8 +11440,8 @@ bool DoElevatedRelaunch(EditFileIOStatus* pFioStatus, bool bAutoSaveOnRelaunch)
|
||||
WCHAR wchEncoding[80] = { L'\0' };
|
||||
Encoding_GetNameW(Encoding_GetCurrent(), wchEncoding, COUNTOF(wchEncoding));
|
||||
|
||||
StrgFormat(hstr_args, L"%s/%s /pos %i,%i,%i,%i,%i /g %i,%i /%s\"%s\" %s",
|
||||
wchFlags, wchEncoding, wi.x, wi.y, wi.cx, wi.cy, wi.max, iCurLn, iCurCol, RELAUNCH_ELEVATED_BUF_ARG, Path_Get(htmp_pth), lpArgs);
|
||||
StrgFormat(hstr_args, L"%s/%s /pos " WINDOWPOS_STRGFORMAT L" /g %i,%i /%s\"%s\" %s",
|
||||
wchFlags, wchEncoding, wi.x, wi.y, wi.cx, wi.cy, wi.dpi, (int)wi.max, iCurLn, iCurCol, RELAUNCH_ELEVATED_BUF_ARG, Path_Get(htmp_pth), lpArgs);
|
||||
|
||||
if (!StrStrI(StrgGet(hstr_args), Path_FindFileName(Paths.CurrentFile))) {
|
||||
if (Path_IsNotEmpty(Paths.CurrentFile)) {
|
||||
@ -11894,7 +11935,7 @@ bool LaunchNewInstance(HWND hwnd, LPCWSTR lpszParameter, LPCWSTR lpszFilePath)
|
||||
int const instCnt = CountRunningInstances();
|
||||
WININFO wi = GetMyWindowPlacement(hwnd, NULL, offset * instCnt);
|
||||
WCHAR wchPos[80] = { L'\0' };
|
||||
StringCchPrintf(wchPos, COUNTOF(wchPos), L"-pos %i,%i,%i,%i,%i", wi.x, wi.y, wi.cx, wi.cy, (int)wi.max);
|
||||
StringCchPrintf(wchPos, COUNTOF(wchPos), L"-pos " WINDOWPOS_STRGFORMAT, wi.x, wi.y, wi.cx, wi.cy, wi.dpi, (int)wi.max);
|
||||
|
||||
StringCchPrintf(params_buf, StrgGetAllocLength(hstrParams),
|
||||
L"%s %s \"%s\"", lpszParameter, wchPos, lpszFilePath);
|
||||
@ -11958,7 +11999,7 @@ bool RelaunchMultiInst()
|
||||
wi.y += (i * offset);
|
||||
WCHAR wchPos[80] = { L'\0' };
|
||||
if (!Globals.CmdLnFlag_PosParam) {
|
||||
StringCchPrintf(wchPos, COUNTOF(wchPos), L" -pos %i,%i,%i,%i,%i", wi.x, wi.y, wi.cx, wi.cy, (int)wi.max);
|
||||
StringCchPrintf(wchPos, COUNTOF(wchPos), L" -pos " WINDOWPOS_STRGFORMAT, wi.x, wi.y, wi.cx, wi.cy, wi.dpi, (int)wi.max);
|
||||
}
|
||||
size_t const pl = StringCchLen(wchPos, 80) + 1;
|
||||
|
||||
@ -12100,13 +12141,13 @@ void SnapToWinInfoPos(HWND hwnd, const WININFO winInfo, SCREEN_MODE mode)
|
||||
if (GetDoAnimateMinimize()) {
|
||||
DrawAnimatedRects(hWindow, IDANI_CAPTION, &rcCurrent, &wndpl.rcNormalPosition);
|
||||
}
|
||||
SetWindowPlacement(hWindow, &wndpl); // 1st set correct screen (DPI Aware)
|
||||
if (hwnd) {
|
||||
UINT const dpi = Scintilla_GetWindowDPI(hwnd);
|
||||
if (dpi != winInfo.dpi) {
|
||||
RelAdjustRectForDPI(&wndpl.rcNormalPosition, winInfo.dpi, dpi);
|
||||
}
|
||||
}
|
||||
SetWindowPlacement(hWindow, &wndpl); // 1st set correct screen (DPI Aware)
|
||||
SetWindowPlacement(hWindow, &wndpl); // 2nd resize position to correct DPI settings
|
||||
}
|
||||
if (hwnd) {
|
||||
|
||||
@ -915,13 +915,15 @@ inline DocPos Sci_GetSelectionEndEx()
|
||||
|
||||
inline DocPos Sci_ReplaceTarget(const int mode, const DocPos length, const char* text)
|
||||
{
|
||||
if (mode == SCI_REPLACETARGETRE) {
|
||||
switch (mode) {
|
||||
case SCI_REPLACETARGETRE:
|
||||
return SciCall_ReplaceTargetRe(length, text);
|
||||
}
|
||||
if (SciCall_GetChangeHistory() == SC_CHANGE_HISTORY_DISABLED) {
|
||||
case SCI_REPLACETARGETMINIMAL:
|
||||
return SciCall_ReplaceTargetMinimal(length, text);
|
||||
case SCI_REPLACETARGET:
|
||||
default:
|
||||
return SciCall_ReplaceTarget(length, text);
|
||||
}
|
||||
return SciCall_ReplaceTargetMinimal(length, text);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
@ -12,15 +12,17 @@ EDITLEXER lexRegistry =
|
||||
//{ {SCE_REG_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
|
||||
{ {SCE_REG_COMMENT}, IDS_LEX_STR_63127, L"Comment", L"fore:#008800", L"" },
|
||||
{ {SCE_REG_VALUENAME}, IDS_LEX_STR_63285, L"Value Name", L"", L"" },
|
||||
{ {MULTI_STYLE(SCE_REG_STRING,SCE_REG_STRING_GUID,0,0)}, IDS_LEX_STR_63131, L"String", L"fore:#008000", L"" },
|
||||
{ {SCE_REG_STRING}, IDS_LEX_STR_63131, L"String", L"fore:#99004D", L"" },
|
||||
{ {SCE_REG_VALUETYPE}, IDS_LEX_STR_63286, L"Value Type", L"bold; fore:#00007F", L"" },
|
||||
{ {SCE_REG_HEXDIGIT}, IDS_LEX_STR_63287, L"Hex", L"fore:#7F0B0C", L"" },
|
||||
{ {SCE_REG_ADDEDKEY}, IDS_LEX_STR_63288, L"Added Key", L"bold; fore:#000000; back:#FF8040; eolfilled", L"" }, //fore:#530155
|
||||
{ {SCE_REG_DELETEDKEY}, IDS_LEX_STR_63289, L"Deleted Key", L"fore:#FF0000", L"" },
|
||||
{ {SCE_REG_ESCAPED}, IDS_LEX_STR_63290, L"Escaped", L"bold; fore:#7D8187", L"" },
|
||||
{ {SCE_REG_KEYPATH_GUID}, IDS_LEX_STR_63291, L"GUID in Key Path", L"fore:#7B5F15", L"" },
|
||||
{ {SCE_REG_STRING_GUID}, IDS_LEX_STR_63398, L"GUID String", L"fore:#C58D25", L"" },
|
||||
{ {SCE_REG_KEYPATH_GUID}, IDS_LEX_STR_63291, L"GUID in Key Path", L"fore:#009F9F", L"" },
|
||||
{ {SCE_REG_PARAMETER}, IDS_LEX_STR_63281, L"Parameter", L"fore:#0B6561", L"" },
|
||||
{ {SCE_REG_OPERATOR}, IDS_LEX_STR_63132, L"Operator", L"bold", L"" },
|
||||
EDITLEXER_SENTINEL
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -2053,7 +2053,7 @@ void Style_UpdateBookmarkMargin(HWND hwnd)
|
||||
//
|
||||
void Style_UpdateChangeHistoryMargin(HWND hwnd)
|
||||
{
|
||||
bool const bShowMargin = Settings.ChangeHistoryMargin && ((Settings.ChangeHistoryMode & ChgHist_ON) && (Settings.ChangeHistoryMode & ChgHist_MARGIN));
|
||||
bool const bShowMargin = (Settings.ChangeHistoryMode & SC_CHANGE_HISTORY_MARKERS);
|
||||
SciCall_SetMarginWidthN(MARGIN_SCI_CHGHIST, (bShowMargin ? _GetMarkerMarginWidth(hwnd, 0.7f) : 0));
|
||||
}
|
||||
|
||||
|
||||
@ -440,19 +440,6 @@ typedef enum AutoSaveBackupOptions {
|
||||
|
||||
//=============================================================================
|
||||
|
||||
typedef enum ChangeHistory {
|
||||
|
||||
ChgHist_NONE = SC_CHANGE_HISTORY_DISABLED,
|
||||
ChgHist_ON = SC_CHANGE_HISTORY_ENABLED,
|
||||
ChgHist_MARGIN = SC_CHANGE_HISTORY_MARKERS,
|
||||
ChgHist_DOCTXT = SC_CHANGE_HISTORY_INDICATORS,
|
||||
|
||||
ChgHist_ALL = ChgHist_ON | ChgHist_MARGIN | ChgHist_DOCTXT
|
||||
|
||||
} ChangeHistory;
|
||||
|
||||
//=============================================================================
|
||||
|
||||
typedef struct CONSTANTS_T {
|
||||
|
||||
int const StdDefaultLexerID; // Pure Text Files
|
||||
@ -463,11 +450,14 @@ typedef struct CONSTANTS_T {
|
||||
const WCHAR* const Window_Section;
|
||||
const WCHAR* const Styles_Section;
|
||||
const WCHAR* const SectionSuppressedMessages;
|
||||
const WCHAR* const DefaultWindowPosition;
|
||||
|
||||
} CONSTANTS_T, *PCONSTANTS_T;
|
||||
|
||||
extern CONSTANTS_T const Constants;
|
||||
|
||||
#define WINDOWPOS_STRGFORMAT L"%i,%i,%i,%i,%i,%i"
|
||||
|
||||
// ------------------------------------
|
||||
|
||||
typedef struct GLOBALS_T {
|
||||
@ -584,7 +574,6 @@ typedef struct SETTINGS_T {
|
||||
bool AutoCloseBrackets;
|
||||
int HighlightCurrentLine;
|
||||
int ChangeHistoryMode;
|
||||
bool ChangeHistoryMargin;
|
||||
bool HyperlinkHotspot;
|
||||
int ColorDefHotspot;
|
||||
bool ScrollPastEOF;
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
#define SAPPNAME "Notepad3"
|
||||
#define VERSION_MAJOR 5
|
||||
#define VERSION_MINOR 22
|
||||
#define VERSION_REV 1227
|
||||
#define VERSION_REV 1228
|
||||
#define VERSION_BUILD 1
|
||||
#define SCINTILLA_VER 532
|
||||
#define LEXILLA_VER 521
|
||||
|
||||
Loading…
Reference in New Issue
Block a user