Enhancement for issue #78
This commit is contained in:
@@ -583,7 +583,7 @@ Public Class frmGameManager
|
|||||||
sFileName = BackupFolder & CurrentBackupItem.FileName
|
sFileName = BackupFolder & CurrentBackupItem.FileName
|
||||||
|
|
||||||
If File.Exists(sFileName) Then
|
If File.Exists(sFileName) Then
|
||||||
lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.GetFileSize(sFileName) & ")"
|
lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.FormatDiskSpace(mgrCommon.GetFileSize(sFileName)) & ")"
|
||||||
Else
|
Else
|
||||||
lblBackupFileData.Text = frmGameManager_ErrorNoBackupExists
|
lblBackupFileData.Text = frmGameManager_ErrorNoBackupExists
|
||||||
End If
|
End If
|
||||||
@@ -625,7 +625,7 @@ Public Class frmGameManager
|
|||||||
btnDeleteBackup.Enabled = True
|
btnDeleteBackup.Enabled = True
|
||||||
|
|
||||||
If File.Exists(sFileName) Then
|
If File.Exists(sFileName) Then
|
||||||
lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.GetFileSize(sFileName) & ")"
|
lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.FormatDiskSpace(mgrCommon.GetFileSize(sFileName)) & ")"
|
||||||
Else
|
Else
|
||||||
lblBackupFileData.Text = frmGameManager_ErrorNoBackupExists
|
lblBackupFileData.Text = frmGameManager_ErrorNoBackupExists
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -87,9 +87,25 @@ Public Class mgrBackup
|
|||||||
|
|
||||||
Public Function CheckBackupPrereq(ByVal oGame As clsGame) As Boolean
|
Public Function CheckBackupPrereq(ByVal oGame As clsGame) As Boolean
|
||||||
Dim sBackupFile As String = oSettings.BackupFolder
|
Dim sBackupFile As String = oSettings.BackupFolder
|
||||||
|
Dim lAvailableSpace As Long = mgrCommon.GetAvailableDiskSpace(sBackupFile)
|
||||||
|
Dim lFolderSize As Long = mgrCommon.GetFolderSize(oGame.Path)
|
||||||
|
|
||||||
If oSettings.CreateSubFolder Then sBackupFile = sBackupFile & Path.DirectorySeparatorChar & oGame.Name
|
If oSettings.CreateSubFolder Then sBackupFile = sBackupFile & Path.DirectorySeparatorChar & oGame.Name
|
||||||
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & oGame.Name & ".7z"
|
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & oGame.Name & ".7z"
|
||||||
|
|
||||||
|
'Show Available Space
|
||||||
|
RaiseEvent UpdateLog(mgrCommon.FormatString(mgrCommon_AvailableDiskSpace, mgrCommon.FormatDiskSpace(lAvailableSpace)), False, ToolTipIcon.Info, True)
|
||||||
|
|
||||||
|
'Show Save Folder Size
|
||||||
|
RaiseEvent UpdateLog(mgrCommon.FormatString(mgrCommon_SavedGameFolderSize, New String() {oGame.Name, mgrCommon.FormatDiskSpace(lFolderSize)}), False, ToolTipIcon.Info, True)
|
||||||
|
|
||||||
|
If lFolderSize >= lAvailableSpace Then
|
||||||
|
If mgrCommon.ShowMessage(mgrBackup_ConfirmDiskSpace, MsgBoxStyle.YesNo) = MsgBoxResult.No Then
|
||||||
|
RaiseEvent UpdateLog(mgrBackup_ErrorDiskSpace, False, ToolTipIcon.Error, True)
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If mgrRestore.CheckManifest(oGame.Name) Then
|
If mgrRestore.CheckManifest(oGame.Name) Then
|
||||||
If mgrCommon.ShowMessage(mgrBackup_ConfirmManifestConflict, oGame.Name, MsgBoxStyle.YesNo) = MsgBoxResult.No Then
|
If mgrCommon.ShowMessage(mgrBackup_ConfirmManifestConflict, oGame.Name, MsgBoxStyle.YesNo) = MsgBoxResult.No Then
|
||||||
RaiseEvent UpdateLog(mgrBackup_ErrorManifestConflict, False, ToolTipIcon.Error, True)
|
RaiseEvent UpdateLog(mgrBackup_ErrorManifestConflict, False, ToolTipIcon.Error, True)
|
||||||
@@ -223,7 +239,7 @@ Public Class mgrBackup
|
|||||||
prs7z.WaitForExit()
|
prs7z.WaitForExit()
|
||||||
If Not CancelOperation Then
|
If Not CancelOperation Then
|
||||||
If prs7z.ExitCode = 0 Then
|
If prs7z.ExitCode = 0 Then
|
||||||
RaiseEvent UpdateLog(mgrCommon.FormatString(mgrBackup_BackupComplete, New String() {oGame.Name, mgrCommon.GetFileSize(sBackupFile)}), False, ToolTipIcon.Info, True)
|
RaiseEvent UpdateLog(mgrCommon.FormatString(mgrBackup_BackupComplete, New String() {oGame.Name, mgrCommon.FormatDiskSpace(mgrCommon.GetFileSize(sBackupFile))}), False, ToolTipIcon.Info, True)
|
||||||
bBackupCompleted = True
|
bBackupCompleted = True
|
||||||
Else
|
Else
|
||||||
RaiseEvent UpdateLog(mgrCommon.FormatString(mgrBackup_BackupWarnings, oGame.Name), True, ToolTipIcon.Warning, True)
|
RaiseEvent UpdateLog(mgrCommon.FormatString(mgrBackup_BackupWarnings, oGame.Name), True, ToolTipIcon.Warning, True)
|
||||||
|
|||||||
+71
-18
@@ -165,6 +165,77 @@ Public Class mgrCommon
|
|||||||
Return eSyncFields And (Not eSyncField)
|
Return eSyncFields And (Not eSyncField)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
'Get a file size
|
||||||
|
Public Shared Function GetFileSize(ByVal sFile As String) As Long
|
||||||
|
Dim oFileInfo As FileInfo
|
||||||
|
Dim dFileSize As Long = 0
|
||||||
|
|
||||||
|
Try
|
||||||
|
oFileInfo = New FileInfo(sFile)
|
||||||
|
dFileSize = oFileInfo.Length
|
||||||
|
Catch ex As Exception
|
||||||
|
'Do Nothing
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return dFileSize
|
||||||
|
End Function
|
||||||
|
|
||||||
|
'Calculate the current size of a folder
|
||||||
|
Public Shared Function GetFolderSize(ByVal sPath As String)
|
||||||
|
Dim oFolder As DirectoryInfo
|
||||||
|
Dim lSize As Long = 0
|
||||||
|
|
||||||
|
Try
|
||||||
|
oFolder = New DirectoryInfo(sPath)
|
||||||
|
|
||||||
|
'Files
|
||||||
|
For Each fi As FileInfo In oFolder.GetFiles
|
||||||
|
lSize += fi.Length
|
||||||
|
Next
|
||||||
|
|
||||||
|
'Sub Folders
|
||||||
|
For Each di As DirectoryInfo In oFolder.GetDirectories
|
||||||
|
lSize += GetFolderSize(di.FullName)
|
||||||
|
Next
|
||||||
|
Catch
|
||||||
|
'Do Nothing
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return lSize
|
||||||
|
End Function
|
||||||
|
|
||||||
|
'Format Disk Space Amounts
|
||||||
|
Public Shared Function FormatDiskSpace(ByVal lSize As Long)
|
||||||
|
|
||||||
|
Select Case lSize
|
||||||
|
Case >= 1125899906842624
|
||||||
|
Return FormatString(mgrCommon_PB, Math.Round(lSize / 1125899906842624, 2))
|
||||||
|
Case >= 1099511627776
|
||||||
|
Return FormatString(mgrCommon_TB, Math.Round(lSize / 1099511627776, 2))
|
||||||
|
Case >= 1073741824
|
||||||
|
Return FormatString(mgrCommon_GB, Math.Round(lSize / 1073741824, 2))
|
||||||
|
Case >= 1048576
|
||||||
|
Return FormatString(mgrCommon_MB, Math.Round(lSize / 1048576, 2))
|
||||||
|
Case >= 1024
|
||||||
|
Return FormatString(mgrCommon_KB, Math.Round(lSize / 1024, 2))
|
||||||
|
End Select
|
||||||
|
|
||||||
|
Return lSize
|
||||||
|
End Function
|
||||||
|
|
||||||
|
'Get available disk space on a drive
|
||||||
|
Public Shared Function GetAvailableDiskSpace(ByVal sPath As String) As Long
|
||||||
|
Dim oDrive As DriveInfo
|
||||||
|
Dim lAvailableSpace As Long = 0
|
||||||
|
Try
|
||||||
|
oDrive = New DriveInfo(Path.GetPathRoot(sPath))
|
||||||
|
lAvailableSpace = oDrive.AvailableFreeSpace
|
||||||
|
Catch
|
||||||
|
'Do Nothing
|
||||||
|
End Try
|
||||||
|
Return lAvailableSpace
|
||||||
|
End Function
|
||||||
|
|
||||||
'Delete file based on OS type
|
'Delete file based on OS type
|
||||||
Public Shared Sub DeleteFile(ByVal sPath As String, Optional ByVal bRecycle As Boolean = True)
|
Public Shared Sub DeleteFile(ByVal sPath As String, Optional ByVal bRecycle As Boolean = True)
|
||||||
If File.Exists(sPath) Then
|
If File.Exists(sPath) Then
|
||||||
@@ -224,24 +295,6 @@ Public Class mgrCommon
|
|||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'Get a file size
|
|
||||||
Public Shared Function GetFileSize(ByVal sFile As String) As String
|
|
||||||
Dim oFileInfo As FileInfo
|
|
||||||
Dim dFileSize As Double
|
|
||||||
|
|
||||||
Try
|
|
||||||
oFileInfo = New FileInfo(sFile)
|
|
||||||
dFileSize = oFileInfo.Length
|
|
||||||
If dFileSize > 1048576 Then
|
|
||||||
Return FormatString(App_MB, Math.Round(dFileSize / 1048576, 2).ToString)
|
|
||||||
Else
|
|
||||||
Return FormatString(App_KB, Math.Round(dFileSize / 1024, 2).ToString)
|
|
||||||
End If
|
|
||||||
Catch ex As Exception
|
|
||||||
Return String.Empty
|
|
||||||
End Try
|
|
||||||
End Function
|
|
||||||
|
|
||||||
'Handles no extra parameters
|
'Handles no extra parameters
|
||||||
Public Shared Function ShowMessage(ByVal sMsg As String, ByVal oType As MsgBoxStyle) As MsgBoxResult
|
Public Shared Function ShowMessage(ByVal sMsg As String, ByVal oType As MsgBoxStyle) As MsgBoxResult
|
||||||
Dim oResult As MsgBoxResult
|
Dim oResult As MsgBoxResult
|
||||||
|
|||||||
Generated
+81
-18
@@ -96,24 +96,6 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
|
||||||
''' Looks up a localized string similar to [PARAM] KB.
|
|
||||||
'''</summary>
|
|
||||||
Friend ReadOnly Property App_KB() As String
|
|
||||||
Get
|
|
||||||
Return ResourceManager.GetString("App_KB", resourceCulture)
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
'''<summary>
|
|
||||||
''' Looks up a localized string similar to [PARAM] MB.
|
|
||||||
'''</summary>
|
|
||||||
Friend ReadOnly Property App_MB() As String
|
|
||||||
Get
|
|
||||||
Return ResourceManager.GetString("App_MB", resourceCulture)
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized string similar to Game Backup Monitor.
|
''' Looks up a localized string similar to Game Backup Monitor.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
@@ -4510,6 +4492,15 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to You may not have enough disk space available to perform a backup.[BR][BR]Do you want to continue anyway?.
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property mgrBackup_ConfirmDiskSpace() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("mgrBackup_ConfirmDiskSpace", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized string similar to The manifest shows the backup folder contains a backup for [PARAM] that has not been restored on this computer.[BR][BR]Do you want to overwrite this file anyway?.
|
''' Looks up a localized string similar to The manifest shows the backup folder contains a backup for [PARAM] that has not been restored on this computer.[BR][BR]Do you want to overwrite this file anyway?.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
@@ -4528,6 +4519,15 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to Backup aborted due to lack of disk space..
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property mgrBackup_ErrorDiskSpace() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("mgrBackup_ErrorDiskSpace", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized string similar to An error occured creating a file list: [PARAM].
|
''' Looks up a localized string similar to An error occured creating a file list: [PARAM].
|
||||||
'''</summary>
|
'''</summary>
|
||||||
@@ -4609,6 +4609,15 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to Available Disk Space: [PARAM].
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property mgrCommon_AvailableDiskSpace() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("mgrCommon_AvailableDiskSpace", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized string similar to An error has occured writing the text file.[BR][BR][PARAM].
|
''' Looks up a localized string similar to An error has occured writing the text file.[BR][BR][PARAM].
|
||||||
'''</summary>
|
'''</summary>
|
||||||
@@ -4627,6 +4636,33 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to [PARAM] GB.
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property mgrCommon_GB() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("mgrCommon_GB", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to [PARAM] KB.
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property mgrCommon_KB() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("mgrCommon_KB", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to [PARAM] MB.
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property mgrCommon_MB() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("mgrCommon_MB", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized string similar to No.
|
''' Looks up a localized string similar to No.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
@@ -4636,6 +4672,33 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to [PARAM] PB.
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property mgrCommon_PB() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("mgrCommon_PB", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to [PARAM] Save Folder Size: [PARAM].
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property mgrCommon_SavedGameFolderSize() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("mgrCommon_SavedGameFolderSize", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to [PARAM] TB.
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property mgrCommon_TB() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("mgrCommon_TB", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized string similar to Yes.
|
''' Looks up a localized string similar to Yes.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
|
|||||||
@@ -424,12 +424,6 @@
|
|||||||
<data name="App_ConfirmDirty" xml:space="preserve">
|
<data name="App_ConfirmDirty" xml:space="preserve">
|
||||||
<value>There are unsaved changes on this form. Do you want to save?</value>
|
<value>There are unsaved changes on this form. Do you want to save?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="App_KB" xml:space="preserve">
|
|
||||||
<value>[PARAM] KB</value>
|
|
||||||
</data>
|
|
||||||
<data name="App_MB" xml:space="preserve">
|
|
||||||
<value>[PARAM] MB</value>
|
|
||||||
</data>
|
|
||||||
<data name="frmGameManager_BackupTimeAndName" xml:space="preserve">
|
<data name="frmGameManager_BackupTimeAndName" xml:space="preserve">
|
||||||
<value>[PARAM] ([PARAM])</value>
|
<value>[PARAM] ([PARAM])</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1762,4 +1756,31 @@
|
|||||||
<data name="frmMain_NoCheckSum" xml:space="preserve">
|
<data name="frmMain_NoCheckSum" xml:space="preserve">
|
||||||
<value>The backup file for [PARAM] has no checksum, it cannot be automatically restored.</value>
|
<value>The backup file for [PARAM] has no checksum, it cannot be automatically restored.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="mgrBackup_ConfirmDiskSpace" xml:space="preserve">
|
||||||
|
<value>You may not have enough disk space available to perform a backup.[BR][BR]Do you want to continue anyway?</value>
|
||||||
|
</data>
|
||||||
|
<data name="mgrBackup_ErrorDiskSpace" xml:space="preserve">
|
||||||
|
<value>Backup aborted due to lack of disk space.</value>
|
||||||
|
</data>
|
||||||
|
<data name="mgrCommon_AvailableDiskSpace" xml:space="preserve">
|
||||||
|
<value>Available Disk Space: [PARAM]</value>
|
||||||
|
</data>
|
||||||
|
<data name="mgrCommon_GB" xml:space="preserve">
|
||||||
|
<value>[PARAM] GB</value>
|
||||||
|
</data>
|
||||||
|
<data name="mgrCommon_KB" xml:space="preserve">
|
||||||
|
<value>[PARAM] KB</value>
|
||||||
|
</data>
|
||||||
|
<data name="mgrCommon_MB" xml:space="preserve">
|
||||||
|
<value>[PARAM] MB</value>
|
||||||
|
</data>
|
||||||
|
<data name="mgrCommon_PB" xml:space="preserve">
|
||||||
|
<value>[PARAM] PB</value>
|
||||||
|
</data>
|
||||||
|
<data name="mgrCommon_SavedGameFolderSize" xml:space="preserve">
|
||||||
|
<value>[PARAM] Save Folder Size: [PARAM]</value>
|
||||||
|
</data>
|
||||||
|
<data name="mgrCommon_TB" xml:space="preserve">
|
||||||
|
<value>[PARAM] TB</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
Reference in New Issue
Block a user