Merge pull request #1624 from RaiKoHoff/DevNewFeatures

Minor fixes
This commit is contained in:
Rainer Kottenhoff 2019-09-11 14:53:24 +02:00 committed by GitHub
commit 6fc2d6d73f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 55 additions and 61 deletions

View File

@ -1 +1 @@
2623
2624

View File

@ -3,7 +3,7 @@
<assemblyIdentity
name="Notepad3"
processorArchitecture="*"
version="5.19.910.2623"
version="5.19.911.2624"
type="win32"
/>
<description>Notepad3 BETA</description>

View File

@ -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);

View File

@ -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); }

View File

@ -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);

View File

@ -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)

View File

@ -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