mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
commit
6fc2d6d73f
@ -1 +1 @@
|
||||
2623
|
||||
2624
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<assemblyIdentity
|
||||
name="Notepad3"
|
||||
processorArchitecture="*"
|
||||
version="5.19.910.2623"
|
||||
version="5.19.911.2624"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Notepad3 BETA</description>
|
||||
|
||||
@ -1031,10 +1031,10 @@ void LoadSettings()
|
||||
|
||||
// 2nd set initial window position
|
||||
|
||||
s_WinInfo = s_DefWinInfo;
|
||||
|
||||
if (!s_flagPosParam /*|| g_bStickyWinPos*/) {
|
||||
|
||||
s_WinInfo = s_DefWinInfo;
|
||||
|
||||
WCHAR tchPosX[32], tchPosY[32], tchSizeX[32], tchSizeY[32], tchMaximized[32], tchZoom[32];
|
||||
|
||||
StringCchPrintf(tchPosX, COUNTOF(tchPosX), L"%ix%i PosX", ResX, ResY);
|
||||
@ -1049,7 +1049,6 @@ void LoadSettings()
|
||||
s_WinInfo.cx = IniSectionGetInt(Window_Section, tchSizeX, CW_USEDEFAULT);
|
||||
s_WinInfo.cy = IniSectionGetInt(Window_Section, tchSizeY, CW_USEDEFAULT);
|
||||
s_WinInfo.max = IniSectionGetBool(Window_Section, tchMaximized, false);
|
||||
s_WinInfo.max = clampi(s_WinInfo.max, 0, 1);
|
||||
s_WinInfo.zoom = IniSectionGetInt(Window_Section, tchZoom, (Globals.iCfgVersionRead < CFG_VER_0001) ? 0 : 100);
|
||||
if (Globals.iCfgVersionRead < CFG_VER_0001) { s_WinInfo.zoom = (s_WinInfo.zoom + 10) * 10; }
|
||||
s_WinInfo.zoom = clampi(s_WinInfo.zoom, SC_MIN_ZOOM_LEVEL, SC_MAX_ZOOM_LEVEL);
|
||||
|
||||
@ -2065,6 +2065,7 @@ static INT_PTR CALLBACK ChangeNotifyDlgProc(HWND hwnd, UINT umsg, WPARAM wParam,
|
||||
if (!FileWatching.MonitoringLog) { FileWatching.FileWatchingMode = Settings.FileWatchingMode; }
|
||||
|
||||
Settings.ResetFileWatching = IsButtonChecked(hwnd, 103);
|
||||
|
||||
if (!FileWatching.MonitoringLog) { FileWatching.ResetFileWatching = Settings.ResetFileWatching; }
|
||||
|
||||
if (FileWatching.MonitoringLog) { PostWMCommand(Globals.hwndMain, IDM_VIEW_CHASING_DOCTAIL); }
|
||||
|
||||
100
src/Notepad3.c
100
src/Notepad3.c
@ -130,7 +130,7 @@ static int s_iSortOptions = 0;
|
||||
static int s_iAlignMode = 0;
|
||||
static bool s_bIsAppThemed = true;
|
||||
static UINT s_msgTaskbarCreated = 0;
|
||||
static bool s_dwChangeNotifyTime = 0;
|
||||
static DWORD s_dwChangeNotifyTime = 0;
|
||||
static HANDLE s_hChangeHandle = NULL;
|
||||
static WCHAR s_wchTitleExcerpt[MIDSZ_BUFFER] = { L'\0' };
|
||||
static UINT s_uidsAppTitle = IDS_MUI_APPTITLE;
|
||||
@ -1035,7 +1035,10 @@ void InitWindowPosition(WININFO* pWinInfo, const int flagsPos)
|
||||
{
|
||||
WININFO winfo = *pWinInfo;
|
||||
|
||||
if (flagsPos == 1) {
|
||||
if (flagsPos == 0) {
|
||||
winfo = s_WinInfo;
|
||||
}
|
||||
else if (flagsPos == 1) {
|
||||
winfo.x = winfo.y = winfo.cx = winfo.cy = CW_USEDEFAULT;
|
||||
winfo.max = false;
|
||||
winfo.zoom = 100;
|
||||
@ -2924,13 +2927,15 @@ LRESULT MsgChangeNotify(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
UNUSED(wParam);
|
||||
UNUSED(lParam);
|
||||
|
||||
DocPos const iCurPos = SciCall_GetCurrentPos();
|
||||
|
||||
if (FileWatching.FileWatchingMode == FWM_MSGBOX || IsSaveNeeded(ISN_GET)) {
|
||||
SetForegroundWindow(hwnd);
|
||||
}
|
||||
|
||||
if (PathFileExists(Globals.CurrentFile))
|
||||
{
|
||||
bool bRevertFile = (FileWatching.FileWatchingMode == 2 && !IsSaveNeeded(ISN_GET));
|
||||
bool bRevertFile = (FileWatching.FileWatchingMode == FWM_AUTORELOAD && !IsSaveNeeded(ISN_GET));
|
||||
|
||||
if (!bRevertFile) {
|
||||
INT_PTR const answer = InfoBoxLng(MB_YESNO | MB_ICONWARNING, NULL, IDS_MUI_FILECHANGENOTIFY);
|
||||
@ -2944,7 +2949,8 @@ LRESULT MsgChangeNotify(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
SciCall_SetReadOnly(FileWatching.MonitoringLog);
|
||||
//SetForegroundWindow(hwnd);
|
||||
SciCall_ScrollToEnd();
|
||||
//~SciCall_ScrollToEnd();
|
||||
SciCall_GotoPos(iCurPos);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5238,8 +5244,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
|
||||
InstallFileWatching(Globals.CurrentFile); // force
|
||||
|
||||
CheckCmd(GetMenu(Globals.hwndMain), IDM_VIEW_CHASING_DOCTAIL, FileWatching.MonitoringLog);
|
||||
//~SciCall_DocumentEnd();
|
||||
SciCall_ScrollToEnd();
|
||||
|
||||
UpdateToolbar();
|
||||
}
|
||||
break;
|
||||
@ -7668,7 +7673,7 @@ void ParseCommandLine()
|
||||
}
|
||||
}
|
||||
else if (ExtractFirstArgument(lp2, lp1, lp2, (int)len)) {
|
||||
WININFO wi;
|
||||
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
|
||||
@ -9647,6 +9652,7 @@ bool DoElevatedRelaunch(EditFileIOStatus* pFioStatus)
|
||||
lpArgs = StrCutI(lpArgs, L"-u ");
|
||||
WCHAR wchFlags[32] = { L'\0' };
|
||||
if (s_flagAppIsClosing) { StringCchCopy(wchFlags, COUNTOF(wchFlags), L"/UC"); }
|
||||
|
||||
WININFO wi = GetMyWindowPlacement(Globals.hwndMain, NULL);
|
||||
|
||||
if (s_lpOrigFileArg) {
|
||||
@ -10482,36 +10488,33 @@ void CancelCallTip()
|
||||
// InstallFileWatching()
|
||||
//
|
||||
//
|
||||
static void _TerminateFileWatching()
|
||||
{
|
||||
if (s_bRunningWatch)
|
||||
{
|
||||
if (s_hChangeHandle) {
|
||||
FindCloseChangeNotification(s_hChangeHandle);
|
||||
s_hChangeHandle = NULL;
|
||||
}
|
||||
KillTimer(NULL, ID_WATCHTIMER);
|
||||
s_bRunningWatch = false;
|
||||
s_dwChangeNotifyTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void InstallFileWatching(LPCWSTR lpszFile)
|
||||
{
|
||||
// Terminate
|
||||
if ((FileWatching.FileWatchingMode == FWM_NONE) || StrIsEmpty(lpszFile))
|
||||
{
|
||||
if (s_bRunningWatch)
|
||||
{
|
||||
if (s_hChangeHandle) {
|
||||
FindCloseChangeNotification(s_hChangeHandle);
|
||||
s_hChangeHandle = NULL;
|
||||
}
|
||||
KillTimer(NULL,ID_WATCHTIMER);
|
||||
s_bRunningWatch = false;
|
||||
s_dwChangeNotifyTime = 0;
|
||||
}
|
||||
_TerminateFileWatching();
|
||||
}
|
||||
else // Install
|
||||
{
|
||||
// Terminate previous watching
|
||||
if (s_bRunningWatch) {
|
||||
if (s_hChangeHandle) {
|
||||
FindCloseChangeNotification(s_hChangeHandle);
|
||||
s_hChangeHandle = NULL;
|
||||
}
|
||||
s_dwChangeNotifyTime = 0;
|
||||
}
|
||||
// No previous watching installed, so launch the timer first
|
||||
else {
|
||||
SetTimer(NULL, ID_WATCHTIMER, FileWatching.FileCheckInverval, WatchTimerProc);
|
||||
}
|
||||
_TerminateFileWatching();
|
||||
|
||||
WCHAR tchDirectory[MAX_PATH] = { L'\0' };
|
||||
StringCchCopy(tchDirectory,COUNTOF(tchDirectory),lpszFile);
|
||||
PathCchRemoveFileSpec(tchDirectory, COUNTOF(tchDirectory));
|
||||
@ -10530,9 +10533,14 @@ void InstallFileWatching(LPCWSTR lpszFile)
|
||||
FILE_NOTIFY_CHANGE_SIZE | \
|
||||
FILE_NOTIFY_CHANGE_LAST_WRITE);
|
||||
|
||||
// No previous watching installed, so launch the timer first
|
||||
if (!s_bRunningWatch) {
|
||||
SetTimer(NULL, ID_WATCHTIMER, FileWatching.FileCheckInverval, WatchTimerProc);
|
||||
}
|
||||
s_bRunningWatch = true;
|
||||
s_dwChangeNotifyTime = 0;
|
||||
}
|
||||
|
||||
UpdateToolbar();
|
||||
}
|
||||
|
||||
@ -10551,18 +10559,14 @@ void CALLBACK WatchTimerProc(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime)
|
||||
|
||||
if (s_bRunningWatch)
|
||||
{
|
||||
if ((s_dwChangeNotifyTime > 0) && ((GetTickCount() - s_dwChangeNotifyTime) > FileWatching.AutoReloadTimeout))
|
||||
{
|
||||
if (s_hChangeHandle) {
|
||||
FindCloseChangeNotification(s_hChangeHandle);
|
||||
s_hChangeHandle = NULL;
|
||||
if (FileWatching.MonitoringLog) {
|
||||
if ((s_dwChangeNotifyTime > 0) && ((GetTickCount() - s_dwChangeNotifyTime) > FileWatching.AutoReloadTimeout))
|
||||
{
|
||||
_TerminateFileWatching();
|
||||
//SendMessage(Globals.hwndMain, WM_CHANGENOTIFY, 0, 0);
|
||||
MsgChangeNotify(Globals.hwndMain, (WPARAM)NULL, (LPARAM)NULL);
|
||||
}
|
||||
KillTimer(NULL,ID_WATCHTIMER);
|
||||
s_bRunningWatch = false;
|
||||
s_dwChangeNotifyTime = 0;
|
||||
SendMessage(Globals.hwndMain,WM_CHANGENOTIFY,0,0);
|
||||
}
|
||||
|
||||
// Check Change Notification Handle
|
||||
else if (WAIT_OBJECT_0 == WaitForSingleObject(s_hChangeHandle,0))
|
||||
{
|
||||
@ -10579,23 +10583,13 @@ void CALLBACK WatchTimerProc(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime)
|
||||
// Check if the file has been changed
|
||||
if (CompareFileTime(&s_fdCurFile.ftLastWriteTime,&fdUpdated.ftLastWriteTime) != 0 ||
|
||||
s_fdCurFile.nFileSizeLow != fdUpdated.nFileSizeLow ||
|
||||
s_fdCurFile.nFileSizeHigh != fdUpdated.nFileSizeHigh)
|
||||
s_fdCurFile.nFileSizeHigh != fdUpdated.nFileSizeHigh ||
|
||||
FileWatching.MonitoringLog /* force */)
|
||||
{
|
||||
// Shutdown current watching and give control to main window
|
||||
if (s_hChangeHandle) {
|
||||
FindCloseChangeNotification(s_hChangeHandle);
|
||||
s_hChangeHandle = NULL;
|
||||
}
|
||||
if (FileWatching.FileWatchingMode == FWM_AUTORELOAD) {
|
||||
s_bRunningWatch = true; /* ! */
|
||||
s_dwChangeNotifyTime = GetTickCount();
|
||||
}
|
||||
else {
|
||||
KillTimer(NULL,ID_WATCHTIMER);
|
||||
s_bRunningWatch = false;
|
||||
s_dwChangeNotifyTime = 0;
|
||||
SendMessage(Globals.hwndMain,WM_CHANGENOTIFY,0,0);
|
||||
}
|
||||
_TerminateFileWatching();
|
||||
//SendMessage(Globals.hwndMain,WM_CHANGENOTIFY,0,0);
|
||||
MsgChangeNotify(Globals.hwndMain, (WPARAM)NULL, (LPARAM)NULL);
|
||||
}
|
||||
else {
|
||||
FindNextChangeNotification(s_hChangeHandle);
|
||||
|
||||
@ -72,7 +72,7 @@
|
||||
#if defined(_MSC_VER)
|
||||
#if (_MSC_VER >= 1922)
|
||||
#if(_MSC_FULL_VER >= 192227905)
|
||||
#define VER_CPL MS Visual C++ 2019 v16.2.(0-4)
|
||||
#define VER_CPL MS Visual C++ 2019 v16.2.(0-5)
|
||||
#endif
|
||||
#elif (_MSC_VER >= 1921)
|
||||
#if(_MSC_FULL_VER >= 192127702)
|
||||
|
||||
@ -7,8 +7,8 @@
|
||||
#define SAPPNAME "Notepad3"
|
||||
#define VERSION_MAJOR 5
|
||||
#define VERSION_MINOR 19
|
||||
#define VERSION_REV 910
|
||||
#define VERSION_BUILD 2623
|
||||
#define VERSION_REV 911
|
||||
#define VERSION_BUILD 2624
|
||||
#define SCINTILLA_VER 420
|
||||
#define ONIGURUMA_REGEX_VER 6.9.3
|
||||
#define UCHARDET_VER 2018.09.27
|
||||
|
||||
Loading…
Reference in New Issue
Block a user