Updates and fixes for pass 2

This commit is contained in:
Michael J. Seiferling
2016-08-21 23:11:26 -06:00
parent 18befc19b3
commit 87f93ed4f5
7 changed files with 113 additions and 33 deletions
+27
View File
@@ -92,6 +92,9 @@ Partial Class frmGameManager
Me.cmsFile = New System.Windows.Forms.ToolStripMenuItem()
Me.txtQuickFilter = New System.Windows.Forms.TextBox()
Me.lblQuickFilter = New System.Windows.Forms.Label()
Me.cmsDeleteBackup = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.cmsDeleteOne = New System.Windows.Forms.ToolStripMenuItem()
Me.cmsDeleteAll = New System.Windows.Forms.ToolStripMenuItem()
Me.grpConfig.SuspendLayout()
CType(Me.nudLimit, System.ComponentModel.ISupportInitialize).BeginInit()
Me.grpExtra.SuspendLayout()
@@ -100,6 +103,7 @@ Partial Class frmGameManager
Me.grpStats.SuspendLayout()
Me.grpFilter.SuspendLayout()
Me.cmsImport.SuspendLayout()
Me.cmsDeleteBackup.SuspendLayout()
Me.SuspendLayout()
'
'btnAdd
@@ -785,6 +789,25 @@ Partial Class frmGameManager
Me.lblQuickFilter.TabIndex = 1
Me.lblQuickFilter.Text = "Quick Filter:"
'
'cmsDeleteBackup
'
Me.cmsDeleteBackup.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmsDeleteOne, Me.cmsDeleteAll})
Me.cmsDeleteBackup.Name = "cmsDeleteBackup"
Me.cmsDeleteBackup.ShowImageMargin = False
Me.cmsDeleteBackup.Size = New System.Drawing.Size(128, 70)
'
'cmsDeleteOne
'
Me.cmsDeleteOne.Name = "cmsDeleteOne"
Me.cmsDeleteOne.Size = New System.Drawing.Size(127, 22)
Me.cmsDeleteOne.Text = "&Selected File"
'
'cmsDeleteAll
'
Me.cmsDeleteAll.Name = "cmsDeleteAll"
Me.cmsDeleteAll.Size = New System.Drawing.Size(127, 22)
Me.cmsDeleteAll.Text = "&All Files"
'
'frmGameManager
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -829,6 +852,7 @@ Partial Class frmGameManager
Me.grpFilter.ResumeLayout(False)
Me.grpFilter.PerformLayout()
Me.cmsImport.ResumeLayout(False)
Me.cmsDeleteBackup.ResumeLayout(False)
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -902,4 +926,7 @@ Partial Class frmGameManager
Friend WithEvents lblLimit As Label
Friend WithEvents nudLimit As NumericUpDown
Friend WithEvents cboRemoteBackup As ComboBox
Friend WithEvents cmsDeleteBackup As ContextMenuStrip
Friend WithEvents cmsDeleteOne As ToolStripMenuItem
Friend WithEvents cmsDeleteAll As ToolStripMenuItem
End Class
+3
View File
@@ -120,4 +120,7 @@
<metadata name="cmsImport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="cmsDeleteBackup.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 17</value>
</metadata>
</root>
+46 -23
View File
@@ -637,9 +637,36 @@ Public Class frmGameManager
End Sub
Private Sub DeleteAllBackups()
Dim oBackupData As List(Of clsBackup)
Dim oBackup As clsBackup
If mgrCommon.ShowMessage(frmGameManager_ConfirmBackupDeleteAll, CurrentGame.Name, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
oBackupData = mgrManifest.DoManifestGetByName(CurrentGame.Name, mgrSQLite.Database.Remote)
For Each oBackup In oBackupData
'Delete the specific remote manifest entry
mgrManifest.DoManifestDeletebyID(oBackup, mgrSQLite.Database.Remote)
'Delete referenced backup file from the backup folder
mgrCommon.DeleteFile(BackupFolder & oBackup.FileName)
Next
'Delete local manifest entry
mgrManifest.DoManifestDeletebyName(CurrentBackupItem, mgrSQLite.Database.Local)
LoadBackupData()
If oCurrentGame.Temporary Then
LoadData()
eCurrentMode = eModes.Disabled
ModeChange()
Else
FillData()
End If
End If
End Sub
Private Sub DeleteBackup()
'Dim oDir As DirectoryInfo
'Dim sSubDir As String
If mgrCommon.ShowMessage(frmGameManager_ConfirmBackupDelete, Path.GetFileName(CurrentBackupItem.FileName), MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
'Delete the specific remote manifest entry
@@ -653,26 +680,6 @@ Public Class frmGameManager
'Delete referenced backup file from the backup folder
mgrCommon.DeleteFile(BackupFolder & CurrentBackupItem.FileName)
'Check if using backup sub-directories (Probably not the best way to check for this)
'If CurrentBackupItem.FileName.StartsWith(CurrentBackupItem.Name & Path.DirectorySeparatorChar) Then
' 'Build sub-dir backup path
' sSubDir = BackupFolder & CurrentBackupItem.Name
' If Directory.Exists(sSubDir) Then
' 'Check if there's any sub-directories or files remaining
' oDir = New DirectoryInfo(sSubDir)
' If oDir.GetDirectories.Length > 0 Or oDir.GetFiles.Length > 0 Then
' 'Confirm
' If mgrCommon.ShowMessage(frmGameManager_ConfirmBackupFolderDelete, New String() {sSubDir, oDir.GetDirectories.Length, oDir.GetFiles.Length}, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
' If Directory.Exists(sSubDir) Then mgrCommon.DeleteDirectory(sSubDir, True)
' End If
' Else
' 'Folder is empty, delete the empty sub-folder
' If Directory.Exists(sSubDir) Then mgrCommon.DeleteDirectory(sSubDir)
' End If
' End If
'End If
LoadBackupData()
If oCurrentGame.Temporary Then
@@ -1008,6 +1015,7 @@ Public Class frmGameManager
lblLimit.Visible = True
Else
nudLimit.Visible = False
nudLimit.Value = nudLimit.Minimum
lblLimit.Visible = False
End If
End Sub
@@ -1300,7 +1308,8 @@ Public Class frmGameManager
RestoreList.Clear()
If lstGames.SelectedItems.Count = 1 Then
RestoreList.Add(CurrentGame, CurrentBackupItem)
'Filter out any games set to monitor only
If Not CurrentGame.MonitorOnly Then RestoreList.Add(CurrentGame, CurrentBackupItem)
Else
For Each oData In lstGames.SelectedItems
If oRemoteBackupData.Contains(oData.Value) Then
@@ -1437,6 +1446,8 @@ Public Class frmGameManager
cmsFile.Text = frmGameManager_cmsFile
lblQuickFilter.Text = frmGameManager_lblQuickFilter
lblLimit.Text = frmGameManager_lblLimit
cmsDeleteOne.Text = frmGameManager_cmsDeleteOne
cmsDeleteAll.Text = frmGameManager_cmsDeleteAll
'Init Filter Timer
tmFilterTimer = New Timer()
@@ -1544,9 +1555,21 @@ Public Class frmGameManager
End Sub
Private Sub btnDeleteBackup_Click(sender As Object, e As EventArgs) Handles btnDeleteBackup.Click
If cboRemoteBackup.Items.Count > 1 Then
cmsDeleteBackup.Show(btnDeleteBackup, New Drawing.Point(109, 11), ToolStripDropDownDirection.AboveRight)
Else
DeleteBackup()
End If
End Sub
Private Sub cmsDeleteOne_Click(sender As Object, e As EventArgs) Handles cmsDeleteOne.Click
DeleteBackup()
End Sub
Private Sub cmsDeleteAll_Click(sender As Object, e As EventArgs) Handles cmsDeleteAll.Click
DeleteAllBackups()
End Sub
Private Sub btnMarkAsRestored_Click(sender As Object, e As EventArgs) Handles btnMarkAsRestored.Click
MarkAsRestored()
End Sub
+1 -1
View File
@@ -50,7 +50,7 @@ Public Class mgrBackup
oItem.CheckSum = sCheckSum
'Save Remote Manifest
If mgrManifest.DoSpecificManifestCheck(oItem.Name, oItem.FileName, mgrSQLite.Database.Remote) Then
If mgrManifest.DoSpecificManifestCheck(oItem, mgrSQLite.Database.Remote) Then
mgrManifest.DoManifestUpdateByID(oItem, mgrSQLite.Database.Remote)
Else
mgrManifest.DoManifestAdd(oItem, mgrSQLite.Database.Remote)
+6 -3
View File
@@ -116,7 +116,7 @@
Return oBackupItem
End Function
Public Shared Function DoSpecificManifestCheck(ByVal sName As String, ByVal sFileName As String, ByVal iSelectDB As mgrSQLite.Database) As Boolean
Public Shared Function DoSpecificManifestCheck(ByRef oItem As clsBackup, ByVal iSelectDB As mgrSQLite.Database) As Boolean
Dim oDatabase As New mgrSQLite(iSelectDB)
Dim oData As DataSet
Dim sSQL As String
@@ -125,12 +125,15 @@
sSQL = "SELECT * from manifest "
sSQL &= "WHERE Name = @Name AND FileName = @FileName"
hshParams.Add("Name", sName)
hshParams.Add("FileName", sFileName)
hshParams.Add("Name", oItem.Name)
hshParams.Add("FileName", oItem.FileName)
oData = oDatabase.ReadParamData(sSQL, hshParams)
If oData.Tables(0).Rows.Count > 0 Then
For Each dr As DataRow In oData.Tables(0).Rows
oItem.ID = CStr(dr("ManifestID"))
Next
Return True
Else
Return False
+21 -3
View File
@@ -1374,6 +1374,24 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Looks up a localized string similar to &amp;All Files.
'''</summary>
Friend ReadOnly Property frmGameManager_cmsDeleteAll() As String
Get
Return ResourceManager.GetString("frmGameManager_cmsDeleteAll", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to &amp;Selected File.
'''</summary>
Friend ReadOnly Property frmGameManager_cmsDeleteOne() As String
Get
Return ResourceManager.GetString("frmGameManager_cmsDeleteOne", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to &amp;File....
'''</summary>
@@ -1429,11 +1447,11 @@ Namespace My.Resources
End Property
'''<summary>
''' Looks up a localized string similar to The backup folder [PARAM] still contains [PARAM] directories and [PARAM] files.[BR][BR]Do you want to delete the contents and remove the sub-folder for this game?.
''' Looks up a localized string similar to This will delete all backup files for [PARAM]. This cannot be undone. [BR][BR]Do you want to continue?.
'''</summary>
Friend ReadOnly Property frmGameManager_ConfirmBackupFolderDelete() As String
Friend ReadOnly Property frmGameManager_ConfirmBackupDeleteAll() As String
Get
Return ResourceManager.GetString("frmGameManager_ConfirmBackupFolderDelete", resourceCulture)
Return ResourceManager.GetString("frmGameManager_ConfirmBackupDeleteAll", resourceCulture)
End Get
End Property
+9 -3
View File
@@ -529,9 +529,6 @@
<data name="frmGameManager_ConfirmBackupDelete" xml:space="preserve">
<value>This will delete the selected backup file. This cannot be undone. [BR][BR]Do you want to delete [PARAM]?</value>
</data>
<data name="frmGameManager_ConfirmBackupFolderDelete" xml:space="preserve">
<value>The backup folder [PARAM] still contains [PARAM] directories and [PARAM] files.[BR][BR]Do you want to delete the contents and remove the sub-folder for this game?</value>
</data>
<data name="frmGameManager_ConfirmGameDelete" xml:space="preserve">
<value>Are you sure you want to delete [PARAM]? This cannot be undone.[BR][BR]This will not delete any backup files that already exist for this game.</value>
</data>
@@ -1720,4 +1717,13 @@
<data name="mgrBackup_BackupLimitExceeded" xml:space="preserve">
<value>[PARAM] backup limit ([PARAM]) exceeded. [PARAM] was automatically removed.</value>
</data>
<data name="frmGameManager_cmsDeleteAll" xml:space="preserve">
<value>&amp;All Files</value>
</data>
<data name="frmGameManager_cmsDeleteOne" xml:space="preserve">
<value>&amp;Selected File</value>
</data>
<data name="frmGameManager_ConfirmBackupDeleteAll" xml:space="preserve">
<value>This will delete all backup files for [PARAM]. This cannot be undone. [BR][BR]Do you want to continue?</value>
</data>
</root>