From e3bfc6adb192793a8c5be46b9cd366a0d658ca77 Mon Sep 17 00:00:00 2001 From: MikeMaximus Date: Thu, 10 Aug 2017 22:02:31 -0600 Subject: [PATCH 1/6] Changes for issue #89 --- GBM/Classes/XML Serialize Classes/Game.vb | 10 ++++++++ GBM/Forms/frmGameManager.vb | 28 +++++++++++++++++++++-- GBM/Managers/mgrCommon.vb | 4 +++- GBM/Managers/mgrMonitorList.vb | 1 + GBM/Managers/mgrXML.vb | 1 + 5 files changed, 41 insertions(+), 3 deletions(-) diff --git a/GBM/Classes/XML Serialize Classes/Game.vb b/GBM/Classes/XML Serialize Classes/Game.vb index 9ecadc8..1bc63d4 100644 --- a/GBM/Classes/XML Serialize Classes/Game.vb +++ b/GBM/Classes/XML Serialize Classes/Game.vb @@ -7,6 +7,7 @@ Private bFolderSave As Boolean Private sFileType As String Private sExcludeList As String + Private bMonitorOnly As Boolean Private oTags As List(Of Tag) Property Name As String @@ -81,6 +82,15 @@ End Get End Property + Property MonitorOnly As Boolean + Set(value As Boolean) + bMonitorOnly = value + End Set + Get + Return bMonitorOnly + End Get + End Property + Property Tags As List(Of Tag) Get Return oTags diff --git a/GBM/Forms/frmGameManager.vb b/GBM/Forms/frmGameManager.vb index ba39c2f..55fb5bf 100644 --- a/GBM/Forms/frmGameManager.vb +++ b/GBM/Forms/frmGameManager.vb @@ -866,6 +866,26 @@ Public Class frmGameManager Next End Sub + Private Sub MonitorOnlyModeHandler() + If chkMonitorOnly.Checked Then + chkFolderSave.Enabled = False + chkCleanFolder.Enabled = False + chkTimeStamp.Enabled = False + lblSavePath.Enabled = False + txtSavePath.Enabled = False + btnInclude.Enabled = False + btnExclude.Enabled = False + Else + chkFolderSave.Enabled = True + chkCleanFolder.Enabled = True + chkTimeStamp.Enabled = True + lblSavePath.Enabled = True + txtSavePath.Enabled = True + btnInclude.Enabled = True + btnExclude.Enabled = True + End If + End Sub + Private Sub ModeChange() IsLoading = True @@ -1263,7 +1283,7 @@ Public Class frmGameManager Return False End If - If chkFolderSave.Checked = False And txtFileType.Text = String.Empty Then + If (chkFolderSave.Checked = False And txtFileType.Text = String.Empty) And Not chkMonitorOnly.Checked Then mgrCommon.ShowMessage(frmGameManager_ErrorNoItems, MsgBoxStyle.Exclamation) btnInclude.Focus() Return False @@ -1351,7 +1371,7 @@ Public Class frmGameManager For Each oData In lstGames.SelectedItems oGame = DirectCast(GameData(oData.Key), clsGame) - BackupList.Add(oGame) + If Not oGame.MonitorOnly Then BackupList.Add(oGame) Next If BackupList.Count = 1 Then @@ -1729,4 +1749,8 @@ Public Class frmGameManager Private Sub frmGameManager_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown txtQuickFilter.Focus() End Sub + + Private Sub chkMonitorOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkMonitorOnly.CheckedChanged + MonitorOnlyModeHandler() + End Sub End Class diff --git a/GBM/Managers/mgrCommon.vb b/GBM/Managers/mgrCommon.vb index 5b19883..839f170 100644 --- a/GBM/Managers/mgrCommon.vb +++ b/GBM/Managers/mgrCommon.vb @@ -269,13 +269,15 @@ Public Class mgrCommon End Function 'Calculate the current size of a folder - Public Shared Function GetFolderSize(ByVal sPath As String, ByVal sInclude As String(), ByVal sExclude As String()) + Public Shared Function GetFolderSize(ByVal sPath As String, ByVal sInclude As String(), ByVal sExclude As String()) As Long Dim oFolder As DirectoryInfo Dim bInclude As Boolean Dim bExclude As Boolean Dim lSize As Long = 0 Try + If Not Directory.Exists(sPath) Then Return lSize + oFolder = New DirectoryInfo(sPath) 'Files diff --git a/GBM/Managers/mgrMonitorList.vb b/GBM/Managers/mgrMonitorList.vb index e5eacee..5aa9d1d 100644 --- a/GBM/Managers/mgrMonitorList.vb +++ b/GBM/Managers/mgrMonitorList.vb @@ -630,6 +630,7 @@ Public Class mgrMonitorList oGame.FolderSave = CBool(dr("FolderSave")) If Not IsDBNull(dr("FileType")) Then oGame.FileType = CStr(dr("FileType")) If Not IsDBNull(dr("ExcludeList")) Then oGame.ExcludeList = CStr(dr("ExcludeList")) + oGame.MonitorOnly = CBool(dr("MonitorOnly")) If Not IsDBNull(dr("Parameter")) Then oGame.Parameter = CStr(dr("Parameter")) oGame.Tags = mgrGameTags.GetTagsByGameForExport(sID) oList.Add(oGame) diff --git a/GBM/Managers/mgrXML.vb b/GBM/Managers/mgrXML.vb index a25c35d..b432246 100644 --- a/GBM/Managers/mgrXML.vb +++ b/GBM/Managers/mgrXML.vb @@ -28,6 +28,7 @@ Public Class mgrXML oGame.FolderSave = g.FolderSave oGame.FileType = g.FileType oGame.ExcludeList = g.ExcludeList + oGame.MonitorOnly = g.MonitorOnly oGame.Parameter = g.Parameter For Each t As Tag In g.Tags oGame.ImportTags.Add(t) From a4fff6b9006f1cb223f8378411b4a4c1edb6e04d Mon Sep 17 00:00:00 2001 From: MikeMaximus Date: Thu, 10 Aug 2017 22:13:27 -0600 Subject: [PATCH 2/6] Fixed missing control for issue #89 --- GBM/Forms/frmGameManager.vb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/GBM/Forms/frmGameManager.vb b/GBM/Forms/frmGameManager.vb index 55fb5bf..6bbf880 100644 --- a/GBM/Forms/frmGameManager.vb +++ b/GBM/Forms/frmGameManager.vb @@ -873,6 +873,7 @@ Public Class frmGameManager chkTimeStamp.Enabled = False lblSavePath.Enabled = False txtSavePath.Enabled = False + btnSavePathBrowse.Enabled = False btnInclude.Enabled = False btnExclude.Enabled = False Else @@ -881,6 +882,7 @@ Public Class frmGameManager chkTimeStamp.Enabled = True lblSavePath.Enabled = True txtSavePath.Enabled = True + btnSavePathBrowse.Enabled = True btnInclude.Enabled = True btnExclude.Enabled = True End If From 0003ee1f11a78d6ecf0c7c15f1df8eac4251542b Mon Sep 17 00:00:00 2001 From: MikeMaximus Date: Thu, 10 Aug 2017 22:18:15 -0600 Subject: [PATCH 3/6] Disabled Monitor only restore for issue #89 --- GBM/Forms/frmGameManager.vb | 48 ++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/GBM/Forms/frmGameManager.vb b/GBM/Forms/frmGameManager.vb index 6bbf880..98f81af 100644 --- a/GBM/Forms/frmGameManager.vb +++ b/GBM/Forms/frmGameManager.vb @@ -866,28 +866,6 @@ Public Class frmGameManager Next End Sub - Private Sub MonitorOnlyModeHandler() - If chkMonitorOnly.Checked Then - chkFolderSave.Enabled = False - chkCleanFolder.Enabled = False - chkTimeStamp.Enabled = False - lblSavePath.Enabled = False - txtSavePath.Enabled = False - btnSavePathBrowse.Enabled = False - btnInclude.Enabled = False - btnExclude.Enabled = False - Else - chkFolderSave.Enabled = True - chkCleanFolder.Enabled = True - chkTimeStamp.Enabled = True - lblSavePath.Enabled = True - txtSavePath.Enabled = True - btnSavePathBrowse.Enabled = True - btnInclude.Enabled = True - btnExclude.Enabled = True - End If - End Sub - Private Sub ModeChange() IsLoading = True @@ -1066,6 +1044,28 @@ Public Class frmGameManager VerifyCleanFolder() End Sub + Private Sub MonitorOnlyModeChange() + If chkMonitorOnly.Checked Then + chkFolderSave.Enabled = False + chkCleanFolder.Enabled = False + chkTimeStamp.Enabled = False + lblSavePath.Enabled = False + txtSavePath.Enabled = False + btnSavePathBrowse.Enabled = False + btnInclude.Enabled = False + btnExclude.Enabled = False + Else + chkFolderSave.Enabled = True + chkCleanFolder.Enabled = True + chkTimeStamp.Enabled = True + lblSavePath.Enabled = True + txtSavePath.Enabled = True + btnSavePathBrowse.Enabled = True + btnInclude.Enabled = True + btnExclude.Enabled = True + End If + End Sub + Private Sub TimeStampModeChange() If chkTimeStamp.Checked Then nudLimit.Visible = True @@ -1417,7 +1417,7 @@ Public Class frmGameManager If oRemoteBackupData.Contains(oData.Value) Then oGame = DirectCast(GameData(oData.Key), clsGame) oBackup = DirectCast(oRemoteBackupData(oData.Value), clsBackup) - RestoreList.Add(oGame, oBackup) + If Not oGame.MonitorOnly Then RestoreList.Add(oGame, oBackup) End If Next End If @@ -1753,6 +1753,6 @@ Public Class frmGameManager End Sub Private Sub chkMonitorOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkMonitorOnly.CheckedChanged - MonitorOnlyModeHandler() + MonitorOnlyModeChange() End Sub End Class From f0bd3db4ad26e0d1df1d0e3fa478ebe47dce0290 Mon Sep 17 00:00:00 2001 From: MikeMaximus Date: Thu, 10 Aug 2017 22:22:20 -0600 Subject: [PATCH 4/6] Revert "Disabled Monitor only restore for issue #89" This reverts commit 0003ee1f11a78d6ecf0c7c15f1df8eac4251542b. --- GBM/Forms/frmGameManager.vb | 48 ++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/GBM/Forms/frmGameManager.vb b/GBM/Forms/frmGameManager.vb index 98f81af..6bbf880 100644 --- a/GBM/Forms/frmGameManager.vb +++ b/GBM/Forms/frmGameManager.vb @@ -866,6 +866,28 @@ Public Class frmGameManager Next End Sub + Private Sub MonitorOnlyModeHandler() + If chkMonitorOnly.Checked Then + chkFolderSave.Enabled = False + chkCleanFolder.Enabled = False + chkTimeStamp.Enabled = False + lblSavePath.Enabled = False + txtSavePath.Enabled = False + btnSavePathBrowse.Enabled = False + btnInclude.Enabled = False + btnExclude.Enabled = False + Else + chkFolderSave.Enabled = True + chkCleanFolder.Enabled = True + chkTimeStamp.Enabled = True + lblSavePath.Enabled = True + txtSavePath.Enabled = True + btnSavePathBrowse.Enabled = True + btnInclude.Enabled = True + btnExclude.Enabled = True + End If + End Sub + Private Sub ModeChange() IsLoading = True @@ -1044,28 +1066,6 @@ Public Class frmGameManager VerifyCleanFolder() End Sub - Private Sub MonitorOnlyModeChange() - If chkMonitorOnly.Checked Then - chkFolderSave.Enabled = False - chkCleanFolder.Enabled = False - chkTimeStamp.Enabled = False - lblSavePath.Enabled = False - txtSavePath.Enabled = False - btnSavePathBrowse.Enabled = False - btnInclude.Enabled = False - btnExclude.Enabled = False - Else - chkFolderSave.Enabled = True - chkCleanFolder.Enabled = True - chkTimeStamp.Enabled = True - lblSavePath.Enabled = True - txtSavePath.Enabled = True - btnSavePathBrowse.Enabled = True - btnInclude.Enabled = True - btnExclude.Enabled = True - End If - End Sub - Private Sub TimeStampModeChange() If chkTimeStamp.Checked Then nudLimit.Visible = True @@ -1417,7 +1417,7 @@ Public Class frmGameManager If oRemoteBackupData.Contains(oData.Value) Then oGame = DirectCast(GameData(oData.Key), clsGame) oBackup = DirectCast(oRemoteBackupData(oData.Value), clsBackup) - If Not oGame.MonitorOnly Then RestoreList.Add(oGame, oBackup) + RestoreList.Add(oGame, oBackup) End If Next End If @@ -1753,6 +1753,6 @@ Public Class frmGameManager End Sub Private Sub chkMonitorOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkMonitorOnly.CheckedChanged - MonitorOnlyModeChange() + MonitorOnlyModeHandler() End Sub End Class From 34a91597197ce08af56e127ede08f0e4d896b68f Mon Sep 17 00:00:00 2001 From: MikeMaximus Date: Thu, 10 Aug 2017 22:38:14 -0600 Subject: [PATCH 5/6] Fixed various problems caused by issue #89 --- GBM/Forms/frmGameManager.vb | 65 +++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 35 deletions(-) diff --git a/GBM/Forms/frmGameManager.vb b/GBM/Forms/frmGameManager.vb index 6bbf880..04c1629 100644 --- a/GBM/Forms/frmGameManager.vb +++ b/GBM/Forms/frmGameManager.vb @@ -866,28 +866,6 @@ Public Class frmGameManager Next End Sub - Private Sub MonitorOnlyModeHandler() - If chkMonitorOnly.Checked Then - chkFolderSave.Enabled = False - chkCleanFolder.Enabled = False - chkTimeStamp.Enabled = False - lblSavePath.Enabled = False - txtSavePath.Enabled = False - btnSavePathBrowse.Enabled = False - btnInclude.Enabled = False - btnExclude.Enabled = False - Else - chkFolderSave.Enabled = True - chkCleanFolder.Enabled = True - chkTimeStamp.Enabled = True - lblSavePath.Enabled = True - txtSavePath.Enabled = True - btnSavePathBrowse.Enabled = True - btnInclude.Enabled = True - btnExclude.Enabled = True - End If - End Sub - Private Sub ModeChange() IsLoading = True @@ -1066,6 +1044,26 @@ Public Class frmGameManager VerifyCleanFolder() End Sub + Private Sub MonitorOnlyModeChange() + If chkMonitorOnly.Checked Then + chkFolderSave.Enabled = False + chkTimeStamp.Enabled = False + lblSavePath.Enabled = False + txtSavePath.Enabled = False + btnSavePathBrowse.Enabled = False + btnInclude.Enabled = False + btnExclude.Enabled = False + Else + chkFolderSave.Enabled = True + chkTimeStamp.Enabled = True + lblSavePath.Enabled = True + txtSavePath.Enabled = True + btnSavePathBrowse.Enabled = True + btnInclude.Enabled = True + btnExclude.Enabled = True + End If + End Sub + Private Sub TimeStampModeChange() If chkTimeStamp.Checked Then nudLimit.Visible = True @@ -1080,7 +1078,7 @@ Public Class frmGameManager Private Sub VerifyCleanFolder() If Not bIsLoading Then - If chkFolderSave.Checked = True And txtExclude.Text = String.Empty And txtSavePath.Text <> String.Empty Then + If chkFolderSave.Checked = True And txtExclude.Text = String.Empty And txtSavePath.Text <> String.Empty And Not chkMonitorOnly.Checked Then chkCleanFolder.Enabled = True Else chkCleanFolder.Checked = False @@ -1410,17 +1408,14 @@ Public Class frmGameManager If lstGames.SelectedItems.Count > 0 Then RestoreList.Clear() - If lstGames.SelectedItems.Count = 1 Then - RestoreList.Add(CurrentGame, CurrentBackupItem) - Else - For Each oData In lstGames.SelectedItems - If oRemoteBackupData.Contains(oData.Value) Then - oGame = DirectCast(GameData(oData.Key), clsGame) - oBackup = DirectCast(oRemoteBackupData(oData.Value), clsBackup) - RestoreList.Add(oGame, oBackup) - End If - Next - End If + + For Each oData In lstGames.SelectedItems + If oRemoteBackupData.Contains(oData.Value) Then + oGame = DirectCast(GameData(oData.Key), clsGame) + oBackup = DirectCast(oRemoteBackupData(oData.Value), clsBackup) + If Not oGame.MonitorOnly Then RestoreList.Add(oGame, oBackup) + End If + Next If RestoreList.Count = 1 Then bDoRestore = True @@ -1753,6 +1748,6 @@ Public Class frmGameManager End Sub Private Sub chkMonitorOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkMonitorOnly.CheckedChanged - MonitorOnlyModeHandler() + MonitorOnlyModeChange() End Sub End Class From 19de2630503c6917c9210efb4f4259e9470e79e0 Mon Sep 17 00:00:00 2001 From: MikeMaximus Date: Fri, 11 Aug 2017 10:36:18 -0600 Subject: [PATCH 6/6] Fixed another ui problem with issue #89 --- GBM/Forms/frmGameManager.vb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/GBM/Forms/frmGameManager.vb b/GBM/Forms/frmGameManager.vb index 04c1629..61983da 100644 --- a/GBM/Forms/frmGameManager.vb +++ b/GBM/Forms/frmGameManager.vb @@ -1062,6 +1062,7 @@ Public Class frmGameManager btnInclude.Enabled = True btnExclude.Enabled = True End If + VerifyCleanFolder() End Sub Private Sub TimeStampModeChange() @@ -1078,7 +1079,7 @@ Public Class frmGameManager Private Sub VerifyCleanFolder() If Not bIsLoading Then - If chkFolderSave.Checked = True And txtExclude.Text = String.Empty And txtSavePath.Text <> String.Empty And Not chkMonitorOnly.Checked Then + If (chkFolderSave.Checked = True And txtExclude.Text = String.Empty And txtSavePath.Text <> String.Empty) And Not chkMonitorOnly.Checked Then chkCleanFolder.Enabled = True Else chkCleanFolder.Checked = False