From b49cd5d12acdfc69816cec0b1c0eef1b88fd8ca0 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Thu, 13 Jan 2022 11:38:48 -0500 Subject: [PATCH] Cmd line option to disable file recovery --- IDE/src/FileRecovery.bf | 3 ++- IDE/src/IDEApp.bf | 4 ++++ IDE/src/ui/SourceViewPanel.bf | 8 ++++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/IDE/src/FileRecovery.bf b/IDE/src/FileRecovery.bf index ef5e26fa..28e0eb76 100644 --- a/IDE/src/FileRecovery.bf +++ b/IDE/src/FileRecovery.bf @@ -56,6 +56,7 @@ namespace IDE WaitEvent mProcessingEvent ~ delete _; String mWorkspaceDir = new String() ~ delete _; bool mWantWorkspaceCleanup; + public bool mDisabled; public ~this() { @@ -177,7 +178,7 @@ namespace IDE public void CheckWorkspace() { - if (gApp.mSettings.mEditorSettings.mEnableFileRecovery != .Yes) + if ((gApp.mSettings.mEditorSettings.mEnableFileRecovery != .Yes) && (!mDisabled)) return; mWantWorkspaceCleanup = true; diff --git a/IDE/src/IDEApp.bf b/IDE/src/IDEApp.bf index fae5083f..770dae93 100644 --- a/IDE/src/IDEApp.bf +++ b/IDE/src/IDEApp.bf @@ -7192,6 +7192,10 @@ namespace IDE } #endif fallthrough; +#if !CLI + case "-noRecover": + mFileRecovery?.mDisabled = true; +#endif case "-forceSafe": mSafeMode = true; mNoResolve = true; diff --git a/IDE/src/ui/SourceViewPanel.bf b/IDE/src/ui/SourceViewPanel.bf index 3c7c6ace..655c1602 100644 --- a/IDE/src/ui/SourceViewPanel.bf +++ b/IDE/src/ui/SourceViewPanel.bf @@ -890,7 +890,11 @@ namespace IDE.ui public void CheckSavedContents() { if (((mEditData != null)) && (mEditData.mLastFileTextVersion == mEditWidget.Content.mData.mCurTextVersionId) && (mEditData.mRecoveryHash.IsZero) && - (gApp.mSettings.mEditorSettings.mEnableFileRecovery != .No)) + (gApp.mSettings.mEditorSettings.mEnableFileRecovery != .No) +#if !CLI + && (!gApp.mFileRecovery.mDisabled) +#endif + ) { String text = scope .(); mEditWidget.GetText(text); @@ -5939,7 +5943,7 @@ namespace IDE.ui { #if !CLI DeleteAndNullify!(mFileRecoveryEntry); - if ((mFilePath != null) && (mEditData != null) && (!mEditData.mRecoveryHash.IsZero) && (gApp.mSettings.mEditorSettings.mEnableFileRecovery != .No)) + if ((mFilePath != null) && (mEditData != null) && (!mEditData.mRecoveryHash.IsZero) && (gApp.mSettings.mEditorSettings.mEnableFileRecovery != .No) && (!gApp.mFileRecovery.mDisabled)) { String contents = scope .(); mEditWidget.GetText(contents);