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.cmsFile = New System.Windows.Forms.ToolStripMenuItem()
Me.txtQuickFilter = New System.Windows.Forms.TextBox() Me.txtQuickFilter = New System.Windows.Forms.TextBox()
Me.lblQuickFilter = New System.Windows.Forms.Label() 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() Me.grpConfig.SuspendLayout()
CType(Me.nudLimit, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.nudLimit, System.ComponentModel.ISupportInitialize).BeginInit()
Me.grpExtra.SuspendLayout() Me.grpExtra.SuspendLayout()
@@ -100,6 +103,7 @@ Partial Class frmGameManager
Me.grpStats.SuspendLayout() Me.grpStats.SuspendLayout()
Me.grpFilter.SuspendLayout() Me.grpFilter.SuspendLayout()
Me.cmsImport.SuspendLayout() Me.cmsImport.SuspendLayout()
Me.cmsDeleteBackup.SuspendLayout()
Me.SuspendLayout() Me.SuspendLayout()
' '
'btnAdd 'btnAdd
@@ -785,6 +789,25 @@ Partial Class frmGameManager
Me.lblQuickFilter.TabIndex = 1 Me.lblQuickFilter.TabIndex = 1
Me.lblQuickFilter.Text = "Quick Filter:" 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 'frmGameManager
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -829,6 +852,7 @@ Partial Class frmGameManager
Me.grpFilter.ResumeLayout(False) Me.grpFilter.ResumeLayout(False)
Me.grpFilter.PerformLayout() Me.grpFilter.PerformLayout()
Me.cmsImport.ResumeLayout(False) Me.cmsImport.ResumeLayout(False)
Me.cmsDeleteBackup.ResumeLayout(False)
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
@@ -902,4 +926,7 @@ Partial Class frmGameManager
Friend WithEvents lblLimit As Label Friend WithEvents lblLimit As Label
Friend WithEvents nudLimit As NumericUpDown Friend WithEvents nudLimit As NumericUpDown
Friend WithEvents cboRemoteBackup As ComboBox Friend WithEvents cboRemoteBackup As ComboBox
Friend WithEvents cmsDeleteBackup As ContextMenuStrip
Friend WithEvents cmsDeleteOne As ToolStripMenuItem
Friend WithEvents cmsDeleteAll As ToolStripMenuItem
End Class 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"> <metadata name="cmsImport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </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> </root>
+46 -23
View File
@@ -637,9 +637,36 @@ Public Class frmGameManager
End Sub 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() 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 If mgrCommon.ShowMessage(frmGameManager_ConfirmBackupDelete, Path.GetFileName(CurrentBackupItem.FileName), MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
'Delete the specific remote manifest entry 'Delete the specific remote manifest entry
@@ -653,26 +680,6 @@ Public Class frmGameManager
'Delete referenced backup file from the backup folder 'Delete referenced backup file from the backup folder
mgrCommon.DeleteFile(BackupFolder & CurrentBackupItem.FileName) 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() LoadBackupData()
If oCurrentGame.Temporary Then If oCurrentGame.Temporary Then
@@ -1008,6 +1015,7 @@ Public Class frmGameManager
lblLimit.Visible = True lblLimit.Visible = True
Else Else
nudLimit.Visible = False nudLimit.Visible = False
nudLimit.Value = nudLimit.Minimum
lblLimit.Visible = False lblLimit.Visible = False
End If End If
End Sub End Sub
@@ -1300,7 +1308,8 @@ Public Class frmGameManager
RestoreList.Clear() RestoreList.Clear()
If lstGames.SelectedItems.Count = 1 Then 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 Else
For Each oData In lstGames.SelectedItems For Each oData In lstGames.SelectedItems
If oRemoteBackupData.Contains(oData.Value) Then If oRemoteBackupData.Contains(oData.Value) Then
@@ -1437,6 +1446,8 @@ Public Class frmGameManager
cmsFile.Text = frmGameManager_cmsFile cmsFile.Text = frmGameManager_cmsFile
lblQuickFilter.Text = frmGameManager_lblQuickFilter lblQuickFilter.Text = frmGameManager_lblQuickFilter
lblLimit.Text = frmGameManager_lblLimit lblLimit.Text = frmGameManager_lblLimit
cmsDeleteOne.Text = frmGameManager_cmsDeleteOne
cmsDeleteAll.Text = frmGameManager_cmsDeleteAll
'Init Filter Timer 'Init Filter Timer
tmFilterTimer = New Timer() tmFilterTimer = New Timer()
@@ -1544,7 +1555,19 @@ Public Class frmGameManager
End Sub End Sub
Private Sub btnDeleteBackup_Click(sender As Object, e As EventArgs) Handles btnDeleteBackup.Click 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() 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 End Sub
Private Sub btnMarkAsRestored_Click(sender As Object, e As EventArgs) Handles btnMarkAsRestored.Click Private Sub btnMarkAsRestored_Click(sender As Object, e As EventArgs) Handles btnMarkAsRestored.Click
+1 -1
View File
@@ -50,7 +50,7 @@ Public Class mgrBackup
oItem.CheckSum = sCheckSum oItem.CheckSum = sCheckSum
'Save Remote Manifest '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) mgrManifest.DoManifestUpdateByID(oItem, mgrSQLite.Database.Remote)
Else Else
mgrManifest.DoManifestAdd(oItem, mgrSQLite.Database.Remote) mgrManifest.DoManifestAdd(oItem, mgrSQLite.Database.Remote)
+6 -3
View File
@@ -116,7 +116,7 @@
Return oBackupItem Return oBackupItem
End Function 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 oDatabase As New mgrSQLite(iSelectDB)
Dim oData As DataSet Dim oData As DataSet
Dim sSQL As String Dim sSQL As String
@@ -125,12 +125,15 @@
sSQL = "SELECT * from manifest " sSQL = "SELECT * from manifest "
sSQL &= "WHERE Name = @Name AND FileName = @FileName" sSQL &= "WHERE Name = @Name AND FileName = @FileName"
hshParams.Add("Name", sName) hshParams.Add("Name", oItem.Name)
hshParams.Add("FileName", sFileName) hshParams.Add("FileName", oItem.FileName)
oData = oDatabase.ReadParamData(sSQL, hshParams) oData = oDatabase.ReadParamData(sSQL, hshParams)
If oData.Tables(0).Rows.Count > 0 Then 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 Return True
Else Else
Return False Return False
+21 -3
View File
@@ -1374,6 +1374,24 @@ Namespace My.Resources
End Get End Get
End Property 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> '''<summary>
''' Looks up a localized string similar to &amp;File.... ''' Looks up a localized string similar to &amp;File....
'''</summary> '''</summary>
@@ -1429,11 +1447,11 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<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> '''</summary>
Friend ReadOnly Property frmGameManager_ConfirmBackupFolderDelete() As String Friend ReadOnly Property frmGameManager_ConfirmBackupDeleteAll() As String
Get Get
Return ResourceManager.GetString("frmGameManager_ConfirmBackupFolderDelete", resourceCulture) Return ResourceManager.GetString("frmGameManager_ConfirmBackupDeleteAll", resourceCulture)
End Get End Get
End Property End Property
+9 -3
View File
@@ -529,9 +529,6 @@
<data name="frmGameManager_ConfirmBackupDelete" xml:space="preserve"> <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> <value>This will delete the selected backup file. This cannot be undone. [BR][BR]Do you want to delete [PARAM]?</value>
</data> </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"> <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> <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> </data>
@@ -1720,4 +1717,13 @@
<data name="mgrBackup_BackupLimitExceeded" xml:space="preserve"> <data name="mgrBackup_BackupLimitExceeded" xml:space="preserve">
<value>[PARAM] backup limit ([PARAM]) exceeded. [PARAM] was automatically removed.</value> <value>[PARAM] backup limit ([PARAM]) exceeded. [PARAM] was automatically removed.</value>
</data> </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> </root>