From 397311aad880c97f9cd138a68f6c7b763dfbf0c2 Mon Sep 17 00:00:00 2001 From: "METANEOCORTEX\\Kotti" Date: Tue, 30 Aug 2022 12:18:36 +0200 Subject: [PATCH] +add: persistent settings for "Document Read-Only Mode" --- src/Config/Config.cpp | 2 ++ src/Notepad3.c | 2 ++ src/TypeDefs.h | 1 + 3 files changed, 5 insertions(+) diff --git a/src/Config/Config.cpp b/src/Config/Config.cpp index 2877afa50..1acea95b8 100644 --- a/src/Config/Config.cpp +++ b/src/Config/Config.cpp @@ -1432,6 +1432,7 @@ void LoadSettings() GET_BOOL_VALUE_FROM_INISECTION(SaveRecentFiles, true); GET_BOOL_VALUE_FROM_INISECTION(PreserveCaretPos, false); GET_BOOL_VALUE_FROM_INISECTION(SaveFindReplace, false); + GET_BOOL_VALUE_FROM_INISECTION(DocReadOnlyMode, false); Defaults.EFR_Data.bFindClose = false; Settings.EFR_Data.bFindClose = IniSectionGetBool(IniSecSettings, L"CloseFind", Defaults.EFR_Data.bFindClose); @@ -1884,6 +1885,7 @@ static bool _SaveSettings(bool bForceSaveSettings) SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, PreserveCaretPos); SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, SaveFindReplace); SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, SaveFindReplace); + SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, DocReadOnlyMode); if (Settings.EFR_Data.bFindClose != Defaults.EFR_Data.bFindClose) { IniSectionSetBool(IniSecSettings, L"CloseFind", Settings.EFR_Data.bFindClose); diff --git a/src/Notepad3.c b/src/Notepad3.c index 37905f9a7..f7413c5dc 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -5664,6 +5664,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) case IDM_VIEW_READONLY: SciCall_SetReadOnly(!SciCall_GetReadOnly()); + Settings.DocReadOnlyMode = SciCall_GetReadOnly(); UpdateToolbar(); break; @@ -10504,6 +10505,7 @@ bool FileIO(bool fLoad, const HPATHL hfile_pth, EditFileIOStatus* status, if (fLoad) { SciCall_SetReadOnly(false); fSuccess = EditLoadFile(Globals.hwndEdit, hfile_pth, status, fLoadFlags, bSetSavePoint); + SciCall_SetReadOnly(Settings.DocReadOnlyMode); } else { int idx; if (MRU_FindPath(Globals.pFileMRU, hfile_pth, &idx)) { diff --git a/src/TypeDefs.h b/src/TypeDefs.h index 6d1b4787e..8e2595af5 100644 --- a/src/TypeDefs.h +++ b/src/TypeDefs.h @@ -527,6 +527,7 @@ typedef struct SETTINGS_T { int WordWrapIndent; int WordWrapSymbols; bool ShowWordWrapSymbols; + bool DocReadOnlyMode; bool MatchBraces; bool AutoCloseTags; int HighlightCurrentLine;