Skip to content

Commit 042683f

Browse files
author
RandomEngy
committed
Added option to disable remembering recent files and folders.
1 parent b6f3be9 commit 042683f

12 files changed

Lines changed: 121 additions & 27 deletions

VidCoder/Properties/Settings.Designer.cs

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VidCoder/Properties/Settings.settings

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,5 +164,8 @@
164164
<Setting Name="DeleteSourceFilesOnClearingCompleted" Type="System.Boolean" Scope="User">
165165
<Value Profile="(Default)">False</Value>
166166
</Setting>
167+
<Setting Name="RememberPreviousFiles" Type="System.Boolean" Scope="User">
168+
<Value Profile="(Default)">True</Value>
169+
</Setting>
167170
</Settings>
168171
</SettingsFile>

VidCoder/Services/PresetImportExport.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,18 @@ public void ExportPreset(Preset preset)
7575
}
7676

7777
string exportFileName = this.fileService.GetFileNameSave(
78-
Settings.Default.LastPresetExportFolder,
78+
Settings.Default.RememberPreviousFiles ? Settings.Default.LastPresetExportFolder : null,
7979
"Export preset",
8080
Utilities.CleanFileName(initialFileName + ".xml"),
8181
"xml",
8282
"XML Files|*.xml");
8383
if (exportFileName != null)
8484
{
85-
Settings.Default.LastPresetExportFolder = Path.GetDirectoryName(exportFileName);
86-
Settings.Default.Save();
85+
if (Settings.Default.RememberPreviousFiles)
86+
{
87+
Settings.Default.LastPresetExportFolder = Path.GetDirectoryName(exportFileName);
88+
Settings.Default.Save();
89+
}
8790

8891
if (Presets.SavePresetToFile(exportPreset, exportFileName))
8992
{

VidCoder/Utilities/SourceHistory.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ public static class SourceHistory
1212

1313
public static void AddToHistory(string sourcePath)
1414
{
15+
if (!Settings.Default.RememberPreviousFiles)
16+
{
17+
return;
18+
}
19+
1520
List<string> history = GetHistory();
1621
history.Remove(sourcePath);
1722

VidCoder/View/OptionsDialog.xaml

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@
139139
<RowDefinition Height="22" />
140140
<RowDefinition Height="22" />
141141
<RowDefinition Height="22" />
142+
<RowDefinition Height="22" />
142143
<RowDefinition Height="Auto" />
143144
<RowDefinition Height="24" />
144145
<RowDefinition Height="Auto" />
@@ -154,45 +155,51 @@
154155
<ComboBoxItem>25</ComboBoxItem>
155156
<ComboBoxItem>30</ComboBoxItem>
156157
</ComboBox>
158+
157159
<CheckBox
158160
Grid.Row="1"
161+
Content="Remember previously used files and folders"
162+
IsChecked="{Binding RememberPreviousFiles}"
163+
Height="16" HorizontalAlignment="Left" Margin="15,0,0,0" VerticalAlignment="Center" />
164+
<CheckBox
165+
Grid.Row="2"
159166
Content="Allow setting custom name on audio tracks (limited player support)"
160167
IsChecked="{Binding ShowAudioTrackNameField}"
161168
Height="16" HorizontalAlignment="Left" Margin="15,0,0,0" VerticalAlignment="Center" />
162169
<CheckBox
163-
Grid.Row="2"
170+
Grid.Row="3"
164171
Content="Enable LibDVDNav (change requires program restart)"
165172
IsChecked="{Binding EnableLibDvdNav}"
166173
Height="16" HorizontalAlignment="Left" Margin="15,0,0,0" VerticalAlignment="Center" />
167174
<CheckBox
168-
Grid.Row="3"
175+
Grid.Row="4"
169176
Content="Keep scans after completion (allows editing completed items)"
170177
IsChecked="{Binding KeepScansAfterCompletion}"
171178
Height="16" HorizontalAlignment="Left" Margin="15,0,0,0" VerticalAlignment="Center" />
172179
<CheckBox
173-
Grid.Row="4"
180+
Grid.Row="5"
174181
Content="Prompt to delete source files after clearing successful completed items"
175182
IsChecked="{Binding DeleteSourceFilesOnClearingCompleted}"
176183
Height="16" HorizontalAlignment="Left" Margin="15,0,0,0" VerticalAlignment="Center" />
177184
<Label
178-
Grid.Row="5"
185+
Grid.Row="6"
179186
Content="Logging Verbosity:" Height="28" HorizontalAlignment="Left" Margin="6,0,0,0" VerticalAlignment="Center" />
180187
<ComboBox
181-
Grid.Row="5"
188+
Grid.Row="6"
182189
Height="23" HorizontalAlignment="Left" Margin="121,0,0,0" SelectedValue="{Binding LogVerbosity}" SelectedValuePath="Content" VerticalAlignment="Center" Width="42">
183190
<ComboBoxItem Content="0" />
184191
<ComboBoxItem Content="1" />
185192
<ComboBoxItem Content="2" />
186193
</ComboBox>
187194
<TextBlock
188-
Grid.Row="5"
195+
Grid.Row="6"
189196
HorizontalAlignment="Left" Margin="182,0,0,0" Text="Log verbosity will take effect on next scan or program restart." TextWrapping="Wrap" VerticalAlignment="Center" Visibility="{Binding LogVerbosityWarningVisible, Converter={StaticResource VisibilityConverter}}" />
190197

191198
<TextBlock
192-
Grid.Row="6"
199+
Grid.Row="7"
193200
Height="23" HorizontalAlignment="Left" Margin="11,5,0,0" Text="Minimum length of title to scan (seconds):" VerticalAlignment="Center" />
194201
<my:NumberBox
195-
Grid.Row="6" HorizontalAlignment="Left" Margin="243,2,0,0" VerticalAlignment="Top" AllowEmpty="False" Width="45"
202+
Grid.Row="7" HorizontalAlignment="Left" Margin="243,2,0,0" VerticalAlignment="Top" AllowEmpty="False" Width="45"
196203
Number="{Binding MinimumTitleLengthSeconds, Mode=TwoWay}" Minimum="0" />
197204
</Grid>
198205
</TabItem>

VidCoder/ViewModel/ChapterMarkersDialogViewModel.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,18 @@ public ICommand ImportCsvFileCommand
8484
{
8585
this.importCsvFileCommand = new RelayCommand(() =>
8686
{
87-
string csvFile = FileService.Instance.GetFileNameLoad(Settings.Default.LastCsvFolder, "Import chapters file", "csv", "CSV Files|*.csv");
87+
string csvFile = FileService.Instance.GetFileNameLoad(
88+
Settings.Default.RememberPreviousFiles ? Settings.Default.LastCsvFolder : null,
89+
"Import chapters file",
90+
"csv",
91+
"CSV Files|*.csv");
8892
if (csvFile != null)
8993
{
90-
Settings.Default.LastCsvFolder = Path.GetDirectoryName(csvFile);
91-
Settings.Default.Save();
94+
if (Settings.Default.RememberPreviousFiles)
95+
{
96+
Settings.Default.LastCsvFolder = Path.GetDirectoryName(csvFile);
97+
Settings.Default.Save();
98+
}
9299

93100
bool success = false;
94101
var chapterMap = new Dictionary<int, string>();

VidCoder/ViewModel/Components/OutputPathViewModel.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public RelayCommand PickOutputPathCommand
130130
string extensionLabel = extension.ToUpperInvariant();
131131

132132
string newOutputPath = FileService.Instance.GetFileNameSave(
133-
Settings.Default.LastOutputFolder,
133+
Settings.Default.RememberPreviousFiles ? Settings.Default.LastOutputFolder : null,
134134
"Encode output location",
135135
null,
136136
extension,
@@ -300,8 +300,12 @@ public void SetManualOutputPath(string newOutputPath, string oldOutputPath)
300300
if (Utilities.IsValidFullPath(newOutputPath))
301301
{
302302
string outputDirectory = Path.GetDirectoryName(newOutputPath);
303-
Settings.Default.LastOutputFolder = outputDirectory;
304-
Settings.Default.Save();
303+
304+
if (Settings.Default.RememberPreviousFiles)
305+
{
306+
Settings.Default.LastOutputFolder = outputDirectory;
307+
Settings.Default.Save();
308+
}
305309

306310
string fileName = Path.GetFileNameWithoutExtension(newOutputPath);
307311
string extension = this.GetOutputExtension();

VidCoder/ViewModel/Components/ProcessingViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ public RelayCommand QueueFilesCommand
494494
return;
495495
}
496496

497-
IList<string> fileNames = FileService.Instance.GetFileNames(Settings.Default.LastInputFileFolder);
497+
IList<string> fileNames = FileService.Instance.GetFileNames(Settings.Default.RememberPreviousFiles ? Settings.Default.LastInputFileFolder : null);
498498
if (fileNames != null && fileNames.Count > 0)
499499
{
500500
Settings.Default.LastInputFileFolder = Path.GetDirectoryName(fileNames[0]);

VidCoder/ViewModel/MainViewModel.cs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,9 @@ public bool SetSourceFromFile()
191191
this.SourceSelectionExpanded = false;
192192
}
193193

194-
string videoFile = FileService.Instance.GetFileNameLoad(Settings.Default.LastInputFileFolder, "Load video file");
194+
string videoFile = FileService.Instance.GetFileNameLoad(
195+
Settings.Default.RememberPreviousFiles ? Settings.Default.LastInputFileFolder : null,
196+
"Load video file");
195197

196198
if (videoFile != null)
197199
{
@@ -204,8 +206,11 @@ public bool SetSourceFromFile()
204206

205207
public void SetSourceFromFile(string videoFile)
206208
{
207-
Settings.Default.LastInputFileFolder = Path.GetDirectoryName(videoFile);
208-
Settings.Default.Save();
209+
if (Settings.Default.RememberPreviousFiles)
210+
{
211+
Settings.Default.LastInputFileFolder = Path.GetDirectoryName(videoFile);
212+
Settings.Default.Save();
213+
}
209214

210215
this.SourceName = Utilities.GetSourceNameFile(videoFile);
211216
this.StartScan(videoFile);
@@ -221,7 +226,9 @@ public bool SetSourceFromFolder()
221226
this.SourceSelectionExpanded = false;
222227
}
223228

224-
string folderPath = FileService.Instance.GetFolderName(Settings.Default.LastVideoTSFolder, "Pick a DVD or Blu-ray folder.");
229+
string folderPath = FileService.Instance.GetFolderName(
230+
Settings.Default.RememberPreviousFiles ? Settings.Default.LastVideoTSFolder : null,
231+
"Pick a DVD or Blu-ray folder.");
225232

226233
// Make sure we get focus back after displaying the dialog.
227234
WindowManager.FocusWindow(this);
@@ -237,8 +244,12 @@ public bool SetSourceFromFolder()
237244

238245
public void SetSourceFromFolder(string videoFolder)
239246
{
240-
Settings.Default.LastVideoTSFolder = videoFolder;
241-
Settings.Default.Save();
247+
if (Settings.Default.RememberPreviousFiles)
248+
{
249+
Settings.Default.LastVideoTSFolder = videoFolder;
250+
Settings.Default.Save();
251+
}
252+
242253
this.SourceName = Utilities.GetSourceNameFolder(videoFolder);
243254

244255
this.StartScan(videoFolder);

VidCoder/ViewModel/OptionsDialogViewModel.cs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public OptionsDialogViewModel(IUpdater updateService)
6060
this.dubAudio = Settings.Default.DubAudio;
6161
this.logVerbosity = Settings.Default.LogVerbosity;
6262
this.previewCount = Settings.Default.PreviewCount;
63+
this.rememberPreviousFiles = Settings.Default.RememberPreviousFiles;
6364
this.showAudioTrackNameField = Settings.Default.ShowAudioTrackNameField;
6465
this.keepScansAfterCompletion = Settings.Default.KeepScansAfterCompletion;
6566
this.enableLibDvdNav = Settings.Default.EnableLibDvdNav;
@@ -369,6 +370,21 @@ public int PreviewCount
369370
}
370371
}
371372

373+
private bool rememberPreviousFiles;
374+
public bool RememberPreviousFiles
375+
{
376+
get
377+
{
378+
return this.rememberPreviousFiles;
379+
}
380+
381+
set
382+
{
383+
this.rememberPreviousFiles = value;
384+
this.RaisePropertyChanged(() => this.RememberPreviousFiles);
385+
}
386+
}
387+
372388
public bool ShowAudioTrackNameField
373389
{
374390
get
@@ -483,6 +499,20 @@ public RelayCommand SaveSettingsCommand
483499

484500
Settings.Default.AutoPauseProcesses = autoPauseStringCollection;
485501
Settings.Default.PreviewCount = this.PreviewCount;
502+
Settings.Default.RememberPreviousFiles = this.RememberPreviousFiles;
503+
// Clear out any file/folder history when this is disabled.
504+
if (!this.RememberPreviousFiles)
505+
{
506+
Settings.Default.LastCsvFolder = null;
507+
Settings.Default.LastInputFileFolder = null;
508+
Settings.Default.LastOutputFolder = null;
509+
Settings.Default.LastPresetExportFolder = null;
510+
Settings.Default.LastSrtFolder = null;
511+
Settings.Default.LastVideoTSFolder = null;
512+
513+
Settings.Default.SourceHistory = null;
514+
}
515+
486516
Settings.Default.ShowAudioTrackNameField = this.ShowAudioTrackNameField;
487517
Settings.Default.EnableLibDvdNav = this.EnableLibDvdNav;
488518
Settings.Default.KeepScansAfterCompletion = this.KeepScansAfterCompletion;

0 commit comments

Comments
 (0)