diff --git a/Build/Notepad3.ini b/Build/Notepad3.ini
index 9662e4903..1ab7e9d54 100644
Binary files a/Build/Notepad3.ini and b/Build/Notepad3.ini differ
diff --git a/Versions/build.txt b/Versions/build.txt
index 6f2c618b8..a9449958c 100644
--- a/Versions/build.txt
+++ b/Versions/build.txt
@@ -1 +1 @@
-1335
+1338
diff --git a/language/common_res.h b/language/common_res.h
index 38c8be2bc..e52abe3d7 100644
--- a/language/common_res.h
+++ b/language/common_res.h
@@ -276,6 +276,7 @@
#define IDC_COPYVERSTRG 18090
#define IDC_RICHEDITABOUT 18091
#define IDC_TRANSL_AUTH 18092
+#define IDC_TRANSPARENT 18093
#define CMD_ESCAPE 20000
#define CMD_SHIFTESC 20001
diff --git a/language/np3_af_za/dialogs_af_za.rc b/language/np3_af_za/dialogs_af_za.rc
index 95a8550b3..2aa5df0cf 100644
Binary files a/language/np3_af_za/dialogs_af_za.rc and b/language/np3_af_za/dialogs_af_za.rc differ
diff --git a/language/np3_be_by/dialogs_be_by.rc b/language/np3_be_by/dialogs_be_by.rc
index 02dc5a261..e80617838 100644
Binary files a/language/np3_be_by/dialogs_be_by.rc and b/language/np3_be_by/dialogs_be_by.rc differ
diff --git a/language/np3_de_de/dialogs_de_de.rc b/language/np3_de_de/dialogs_de_de.rc
index ba8b4420c..25d4145e4 100644
Binary files a/language/np3_de_de/dialogs_de_de.rc and b/language/np3_de_de/dialogs_de_de.rc differ
diff --git a/language/np3_en_gb/dialogs_en_gb.rc b/language/np3_en_gb/dialogs_en_gb.rc
index d880cb7b7..39e3b6d63 100644
Binary files a/language/np3_en_gb/dialogs_en_gb.rc and b/language/np3_en_gb/dialogs_en_gb.rc differ
diff --git a/language/np3_en_us/dialogs_en_us.rc b/language/np3_en_us/dialogs_en_us.rc
index ef31d673c..4c9d61ae7 100644
Binary files a/language/np3_en_us/dialogs_en_us.rc and b/language/np3_en_us/dialogs_en_us.rc differ
diff --git a/language/np3_es_es/dialogs_es_es.rc b/language/np3_es_es/dialogs_es_es.rc
index 422ea1588..9f0d7cf87 100644
Binary files a/language/np3_es_es/dialogs_es_es.rc and b/language/np3_es_es/dialogs_es_es.rc differ
diff --git a/language/np3_fr_fr/dialogs_fr_fr.rc b/language/np3_fr_fr/dialogs_fr_fr.rc
index 42917abd6..6d667f1c3 100644
Binary files a/language/np3_fr_fr/dialogs_fr_fr.rc and b/language/np3_fr_fr/dialogs_fr_fr.rc differ
diff --git a/language/np3_ja_jp/dialogs_ja_jp.rc b/language/np3_ja_jp/dialogs_ja_jp.rc
index d343028d3..c6f90c9ef 100644
Binary files a/language/np3_ja_jp/dialogs_ja_jp.rc and b/language/np3_ja_jp/dialogs_ja_jp.rc differ
diff --git a/language/np3_nl_nl/dialogs_nl_nl.rc b/language/np3_nl_nl/dialogs_nl_nl.rc
index 1789dff4c..ddd62b312 100644
Binary files a/language/np3_nl_nl/dialogs_nl_nl.rc and b/language/np3_nl_nl/dialogs_nl_nl.rc differ
diff --git a/language/np3_ru_ru/dialogs_ru_ru.rc b/language/np3_ru_ru/dialogs_ru_ru.rc
index 2d3b9688e..a356629f4 100644
Binary files a/language/np3_ru_ru/dialogs_ru_ru.rc and b/language/np3_ru_ru/dialogs_ru_ru.rc differ
diff --git a/language/np3_zh_cn/dialogs_zh_cn.rc b/language/np3_zh_cn/dialogs_zh_cn.rc
index a4890cc1b..14d046864 100644
Binary files a/language/np3_zh_cn/dialogs_zh_cn.rc and b/language/np3_zh_cn/dialogs_zh_cn.rc differ
diff --git a/minipath/src/Helpers.c b/minipath/src/Helpers.c
index 8e1c5245c..8c67a61e5 100644
--- a/minipath/src/Helpers.c
+++ b/minipath/src/Helpers.c
@@ -553,17 +553,11 @@ void DeleteBitmapButton(HWND hwnd,int nCtlId)
//
// SetWindowTransparentMode()
//
-void SetWindowTransparentMode(HWND hwnd,BOOL bTransparentMode)
+void SetWindowTransparentMode(HWND hwnd, BOOL bTransparentMode, int iOpacityLevel)
{
if (bTransparentMode) {
SetWindowLongPtr(hwnd, GWL_EXSTYLE, GetWindowLongPtr(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
-
- // get opacity level from registry
- int iAlphaPercent = IniGetInt(L"Settings2", L"OpacityLevel", 75);
- iAlphaPercent = clampi(iAlphaPercent, 0, 100);
-
- BYTE const bAlpha = (BYTE)MulDiv(iAlphaPercent, 255, 100);
-
+ BYTE const bAlpha = (BYTE)MulDiv(iOpacityLevel, 255, 100);
SetLayeredWindowAttributes(hwnd, 0, bAlpha, LWA_ALPHA);
}
else
diff --git a/minipath/src/Helpers.h b/minipath/src/Helpers.h
index 4e0d24dbe..aa2217096 100644
--- a/minipath/src/Helpers.h
+++ b/minipath/src/Helpers.h
@@ -68,7 +68,7 @@ BOOL SetWindowPathTitle(HWND,LPCWSTR);
void CenterDlgInParent(HWND);
void MakeBitmapButton(HWND hwnd, int nCtlId, HINSTANCE hInstance, WORD uBmpId);
void DeleteBitmapButton(HWND,int);
-void SetWindowTransparentMode(HWND,BOOL);
+void SetWindowTransparentMode(HWND hwnd, BOOL bTransparentMode, int iOpacityLevel);
#define StatusSetSimple(hwnd,b) SendMessage(hwnd,SB_SIMPLE,(WPARAM)b,0)
BOOL StatusSetText(HWND,UINT,LPCWSTR);
diff --git a/minipath/src/minipath.c b/minipath/src/minipath.c
index 4e6947b21..116869be1 100644
--- a/minipath/src/minipath.c
+++ b/minipath/src/minipath.c
@@ -504,8 +504,10 @@ HWND InitInstance(HINSTANCE hInstance,LPWSTR pszCmdLine,int nCmdShow)
if (bAlwaysOnTop)
SetWindowPos(hwndMain,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
- if (g_bTransparentMode)
- SetWindowTransparentMode(hwndMain,TRUE);
+ if (g_bTransparentMode) {
+ int const iAlphaPercent = IniGetInt(L"Settings2", L"OpacityLevel", 75);
+ SetWindowTransparentMode(hwndMain, TRUE, clampi(iAlphaPercent, 0, 100));
+ }
if (!flagStartAsTrayIcon) {
ShowWindow(hwndMain,nCmdShow);
@@ -2257,8 +2259,9 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam)
case ACC_SWITCHTRANSPARENCY:
- g_bTransparentMode = g_bTransparentMode ? 0 : 1;
- SetWindowTransparentMode(hwnd,g_bTransparentMode);
+ g_bTransparentMode = !g_bTransparentMode;
+ int const iAlphaPercent = IniGetInt(L"Settings2", L"OpacityLevel", 75);
+ SetWindowTransparentMode(hwndMain, g_bTransparentMode, clampi(iAlphaPercent, 0, 100));
break;
diff --git a/res/Notepad3.exe.manifest.conf b/res/Notepad3.exe.manifest.conf
index d97af7675..11993d34d 100644
--- a/res/Notepad3.exe.manifest.conf
+++ b/res/Notepad3.exe.manifest.conf
@@ -3,8 +3,8 @@
- Notepad3 RC_NewMenu
+ Notepad3 RC NewMenu
diff --git a/src/Dialogs.c b/src/Dialogs.c
index b6ff62616..a8bcb85d4 100644
--- a/src/Dialogs.c
+++ b/src/Dialogs.c
@@ -2985,13 +2985,12 @@ bool SetWindowTitle(HWND hwnd, UINT uIDAppName, bool bIsElevated, UINT uIDUntitl
//
// SetWindowTransparentMode()
//
-void SetWindowTransparentMode(HWND hwnd, bool bTransparentMode)
+void SetWindowTransparentMode(HWND hwnd, bool bTransparentMode, int iOpacityLevel)
{
if (bTransparentMode) {
SetWindowLongPtr(hwnd, GWL_EXSTYLE, GetWindowLongPtr(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
// get opacity level from registry
- int const iAlphaPercent = Settings2.OpacityLevel;
- BYTE const bAlpha = (BYTE)MulDiv(iAlphaPercent, 255, 100);
+ BYTE const bAlpha = (BYTE)MulDiv(iOpacityLevel, 255, 100);
SetLayeredWindowAttributes(hwnd, 0, bAlpha, LWA_ALPHA);
return;
}
diff --git a/src/Dialogs.h b/src/Dialogs.h
index 8e47c556a..023a603a6 100644
--- a/src/Dialogs.h
+++ b/src/Dialogs.h
@@ -49,7 +49,7 @@ void DialogAdminExe(HWND hwnd,bool);
INT_PTR InfoBoxLng(int iType, LPCWSTR lpstrSetting, int uidMessage, ...);
bool SetWindowTitle(HWND hwnd, UINT uIDAppName, bool, UINT uIDUntitled, LPCWSTR lpszFile, int iFormat, bool, UINT uIDReadOnly, bool, LPCWSTR lpszExcerpt);
-void SetWindowTransparentMode(HWND hwnd, bool);
+void SetWindowTransparentMode(HWND hwnd, bool bTransparentMode, int iOpacityLevel);
void CenterDlgInParent(HWND hDlg);
void GetDlgPos(HWND hDlg, LPINT xDlg, LPINT yDlg);
void SetDlgPos(HWND hDlg, int xDlg, int yDlg);
diff --git a/src/Edit.c b/src/Edit.c
index 6ae8c51c3..512994ecd 100644
--- a/src/Edit.c
+++ b/src/Edit.c
@@ -5125,6 +5125,8 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
}
}
+ CheckDlgButton(hwnd, IDC_TRANSPARENT, Settings.FindReplaceTransparentMode ? BST_CHECKED : BST_UNCHECKED);
+
if (!s_bSwitchedFindReplace) {
if (Settings.FindReplaceDlgPosX == CW_USEDEFAULT || Settings.FindReplaceDlgPosY == CW_USEDEFAULT)
CenterDlgInParent(hwnd);
@@ -5137,7 +5139,8 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
CopyMemory(sg_pefrData, &s_efrSave, sizeof(EDITFINDREPLACE));
}
_SetSearchFlags(hwnd, sg_pefrData); // sync
- s_anyMatch = s_fwrdMatch = NO_MATCH;
+ s_fwrdMatch = NO_MATCH;
+ s_anyMatch = (SciCall_IsSelectionRectangle() || SciCall_IsSelectionEmpty() ? NO_MATCH : MATCH);
HMENU hmenu = GetSystemMenu(hwnd, false);
GetLngString(IDS_MUI_SAVEPOS, tchBuf, COUNTOF(tchBuf));
@@ -5150,6 +5153,11 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
hBrushGreen = CreateSolidBrush(rgbGreenColorRef);
hBrushBlue = CreateSolidBrush(rgbBlueColorRef);
+ // find first occurrence of clip-board text
+ //if (!SciCall_IsSelectionRectangle() && SciCall_IsSelectionEmpty()) {
+ // PostMessage(hwnd, WM_COMMAND, MAKELONG(IDOK, 1), 0);
+ //}
+
SetTimer(hwnd, IDT_TIMER_MRKALL, USER_TIMER_MINIMUM, MQ_ExecuteNext);
}
return true;
@@ -5220,13 +5228,13 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
case WA_INACTIVE:
//~s_InitialTopLine = -1;
//~g_bFindReplCopySelOrClip = true;
- SetWindowTransparentMode(hwnd, true);
+ SetWindowTransparentMode(hwnd, Settings.FindReplaceTransparentMode, Settings2.FindReplaceOpacityLevel);
break;
case WA_CLICKACTIVE:
// mouse click activation
case WA_ACTIVE:
- SetWindowTransparentMode(hwnd, false);
+ SetWindowTransparentMode(hwnd, false, 100);
default:
s_fwrdMatch = NO_MATCH;
s_InitialSearchStart = SciCall_GetSelectionStart();
@@ -5501,6 +5509,9 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
_DelayMarkAll(hwnd, 0, s_InitialSearchStart);
break;
+ case IDC_TRANSPARENT:
+ Settings.FindReplaceTransparentMode = (IsDlgButtonChecked(hwnd, IDC_TRANSPARENT) == BST_CHECKED);
+ break;
case IDC_REPLACE:
case IDC_REPLACEALL:
diff --git a/src/Notepad3.c b/src/Notepad3.c
index 51fc6614e..a9c9e5b45 100644
--- a/src/Notepad3.c
+++ b/src/Notepad3.c
@@ -1023,7 +1023,7 @@ HWND InitInstance(HINSTANCE hInstance,LPCWSTR pszCmdLine,int nCmdShow)
}
if (Settings.TransparentMode) {
- SetWindowTransparentMode(Globals.hwndMain, true);
+ SetWindowTransparentMode(Globals.hwndMain, true, Settings2.OpacityLevel);
}
if (s_WinInfo.zoom) {
@@ -4927,7 +4927,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDM_VIEW_TRANSPARENT:
Settings.TransparentMode = !Settings.TransparentMode;
- SetWindowTransparentMode(hwnd,Settings.TransparentMode);
+ SetWindowTransparentMode(hwnd,Settings.TransparentMode, Settings2.OpacityLevel);
break;
case IDM_SET_RENDER_TECH_DEFAULT:
@@ -6704,7 +6704,10 @@ void LoadSettings()
Settings2.FileLoadWarningMB = clampi(IniSectionGetInt(pIniSection, L"FileLoadWarningMB", Defaults2.FileLoadWarningMB), 0, 2048);
Defaults2.OpacityLevel = 75;
- Settings2.OpacityLevel = clampi(IniSectionGetInt(pIniSection, L"OpacityLevel", Defaults2.OpacityLevel), 0, 100);
+ Settings2.OpacityLevel = clampi(IniSectionGetInt(pIniSection, L"OpacityLevel", Defaults2.OpacityLevel), 10, 100);
+
+ Defaults2.FindReplaceOpacityLevel = 50;
+ Settings2.FindReplaceOpacityLevel = clampi(IniSectionGetInt(pIniSection, L"FindReplaceOpacityLevel", Defaults2.FindReplaceOpacityLevel), 10, 100);
Defaults2.FileBrowserPath[0] = L'\0';
IniSectionGetString(pIniSection, L"filebrowser.exe", Defaults2.FileBrowserPath, Settings2.FileBrowserPath, COUNTOF(Settings2.FileBrowserPath));
@@ -6877,6 +6880,7 @@ void LoadSettings()
GET_BOOL_VALUE_FROM_INISECTION(AlwaysOnTop, false);
GET_BOOL_VALUE_FROM_INISECTION(MinimizeToTray, false);
GET_BOOL_VALUE_FROM_INISECTION(TransparentMode, false);
+ GET_BOOL_VALUE_FROM_INISECTION(FindReplaceTransparentMode, true);
GET_INT_VALUE_FROM_INISECTION(RenderingTechnology, Defaults.RenderingTechnology, 0, 3); // set before
GET_INT_VALUE_FROM_INISECTION(Bidirectional, Defaults.Bidirectional, 0, 2); // set before
///~Settings2.IMEInteraction = clampi(IniSectionGetInt(pIniSection, L"IMEInteraction", Settings2.IMEInteraction), SC_IME_WINDOWED, SC_IME_INLINE);
@@ -7231,6 +7235,7 @@ void SaveSettings(bool bSaveSettingsNow)
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, AlwaysOnTop);
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, MinimizeToTray);
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, TransparentMode);
+ SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, FindReplaceTransparentMode);
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, RenderingTechnology);
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, Bidirectional);
///~IniSectionSetInt(pIniSection, L"IMEInteraction", Settings2.IMEInteraction);
diff --git a/src/TypeDefs.h b/src/TypeDefs.h
index 1e4c91d13..20773370d 100644
--- a/src/TypeDefs.h
+++ b/src/TypeDefs.h
@@ -317,6 +317,7 @@ typedef struct _settings_t
bool AlwaysOnTop;
bool MinimizeToTray;
bool TransparentMode;
+ bool FindReplaceTransparentMode;
int RenderingTechnology;
int Bidirectional;
bool ShowToolbar;
@@ -352,6 +353,7 @@ typedef struct _settings2_t
{
int FileLoadWarningMB;
int OpacityLevel;
+ int FindReplaceOpacityLevel;
DWORD FileCheckInverval;
DWORD AutoReloadTimeout;
int IMEInteraction;
diff --git a/src/VersionEx.h b/src/VersionEx.h
index f4681f197..9bb0fe9f0 100644
--- a/src/VersionEx.h
+++ b/src/VersionEx.h
@@ -6,8 +6,8 @@
#define APPNAME "Notepad3"
#define VERSION_MAJOR 5
#define VERSION_MINOR 18
-#define VERSION_REV 1030
-#define VERSION_BUILD 1334
+#define VERSION_REV 1031
+#define VERSION_BUILD 1338
#define SCINTILLA_VER 412
#define ONIGMO_REGEX_VER 6.1.3
-#define VERSION_PATCH " RC_NewMenu"
+#define VERSION_PATCH " RC NewMenu"