Added experimental "Clean folder on restore" feature

This commit is contained in:
Michael J. Seiferling
2016-11-14 15:37:44 -06:00
parent 229afa92fd
commit 8ebfed7ab7
11 changed files with 122 additions and 25 deletions
+16 -3
View File
@@ -95,6 +95,7 @@ Partial Class frmGameManager
Me.cmsDeleteBackup = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.cmsDeleteOne = New System.Windows.Forms.ToolStripMenuItem()
Me.cmsDeleteAll = New System.Windows.Forms.ToolStripMenuItem()
Me.chkCleanFolder = New System.Windows.Forms.CheckBox()
Me.grpConfig.SuspendLayout()
CType(Me.nudLimit, System.ComponentModel.ISupportInitialize).BeginInit()
Me.grpExtra.SuspendLayout()
@@ -151,6 +152,7 @@ Partial Class frmGameManager
'grpConfig
'
Me.grpConfig.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.grpConfig.Controls.Add(Me.chkCleanFolder)
Me.grpConfig.Controls.Add(Me.lblLimit)
Me.grpConfig.Controls.Add(Me.nudLimit)
Me.grpConfig.Controls.Add(Me.btnExclude)
@@ -182,7 +184,7 @@ Partial Class frmGameManager
Me.lblLimit.Location = New System.Drawing.Point(375, 130)
Me.lblLimit.Name = "lblLimit"
Me.lblLimit.Size = New System.Drawing.Size(68, 13)
Me.lblLimit.TabIndex = 13
Me.lblLimit.TabIndex = 14
Me.lblLimit.Text = "Backup Limit"
Me.lblLimit.Visible = False
'
@@ -192,7 +194,7 @@ Partial Class frmGameManager
Me.nudLimit.Minimum = New Decimal(New Integer() {2, 0, 0, 0})
Me.nudLimit.Name = "nudLimit"
Me.nudLimit.Size = New System.Drawing.Size(40, 20)
Me.nudLimit.TabIndex = 12
Me.nudLimit.TabIndex = 13
Me.nudLimit.Value = New Decimal(New Integer() {2, 0, 0, 0})
Me.nudLimit.Visible = False
'
@@ -293,7 +295,7 @@ Partial Class frmGameManager
Me.chkTimeStamp.Location = New System.Drawing.Point(190, 129)
Me.chkTimeStamp.Name = "chkTimeStamp"
Me.chkTimeStamp.Size = New System.Drawing.Size(133, 17)
Me.chkTimeStamp.TabIndex = 11
Me.chkTimeStamp.TabIndex = 12
Me.chkTimeStamp.Text = "Save multiple backups"
Me.chkTimeStamp.UseVisualStyleBackColor = True
'
@@ -807,6 +809,16 @@ Partial Class frmGameManager
Me.cmsDeleteAll.Size = New System.Drawing.Size(114, 22)
Me.cmsDeleteAll.Text = "&All Files"
'
'chkCleanFolder
'
Me.chkCleanFolder.AutoSize = True
Me.chkCleanFolder.Location = New System.Drawing.Point(329, 101)
Me.chkCleanFolder.Name = "chkCleanFolder"
Me.chkCleanFolder.Size = New System.Drawing.Size(132, 17)
Me.chkCleanFolder.TabIndex = 11
Me.chkCleanFolder.Text = "Clean folder on restore"
Me.chkCleanFolder.UseVisualStyleBackColor = True
'
'frmGameManager
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -928,4 +940,5 @@ Partial Class frmGameManager
Friend WithEvents cmsDeleteBackup As ContextMenuStrip
Friend WithEvents cmsDeleteOne As ToolStripMenuItem
Friend WithEvents cmsDeleteAll As ToolStripMenuItem
Friend WithEvents chkCleanFolder As CheckBox
End Class
+22 -1
View File
@@ -470,6 +470,7 @@ Public Class frmGameManager
frm.ShowDialog()
txtBox.Text = frm.BuilderString
VerifyCleanFolder()
End Sub
Private Function FindRestorePath() As Boolean
@@ -714,6 +715,7 @@ Public Class frmGameManager
txtFileType.Text = oApp.FileType
txtExclude.Text = oApp.ExcludeList
chkFolderSave.Checked = oApp.FolderSave
chkCleanFolder.Checked = oApp.CleanFolder
chkTimeStamp.Checked = oApp.AppendTimeStamp
nudLimit.Value = oApp.BackupLimit
chkEnabled.Checked = oApp.Enabled
@@ -826,6 +828,7 @@ Public Class frmGameManager
WipeControls(grpConfig.Controls)
WipeControls(grpExtra.Controls)
WipeControls(grpStats.Controls)
chkCleanFolder.Enabled = False
pbIcon.Image = Icon_Unknown
chkEnabled.Enabled = True
chkMonitorOnly.Enabled = True
@@ -982,6 +985,7 @@ Public Class frmGameManager
Else
btnInclude.Enabled = True
End If
VerifyCleanFolder()
End Sub
Private Sub TimeStampModeChange()
@@ -996,6 +1000,17 @@ Public Class frmGameManager
End If
End Sub
Private Sub VerifyCleanFolder()
If Not bIsLoading Then
If chkFolderSave.Checked = True And txtExclude.Text = String.Empty And txtSavePath.Text <> String.Empty Then
chkCleanFolder.Enabled = True
Else
chkCleanFolder.Checked = False
chkCleanFolder.Enabled = False
End If
End If
End Sub
Private Sub EditApp()
eCurrentMode = eModes.Edit
ModeChange()
@@ -1062,6 +1077,7 @@ Public Class frmGameManager
oApp.FileType = txtFileType.Text
oApp.ExcludeList = txtExclude.Text
oApp.FolderSave = chkFolderSave.Checked
oApp.CleanFolder = chkCleanFolder.Checked
oApp.AppendTimeStamp = chkTimeStamp.Checked
oApp.BackupLimit = nudLimit.Value
oApp.Enabled = chkEnabled.Checked
@@ -1144,6 +1160,7 @@ Public Class frmGameManager
eCurrentMode = eModes.View
FillData()
ModeChange()
VerifyCleanFolder()
ElseIf lstGames.SelectedItems.Count > 1 Then
eCurrentMode = eModes.MultiSelect
ModeChange()
@@ -1411,6 +1428,7 @@ Public Class frmGameManager
lblName.Text = frmGameManager_lblName
chkTimeStamp.Text = frmGameManager_chkTimeStamp
chkFolderSave.Text = frmGameManager_chkFolderSave
chkCleanFolder.Text = frmGameManager_chkCleanFolder
btnBackup.Text = frmGameManager_btnBackup
btnClose.Text = frmGameManager_btnClose
btnDelete.Text = frmGameManager_btnDelete
@@ -1607,6 +1625,10 @@ Public Class frmGameManager
End If
End Sub
Private Sub txtSavePath_TextChanged(sender As Object, e As EventArgs) Handles txtSavePath.TextChanged
VerifyCleanFolder()
End Sub
Private Sub tmFilterTimer_Tick(sender As Object, ByVal e As EventArgs) Handles tmFilterTimer.Tick
lstGames.DataSource = Nothing
FormatAndFillList()
@@ -1617,5 +1639,4 @@ Public Class frmGameManager
Private Sub frmGameManager_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
txtQuickFilter.Focus()
End Sub
End Class
+3 -3
View File
@@ -181,7 +181,7 @@ Public Class frmMain
End If
If bPathVerified Then
If oRestore.CheckRestorePrereq(oRestoreInfo) Then
If oRestore.CheckRestorePrereq(oRestoreInfo, oGame.CleanFolder) Then
oReadyList.Add(oRestoreInfo)
End If
End If
@@ -661,9 +661,9 @@ Public Class frmMain
Private Sub OpenAbout()
Dim iProcessType As System.Reflection.ProcessorArchitecture = System.Reflection.AssemblyName.GetAssemblyName(Application.ExecutablePath()).ProcessorArchitecture
Dim sVersion As String = My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor
Dim sVersion As String = My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor & "." & My.Application.Info.Version.Build
Dim sProcessType = [Enum].GetName(GetType(System.Reflection.ProcessorArchitecture), iProcessType)
Dim sRevision As String = My.Application.Info.Version.Build & "." & My.Application.Info.Version.Revision
Dim sRevision As String = My.Application.Info.Version.Revision
Dim sConstCopyright As String = Chr(169) & mgrCommon.FormatString(App_Copyright, Now.Year.ToString)
mgrCommon.ShowMessage(frmMain_About, New String() {sVersion, sProcessType, sRevision, sConstCopyright}, MsgBoxStyle.Information)