mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-11 21:03:05 +08:00
+ add: option to preserve origin file modification time
This commit is contained in:
parent
d57165efe8
commit
72e86e6825
@ -444,6 +444,7 @@
|
||||
#define IDM_FILE_MANAGEFAV 40020
|
||||
#define IDM_FILE_RECENT 40021
|
||||
#define IDM_FILE_EXIT 40022
|
||||
#define IDM_FILE_PRESERVE_FILEMODTIME 40023
|
||||
|
||||
#define IDM_ENCODING_ANSI 40100
|
||||
#define IDM_ENCODING_UNICODE 40101
|
||||
|
||||
@ -64,6 +64,8 @@ BEGIN
|
||||
MENUITEM "&Kopie speichern...\tCtrl+F6", IDM_FILE_SAVECOPY
|
||||
MENUITEM "&Nur lesend", IDM_FILE_READONLY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Keine Anpassung des &Zeitstempels", IDM_FILE_PRESERVE_FILEMODTIME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Verschlüsselungs Passwort...", IDM_SETPASS
|
||||
MENUITEM SEPARATOR
|
||||
POPUP "&Starte"
|
||||
|
||||
@ -64,6 +64,8 @@ BEGIN
|
||||
MENUITEM "Save &Copy...\tCtrl+F6", IDM_FILE_SAVECOPY
|
||||
MENUITEM "&Read Only", IDM_FILE_READONLY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Preserve File Modification Time", IDM_FILE_PRESERVE_FILEMODTIME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Set Encr&yption Passphrase...", IDM_SETPASS
|
||||
MENUITEM SEPARATOR
|
||||
POPUP "&Launch"
|
||||
|
||||
@ -64,6 +64,8 @@ BEGIN
|
||||
MENUITEM "Save &Copy...\tCtrl+F6", IDM_FILE_SAVECOPY
|
||||
MENUITEM "&Read Only", IDM_FILE_READONLY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Preserve File Modification Time", IDM_FILE_PRESERVE_FILEMODTIME
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Set Encr&yption Passphrase...", IDM_SETPASS
|
||||
MENUITEM SEPARATOR
|
||||
POPUP "&Launch"
|
||||
|
||||
@ -913,6 +913,7 @@ void LoadSettings()
|
||||
GET_INT_VALUE_FROM_INISECTION(Bidirectional, Defaults.Bidirectional, 0, 2); // set before
|
||||
GET_BOOL_VALUE_FROM_INISECTION(MuteMessageBeep, false);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(SplitUndoTypingSeqOnLnBreak, false);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(PreserveOrigFileModifyTime, false);
|
||||
|
||||
///~Settings2.IMEInteraction = clampi(IniSectionGetInt(Settings_Section, L"IMEInteraction", Settings2.IMEInteraction), SC_IME_WINDOWED, SC_IME_INLINE);
|
||||
|
||||
@ -1383,6 +1384,7 @@ bool SaveSettings(bool bSaveSettingsNow)
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, Bidirectional);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, MuteMessageBeep);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, SplitUndoTypingSeqOnLnBreak);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, PreserveOrigFileModifyTime);
|
||||
|
||||
///~IniSectionSetInt(Settings_Section, L"IMEInteraction", Settings2.IMEInteraction);
|
||||
|
||||
|
||||
11
src/Edit.c
11
src/Edit.c
@ -1356,6 +1356,14 @@ bool EditSaveFile(
|
||||
if (hFile == INVALID_HANDLE_VALUE)
|
||||
return false;
|
||||
|
||||
//FILETIME createTime;
|
||||
//FILETIME laccessTime;
|
||||
FILETIME modTime;
|
||||
//if (!GetFileTime(hFile, &createTime, &laccessTime, &modTime)) {
|
||||
if (!GetFileTime(hFile, NULL, NULL, &modTime)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ensure consistent line endings
|
||||
if (Settings.FixLineEndings) {
|
||||
EditEnsureConsistentLineEndings(hwnd);
|
||||
@ -1491,6 +1499,9 @@ bool EditSaveFile(
|
||||
}
|
||||
}
|
||||
|
||||
if (Settings.PreserveOrigFileModifyTime) {
|
||||
SetFileTime(hFile, NULL, NULL, &modTime);
|
||||
}
|
||||
CloseHandle(hFile);
|
||||
|
||||
if (bWriteSuccess) {
|
||||
|
||||
@ -3050,6 +3050,7 @@ LRESULT MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
EnableCmd(hmenu,IDM_FILE_READONLY,i);
|
||||
CheckCmd(hmenu,IDM_FILE_READONLY,s_bFileReadOnly);
|
||||
CheckCmd(hmenu,IDM_FILE_PRESERVE_FILEMODTIME, Settings.PreserveOrigFileModifyTime);
|
||||
|
||||
EnableCmd(hmenu,IDM_ENCODING_UNICODEREV,!ro);
|
||||
EnableCmd(hmenu,IDM_ENCODING_UNICODE,!ro);
|
||||
@ -5577,6 +5578,11 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
|
||||
break;
|
||||
|
||||
|
||||
case IDM_FILE_PRESERVE_FILEMODTIME:
|
||||
Settings.PreserveOrigFileModifyTime = !Settings.PreserveOrigFileModifyTime;
|
||||
break;
|
||||
|
||||
|
||||
case IDM_VIEW_CHANGENOTIFY:
|
||||
if (ChangeNotifyDlg(hwnd))
|
||||
InstallFileWatching(Globals.CurrentFile);
|
||||
|
||||
@ -431,6 +431,7 @@ typedef struct _settings_t
|
||||
int CustomSchemesDlgPosY;
|
||||
bool MuteMessageBeep;
|
||||
bool SplitUndoTypingSeqOnLnBreak;
|
||||
bool PreserveOrigFileModifyTime;
|
||||
|
||||
RECT PrintMargin;
|
||||
EDITFINDREPLACE EFR_Data;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user