mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
Merge branch 'master' into mui
This commit is contained in:
commit
0ec66d09bf
@ -1 +1 @@
|
||||
2686
|
||||
2687
|
||||
|
||||
@ -264,7 +264,7 @@ BEGIN
|
||||
LTEXT "Nachricht:", IDC_STATIC, 16, 120, 40, 8
|
||||
CONTROL "KEINE, starte die Ziel-Applikation immer wenn eine Datei geöffnet wird.",IDC_ALWAYSRUN,
|
||||
"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,7,78,240,10
|
||||
CONTROL "Sende eine ""FILE OPEN"" Nachricht zum Ziel-Fenster:",IDC_SENDDROPMSG,
|
||||
CONTROL "Sende eine ""DROP FILES"" Nachricht zum Ziel-Fenster:",IDC_SENDDROPMSG,
|
||||
"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,7,92,170,10
|
||||
CONTROL "Führe folgendes DDE-Kommando aus:",IDC_USEDDE,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,7,106,240,10
|
||||
LTEXT "Applikation:",IDC_STATIC,124,120,40,8
|
||||
|
||||
@ -2453,8 +2453,9 @@ INT_PTR CALLBACK FindWinDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
//
|
||||
// Select MiniPath target application
|
||||
//
|
||||
extern int iUseTargetApplication;
|
||||
extern int iTargetApplicationMode;
|
||||
extern UseTargetApp eUseTargetApplication;
|
||||
extern TargetAppMode eTargetApplicationMode;
|
||||
|
||||
extern WCHAR szTargetApplication[MAX_PATH];
|
||||
extern WCHAR szTargetApplicationParams[MAX_PATH];
|
||||
extern WCHAR szTargetApplicationWndClass[MAX_PATH];
|
||||
@ -2524,7 +2525,7 @@ INT_PTR CALLBACK FindTargetDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPar
|
||||
|
||||
LoadTargetParamsOnce();
|
||||
|
||||
if (iUseTargetApplication)
|
||||
if (eUseTargetApplication != UTA_UNDEFINED)
|
||||
CheckRadioButton(hwnd,IDC_LAUNCH,IDC_TARGET,IDC_TARGET);
|
||||
else
|
||||
CheckRadioButton(hwnd,IDC_LAUNCH,IDC_TARGET,IDC_LAUNCH);
|
||||
@ -2537,9 +2538,8 @@ INT_PTR CALLBACK FindTargetDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPar
|
||||
}
|
||||
SetDlgItemText(hwnd,IDC_TARGETPATH,wch);
|
||||
|
||||
if (iUseTargetApplication) {
|
||||
i = iTargetApplicationMode;
|
||||
i = clampi(i, 0, 2);
|
||||
if (eUseTargetApplication != UTA_UNDEFINED) {
|
||||
i = clampi(eTargetApplicationMode, TAM_ALWAYS_RUN, TAM_SEND_DDE_MSG);
|
||||
CheckRadioButton(hwnd,IDC_ALWAYSRUN,IDC_USEDDE,IDC_ALWAYSRUN + i);
|
||||
}
|
||||
|
||||
@ -2701,11 +2701,11 @@ INT_PTR CALLBACK FindTargetDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPar
|
||||
LoadIniFile(g_wchIniFile);
|
||||
const WCHAR* const TargetApp_Section = L"Target Application";
|
||||
|
||||
i = IsDlgButtonChecked(hwnd,IDC_LAUNCH);
|
||||
iUseTargetApplication = i ? 0:1;
|
||||
IniSectionSetInt(TargetApp_Section,L"UseTargetApplication",iUseTargetApplication);
|
||||
i = (BST_CHECKED == IsDlgButtonChecked(hwnd, IDC_LAUNCH));
|
||||
eUseTargetApplication = ((i) ? UTA_UNDEFINED : UTA_LAUNCH_TARGET);
|
||||
IniSectionSetInt(TargetApp_Section,L"UseTargetApplication",eUseTargetApplication);
|
||||
|
||||
if (iUseTargetApplication) {
|
||||
if (eUseTargetApplication != UTA_UNDEFINED) {
|
||||
GetDlgItemText(hwnd,IDC_TARGETPATH,tch,COUNTOF(tch));
|
||||
ExtractFirstArgument(tch,szTargetApplication,szTargetApplicationParams);
|
||||
}
|
||||
@ -2716,22 +2716,22 @@ INT_PTR CALLBACK FindTargetDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lPar
|
||||
IniSectionSetString(TargetApp_Section,L"TargetApplicationPath",szTargetApplication);
|
||||
IniSectionSetString(TargetApp_Section,L"TargetApplicationParams",szTargetApplicationParams);
|
||||
|
||||
if (!iUseTargetApplication) {
|
||||
iTargetApplicationMode = 0;
|
||||
IniSectionSetInt(TargetApp_Section,L"TargetApplicationMode",iTargetApplicationMode);
|
||||
if (eUseTargetApplication == UTA_UNDEFINED) {
|
||||
eTargetApplicationMode = TAM_ALWAYS_RUN;
|
||||
IniSectionSetInt(TargetApp_Section,L"TargetApplicationMode",eTargetApplicationMode);
|
||||
}
|
||||
else {
|
||||
if (BST_CHECKED == IsDlgButtonChecked(hwnd,IDC_ALWAYSRUN)) {
|
||||
iTargetApplicationMode = 0;
|
||||
IniSectionSetInt(TargetApp_Section,L"TargetApplicationMode",iTargetApplicationMode);
|
||||
eTargetApplicationMode = TAM_ALWAYS_RUN;
|
||||
IniSectionSetInt(TargetApp_Section,L"TargetApplicationMode",eTargetApplicationMode);
|
||||
}
|
||||
else if (BST_CHECKED == IsDlgButtonChecked(hwnd,IDC_SENDDROPMSG)) {
|
||||
iTargetApplicationMode = 1;
|
||||
IniSectionSetInt(TargetApp_Section,L"TargetApplicationMode",iTargetApplicationMode);
|
||||
eTargetApplicationMode = TAM_SEND_DROP_MSG;
|
||||
IniSectionSetInt(TargetApp_Section,L"TargetApplicationMode",eTargetApplicationMode);
|
||||
}
|
||||
else {
|
||||
iTargetApplicationMode = 2;
|
||||
IniSectionSetInt(TargetApp_Section,L"TargetApplicationMode",iTargetApplicationMode);
|
||||
eTargetApplicationMode = TAM_SEND_DDE_MSG;
|
||||
IniSectionSetInt(TargetApp_Section,L"TargetApplicationMode",eTargetApplicationMode);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -101,8 +101,9 @@ UINT wFuncCopyMove = FO_COPY;
|
||||
|
||||
UINT msgTaskbarCreated = 0;
|
||||
|
||||
int iUseTargetApplication = 4;
|
||||
int iTargetApplicationMode = 0;
|
||||
UseTargetApp eUseTargetApplication = UTA_DEFINE_TARGET;
|
||||
TargetAppMode eTargetApplicationMode = TAM_ALWAYS_RUN;
|
||||
|
||||
WCHAR szTargetApplication[MAX_PATH] = L"";
|
||||
WCHAR szTargetApplicationParams[MAX_PATH] = L"";
|
||||
WCHAR szTargetApplicationWndClass[MAX_PATH] = L"";
|
||||
@ -541,19 +542,22 @@ static void __fastcall _SetTargetAppMenuEntry(HMENU hMenu)
|
||||
if (dli.ntype != DLE_DIR) {
|
||||
WCHAR wchMenuEntry[MAX_PATH] = { L'\0' };
|
||||
WCHAR wchTargetAppName[MAX_PATH] = { L'\0' };
|
||||
if (iUseTargetApplication != 0xFB) {
|
||||
if (eUseTargetApplication != 0xFB) {
|
||||
lstrcpy(wchTargetAppName, szTargetApplication);
|
||||
PathStripPath(wchTargetAppName);
|
||||
PathRemoveExtension(wchTargetAppName);
|
||||
}
|
||||
else if (iUseTargetApplication && wchTargetAppName[0] == 0) {
|
||||
iUseTargetApplication = 1;
|
||||
else if ((eUseTargetApplication != UTA_UNDEFINED) && StrIsEmpty(wchTargetAppName)) {
|
||||
eUseTargetApplication = UTA_LAUNCH_TARGET;
|
||||
lstrcpy(wchTargetAppName, L"Notepad3");
|
||||
}
|
||||
if (iUseTargetApplication == 4 || (iUseTargetApplication && wchTargetAppName[0] == 0)) {
|
||||
|
||||
if ((eUseTargetApplication == UTA_DEFINE_TARGET) ||
|
||||
((eUseTargetApplication != UTA_UNDEFINED) && StrIsEmpty(wchTargetAppName))) {
|
||||
lstrcpy(wchTargetAppName, L"...");
|
||||
}
|
||||
if (wchTargetAppName[0] != 0){
|
||||
|
||||
if (StrIsNotEmpty(wchTargetAppName)){
|
||||
FormatLngStringW(wchMenuEntry, COUNTOF(wchMenuEntry), IDS_OPEN_FILE_WITH, wchTargetAppName);
|
||||
MENUITEMINFO menuitem;
|
||||
ZeroMemory(&menuitem, sizeof(MENUITEMINFO));
|
||||
@ -3323,8 +3327,8 @@ void LoadTargetParamsOnce(void)
|
||||
const WCHAR* const TargetApp_Section = L"Target Application";
|
||||
|
||||
if (IniSectionGetInt(TargetApp_Section,L"UseTargetApplication",0xFB) != 0xFB) {
|
||||
iUseTargetApplication = IniSectionGetInt(TargetApp_Section,L"UseTargetApplication",iUseTargetApplication);
|
||||
iTargetApplicationMode = IniSectionGetInt(TargetApp_Section,L"TargetApplicationMode",iTargetApplicationMode);
|
||||
eUseTargetApplication = IniSectionGetInt(TargetApp_Section,L"UseTargetApplication",eUseTargetApplication);
|
||||
eTargetApplicationMode = IniSectionGetInt(TargetApp_Section,L"TargetApplicationMode",eTargetApplicationMode);
|
||||
IniSectionGetString(TargetApp_Section,L"TargetApplicationPath",szTargetApplication,szTargetApplication,COUNTOF(szTargetApplication));
|
||||
IniSectionGetString(TargetApp_Section,L"TargetApplicationParams",szTargetApplicationParams,szTargetApplicationParams,COUNTOF(szTargetApplicationParams));
|
||||
IniSectionGetString(TargetApp_Section,L"TargetApplicationWndClass",szTargetApplicationWndClass,szTargetApplicationWndClass,COUNTOF(szTargetApplicationWndClass));
|
||||
@ -3332,9 +3336,9 @@ void LoadTargetParamsOnce(void)
|
||||
IniSectionGetString(TargetApp_Section,L"DDEApplication",szDDEApp,szDDEApp,COUNTOF(szDDEApp));
|
||||
IniSectionGetString(TargetApp_Section,L"DDETopic",szDDETopic,szDDETopic,COUNTOF(szDDETopic));
|
||||
}
|
||||
else if (iUseTargetApplication && StrIsEmpty(szTargetApplication)) {
|
||||
iUseTargetApplication = 1;
|
||||
iTargetApplicationMode = 1;
|
||||
else if ((eUseTargetApplication != UTA_UNDEFINED) && StrIsEmpty(szTargetApplication)) {
|
||||
eUseTargetApplication = UTA_LAUNCH_TARGET;
|
||||
eTargetApplicationMode = TAM_SEND_DROP_MSG;
|
||||
lstrcpy(szTargetApplication,L"Notepad3.exe");
|
||||
lstrcpy(szTargetApplicationParams,L"");
|
||||
lstrcpy(szTargetApplicationWndClass,L"Notepad3");
|
||||
@ -3363,13 +3367,13 @@ void LaunchTarget(LPCWSTR lpFileName,BOOL bOpenNew)
|
||||
|
||||
LoadTargetParamsOnce();
|
||||
|
||||
if (iUseTargetApplication == 4 ||
|
||||
(iUseTargetApplication && StrIsEmpty(szTargetApplication))) {
|
||||
if ((eUseTargetApplication == UTA_DEFINE_TARGET) || ((eUseTargetApplication != UTA_UNDEFINED) && StrIsEmpty(szTargetApplication)))
|
||||
{
|
||||
ThemedDialogBoxParam(g_hLngResContainer,MAKEINTRESOURCE(IDD_FINDTARGET),hwndMain,FindTargetDlgProc,(LPARAM)NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
if (iUseTargetApplication && iTargetApplicationMode == 1)
|
||||
if ((eUseTargetApplication != UTA_UNDEFINED) && (eTargetApplicationMode == TAM_SEND_DROP_MSG))
|
||||
{
|
||||
lstrcpy(szGlobalWndClass,szTargetApplicationWndClass);
|
||||
|
||||
@ -3391,7 +3395,6 @@ void LaunchTarget(LPCWSTR lpFileName,BOOL bOpenNew)
|
||||
PostMessage(hwnd,WM_DROPFILES,(WPARAM)hDrop,(LPARAM)0);
|
||||
}
|
||||
}
|
||||
|
||||
else // Either no window or disabled - run target.exe
|
||||
{
|
||||
WCHAR szFile[MAX_PATH];
|
||||
@ -3465,12 +3468,12 @@ void LaunchTarget(LPCWSTR lpFileName,BOOL bOpenNew)
|
||||
WCHAR szParam[MAX_PATH] = L"";
|
||||
WCHAR szTmp[MAX_PATH];
|
||||
|
||||
if (iUseTargetApplication &&
|
||||
iTargetApplicationMode == 2 &&
|
||||
if ((eUseTargetApplication != UTA_UNDEFINED) &&
|
||||
(eTargetApplicationMode == TAM_SEND_DDE_MSG) &&
|
||||
ExecDDECommand(lpFileName,szDDEMsg,szDDEApp,szDDETopic))
|
||||
return;
|
||||
|
||||
if (!iUseTargetApplication && StrIsEmpty(lpFileName))
|
||||
if ((eUseTargetApplication == UTA_UNDEFINED) && StrIsEmpty(lpFileName))
|
||||
return;
|
||||
|
||||
else {
|
||||
@ -3517,7 +3520,7 @@ void LaunchTarget(LPCWSTR lpFileName,BOOL bOpenNew)
|
||||
sei.fMask = 0;
|
||||
sei.hwnd = hwndMain;
|
||||
sei.lpVerb = NULL;
|
||||
if (iUseTargetApplication) {
|
||||
if (eUseTargetApplication != UTA_UNDEFINED) {
|
||||
sei.lpFile = szFile;
|
||||
sei.lpParameters = szParam;
|
||||
}
|
||||
|
||||
@ -81,6 +81,7 @@
|
||||
//==== Callback Message from System Tray ======================================
|
||||
#define WM_TRAYMESSAGE WM_USER
|
||||
|
||||
|
||||
//==== TypeDefs ======================================
|
||||
typedef struct _wi
|
||||
{
|
||||
@ -90,6 +91,11 @@ typedef struct _wi
|
||||
int cy;
|
||||
} WININFO;
|
||||
|
||||
|
||||
typedef enum { UTA_UNDEFINED = 0, UTA_LAUNCH_TARGET = 1, UTA_DEFINE_TARGET = 4 } UseTargetApp;
|
||||
typedef enum { TAM_ALWAYS_RUN = 0, TAM_SEND_DROP_MSG = 1, TAM_SEND_DDE_MSG = 2 } TargetAppMode;
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#define DL_FILTER_BUFSIZE 256 // should correspond to Dlapi.h def
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<assemblyIdentity
|
||||
name="Notepad3"
|
||||
processorArchitecture="*"
|
||||
version="5.19.1123.2686"
|
||||
version="5.19.1126.2687"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Notepad3 BETA</description>
|
||||
|
||||
@ -3355,7 +3355,7 @@ WINDOWPLACEMENT WindowPlacementFromInfo(HWND hwnd, const WININFO* pWinInfo, SCRE
|
||||
// DialogNewWindow()
|
||||
//
|
||||
//
|
||||
void DialogNewWindow(HWND hwnd, bool bSaveOnRunTools, bool bSetCurFile)
|
||||
void DialogNewWindow(HWND hwnd, bool bSaveOnRunTools, LPCWSTR lpcwFilePath)
|
||||
{
|
||||
if (bSaveOnRunTools && !FileSave(false, true, false, false, Flags.bPreserveFileModTime)) { return; }
|
||||
|
||||
@ -3384,23 +3384,23 @@ void DialogNewWindow(HWND hwnd, bool bSaveOnRunTools, bool bSetCurFile)
|
||||
|
||||
MONITORINFO mi;
|
||||
WININFO wi = GetMyWindowPlacement(hwnd, &mi);
|
||||
// offset new window position +10/+10
|
||||
wi.x += 10;
|
||||
wi.y += 10;
|
||||
// check if window fits monitor
|
||||
if ((wi.x + wi.cx) > mi.rcWork.right || (wi.y + wi.cy) > mi.rcWork.bottom) {
|
||||
wi.x = mi.rcMonitor.left;
|
||||
wi.y = mi.rcMonitor.top;
|
||||
}
|
||||
wi.max = IsZoomed(hwnd);
|
||||
//~ offset new window position +10/+10
|
||||
//~wi.x += 10;
|
||||
//~wi.y += 10;
|
||||
//~// check if window fits monitor
|
||||
//~if ((wi.x + wi.cx) > mi.rcWork.right || (wi.y + wi.cy) > mi.rcWork.bottom) {
|
||||
//~ wi.x = mi.rcMonitor.left;
|
||||
//~ wi.y = mi.rcMonitor.top;
|
||||
//~}
|
||||
//~wi.max = IsZoomed(hwnd);
|
||||
|
||||
StringCchPrintf(tch, COUNTOF(tch), L" -pos %i,%i,%i,%i,%i", wi.x, wi.y, wi.cx, wi.cy, wi.max);
|
||||
StringCchCat(szParameters, COUNTOF(szParameters), tch);
|
||||
|
||||
if (bSetCurFile && StrIsNotEmpty(Globals.CurrentFile))
|
||||
if (StrIsNotEmpty(lpcwFilePath))
|
||||
{
|
||||
WCHAR szFileName[MAX_PATH] = { L'\0' };
|
||||
StringCchCopy(szFileName, COUNTOF(szFileName), Globals.CurrentFile);
|
||||
StringCchCopy(szFileName, COUNTOF(szFileName), lpcwFilePath);
|
||||
PathQuoteSpaces(szFileName);
|
||||
StringCchCat(szParameters, COUNTOF(szParameters), L" ");
|
||||
StringCchCat(szParameters, COUNTOF(szParameters), szFileName);
|
||||
|
||||
@ -45,7 +45,7 @@ WININFO GetMyWindowPlacement(HWND hwnd,MONITORINFO * hMonitorInfo);
|
||||
void FitIntoMonitorGeometry(RECT* pRect, WININFO* pWinInfo, SCREEN_MODE mode);
|
||||
WINDOWPLACEMENT WindowPlacementFromInfo(HWND hwnd, const WININFO* pWinInfo, SCREEN_MODE mode);
|
||||
|
||||
void DialogNewWindow(HWND hwnd,bool,bool);
|
||||
void DialogNewWindow(HWND hwnd, bool bSaveOnRunTools, LPCWSTR lpcwFilePath);
|
||||
void DialogFileBrowse(HWND hwnd);
|
||||
void DialogAdminExe(HWND hwnd,bool);
|
||||
|
||||
|
||||
@ -2750,26 +2750,28 @@ LRESULT MsgDropFiles(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
UNUSED(lParam);
|
||||
|
||||
WCHAR szBuf[MAX_PATH + 40];
|
||||
WCHAR szDropStrgBuf[MAX_PATH + 40];
|
||||
HDROP hDrop = (HDROP)wParam;
|
||||
|
||||
// Reset Change Notify
|
||||
//bPendingChangeNotify = false;
|
||||
|
||||
if (IsIconic(hwnd))
|
||||
if (IsIconic(hwnd)) {
|
||||
ShowWindow(hwnd, SW_RESTORE);
|
||||
|
||||
//SetForegroundWindow(hwnd);
|
||||
|
||||
DragQueryFile(hDrop, 0, szBuf, COUNTOF(szBuf));
|
||||
|
||||
if (PathIsDirectory(szBuf)) {
|
||||
WCHAR tchFile[MAX_PATH] = { L'\0' };
|
||||
if (OpenFileDlg(Globals.hwndMain, tchFile, COUNTOF(tchFile), szBuf))
|
||||
FileLoad(false, false, false, Settings.SkipUnicodeDetection, Settings.SkipANSICodePageDetection, false, tchFile);
|
||||
}
|
||||
else if (PathFileExists(szBuf)) {
|
||||
FileLoad(false, false, false, Settings.SkipUnicodeDetection, Settings.SkipANSICodePageDetection, false, szBuf);
|
||||
|
||||
DragQueryFile(hDrop, 0, szDropStrgBuf, COUNTOF(szDropStrgBuf));
|
||||
|
||||
if (PathIsDirectory(szDropStrgBuf)) {
|
||||
WCHAR tchFile[MAX_PATH] = { L'\0' };
|
||||
if (OpenFileDlg(Globals.hwndMain, tchFile, COUNTOF(tchFile), szDropStrgBuf)) {
|
||||
FileLoad(false, false, false, Settings.SkipUnicodeDetection, Settings.SkipANSICodePageDetection, false, tchFile);
|
||||
}
|
||||
}
|
||||
else if (PathFileExists(szDropStrgBuf)) {
|
||||
if (Flags.bReuseWindow) {
|
||||
FileLoad(false, false, false, Settings.SkipUnicodeDetection, Settings.SkipANSICodePageDetection, false, szDropStrgBuf);
|
||||
}
|
||||
else {
|
||||
DialogNewWindow(hwnd, Settings.SaveBeforeRunningTools, szDropStrgBuf);
|
||||
}
|
||||
}
|
||||
else {
|
||||
#ifndef _EXTRA_DRAG_N_DROP_HANDLER_
|
||||
@ -2782,6 +2784,7 @@ LRESULT MsgDropFiles(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
if (DragQueryFile(hDrop, (UINT)(-1), NULL, 0) > 1) {
|
||||
InfoBoxLng(MB_ICONWARNING, NULL, IDS_MUI_ERR_DROP);
|
||||
}
|
||||
|
||||
DragFinish(hDrop);
|
||||
|
||||
return FALSE;
|
||||
@ -3718,8 +3721,9 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
case IDM_FILE_NEWWINDOW:
|
||||
case IDM_FILE_NEWWINDOW2:
|
||||
SaveAllSettings(false);
|
||||
DialogNewWindow(hwnd, Settings.SaveBeforeRunningTools, (iLoWParam != IDM_FILE_NEWWINDOW2));
|
||||
SaveAllSettings(false);
|
||||
LPCWSTR lpcwFilePath = (iLoWParam != IDM_FILE_NEWWINDOW2) ? Globals.CurrentFile : NULL;
|
||||
DialogNewWindow(hwnd, Settings.SaveBeforeRunningTools, lpcwFilePath);
|
||||
break;
|
||||
|
||||
|
||||
|
||||
@ -8,8 +8,8 @@
|
||||
#define SAPPNAME "Notepad3"
|
||||
#define VERSION_MAJOR 5
|
||||
#define VERSION_MINOR 19
|
||||
#define VERSION_REV 1123
|
||||
#define VERSION_BUILD 2686
|
||||
#define VERSION_REV 1126
|
||||
#define VERSION_BUILD 2687
|
||||
#define SCINTILLA_VER 421
|
||||
#define ONIGURUMA_REGEX_VER 6.9.4
|
||||
#define UCHARDET_VER 2018.09.27
|
||||
|
||||
Loading…
Reference in New Issue
Block a user