Compare commits
40 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8ff2d5149b | |||
| 15e306d8e1 | |||
| b69e0f1474 | |||
| c568e5e675 | |||
| 7185ca5e61 | |||
| 9c3643fa2e | |||
| cd185755c8 | |||
| 68dc0fcfc2 | |||
|
|
b8849f8d0c | ||
|
|
23102a90eb | ||
| 66c4258f64 | |||
|
|
e7e2e86a8e | ||
|
|
8d1396d992 | ||
|
|
afc89e8dfe | ||
|
|
11db38108e | ||
|
|
b48be71acc | ||
|
|
aa37c6525d | ||
|
|
f77a900f56 | ||
|
|
9b45ae7b1c | ||
|
|
3a54cddf98 | ||
|
|
fa88d2b03d | ||
|
|
7062f4b4ea | ||
|
|
076295069e | ||
| 2f141f9e31 | |||
| 4de2aa527f | |||
| 92cf33d840 | |||
| bcd40eb55f | |||
| 8c3c6876eb | |||
| ab0c7a05af | |||
| aff8059b5b | |||
| db3670d7d7 | |||
| 9349b7e0fd | |||
| b97139cd6d | |||
| 5fbbfa97e3 | |||
| 88d97a6027 | |||
| f29a58329e | |||
| d89b4fd824 | |||
| c557b2554b | |||
| edfcd5ebe9 | |||
| b9104273c9 |
@@ -49,7 +49,7 @@
|
||||
|
||||
ReadOnly Property FileSafeName As String
|
||||
Get
|
||||
Return mgrPath.ValidateFileNameForOS(sName)
|
||||
Return mgrPath.ValidateFileName(sName)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ Public Class clsGame
|
||||
Property ID As String
|
||||
Set(value As String)
|
||||
If Not value Is Nothing Then
|
||||
sGameID = mgrPath.ValidateFileNameForOS(value)
|
||||
sGameID = mgrPath.ValidateFileName(value)
|
||||
End If
|
||||
End Set
|
||||
Get
|
||||
@@ -70,7 +70,7 @@ Public Class clsGame
|
||||
|
||||
ReadOnly Property FileSafeName As String
|
||||
Get
|
||||
Return mgrPath.ValidateFileNameForOS(sGameName)
|
||||
Return mgrPath.ValidateFileName(sGameName)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
@@ -228,19 +228,17 @@ Partial Class frmAddWizard
|
||||
Me.lblLimit.AutoSize = True
|
||||
Me.lblLimit.Location = New System.Drawing.Point(203, 109)
|
||||
Me.lblLimit.Name = "lblLimit"
|
||||
Me.lblLimit.Size = New System.Drawing.Size(68, 13)
|
||||
Me.lblLimit.Size = New System.Drawing.Size(138, 13)
|
||||
Me.lblLimit.TabIndex = 15
|
||||
Me.lblLimit.Text = "Backup Limit"
|
||||
Me.lblLimit.Text = "Backup Limit (0 = Unlimited)"
|
||||
Me.lblLimit.Visible = False
|
||||
'
|
||||
'nudLimit
|
||||
'
|
||||
Me.nudLimit.Location = New System.Drawing.Point(157, 107)
|
||||
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 = 14
|
||||
Me.nudLimit.Value = New Decimal(New Integer() {2, 0, 0, 0})
|
||||
Me.nudLimit.Visible = False
|
||||
'
|
||||
'lblStep3Title
|
||||
|
||||
@@ -75,10 +75,8 @@ Public Class frmAddWizard
|
||||
If chkTimeStamp.Checked Then
|
||||
nudLimit.Visible = True
|
||||
lblLimit.Visible = True
|
||||
nudLimit.Value = 5
|
||||
Else
|
||||
nudLimit.Visible = False
|
||||
nudLimit.Value = nudLimit.Minimum
|
||||
lblLimit.Visible = False
|
||||
End If
|
||||
End Sub
|
||||
@@ -87,9 +85,13 @@ Public Class frmAddWizard
|
||||
Dim sLimit As String = String.Empty
|
||||
|
||||
If bTimeStamp Then
|
||||
Return mgrCommon.BooleanYesNo(bTimeStamp) & " (" & iLimit & ")"
|
||||
If iLimit <> 0 Then
|
||||
Return mgrCommon.BooleanYesNo(bTimeStamp) & " (" & iLimit & ")"
|
||||
Else
|
||||
Return mgrCommon.BooleanYesNo(bTimeStamp) & " (" & frmAddWizard_Summary_NoLimit & ")"
|
||||
End If
|
||||
Else
|
||||
Return mgrCommon.BooleanYesNo(bTimeStamp)
|
||||
Return mgrCommon.BooleanYesNo(bTimeStamp)
|
||||
End If
|
||||
End Function
|
||||
|
||||
@@ -208,7 +210,7 @@ Public Class frmAddWizard
|
||||
End Function
|
||||
|
||||
Private Function ValidateProcessPath(ByVal strPath As String, ByRef sErrorMessage As String) As Boolean
|
||||
strPath = mgrPath.ValidatePathForOS(strPath)
|
||||
strPath = mgrPath.ValidatePath(strPath)
|
||||
|
||||
If strPath.Trim = String.Empty Then
|
||||
sErrorMessage = frmAddWizard_ErrorValidProcess
|
||||
@@ -325,7 +327,7 @@ Public Class frmAddWizard
|
||||
End If
|
||||
|
||||
Case eSteps.Step3
|
||||
txtSavePath.Text = mgrPath.ValidatePathForOS(txtSavePath.Text)
|
||||
txtSavePath.Text = mgrPath.ValidatePath(txtSavePath.Text)
|
||||
If ValidateSavePath(txtSavePath.Text, sErrorMessage) Then
|
||||
lblIncludePath.Text = txtSavePath.Text
|
||||
lblExcludePath.Text = txtSavePath.Text
|
||||
|
||||
@@ -81,7 +81,7 @@ Partial Class frmGameManager
|
||||
Me.lblLocalBackupData = New System.Windows.Forms.Label()
|
||||
Me.lblRestorePath = New System.Windows.Forms.Label()
|
||||
Me.btnOpenRestorePath = New System.Windows.Forms.Button()
|
||||
Me.btnOpenBackupFile = New System.Windows.Forms.Button()
|
||||
Me.btnOpenBackup = New System.Windows.Forms.Button()
|
||||
Me.btnDeleteBackup = New System.Windows.Forms.Button()
|
||||
Me.lblBackupFile = New System.Windows.Forms.Label()
|
||||
Me.lblRemote = New System.Windows.Forms.Label()
|
||||
@@ -111,6 +111,9 @@ Partial Class frmGameManager
|
||||
Me.cmsDeleteAll = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.btnProcesses = New System.Windows.Forms.Button()
|
||||
Me.ttFullPath = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.cmsOpenBackup = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.cmsOpenBackupFile = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.cmsOpenBackupFolder = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.grpConfig.SuspendLayout()
|
||||
CType(Me.nudLimit, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.grpExtra.SuspendLayout()
|
||||
@@ -120,6 +123,7 @@ Partial Class frmGameManager
|
||||
Me.grpFilter.SuspendLayout()
|
||||
Me.cmsImport.SuspendLayout()
|
||||
Me.cmsDeleteBackup.SuspendLayout()
|
||||
Me.cmsOpenBackup.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'btnAdd
|
||||
@@ -309,9 +313,9 @@ Partial Class frmGameManager
|
||||
Me.lblLimit.AutoSize = True
|
||||
Me.lblLimit.Location = New System.Drawing.Point(376, 229)
|
||||
Me.lblLimit.Name = "lblLimit"
|
||||
Me.lblLimit.Size = New System.Drawing.Size(68, 13)
|
||||
Me.lblLimit.Size = New System.Drawing.Size(138, 13)
|
||||
Me.lblLimit.TabIndex = 23
|
||||
Me.lblLimit.Text = "Backup Limit"
|
||||
Me.lblLimit.Text = "Backup Limit (0 = Unlimited)"
|
||||
Me.lblLimit.Visible = False
|
||||
'
|
||||
'nudLimit
|
||||
@@ -629,7 +633,7 @@ Partial Class frmGameManager
|
||||
Me.grpStats.Controls.Add(Me.lblLocalBackupData)
|
||||
Me.grpStats.Controls.Add(Me.lblRestorePath)
|
||||
Me.grpStats.Controls.Add(Me.btnOpenRestorePath)
|
||||
Me.grpStats.Controls.Add(Me.btnOpenBackupFile)
|
||||
Me.grpStats.Controls.Add(Me.btnOpenBackup)
|
||||
Me.grpStats.Controls.Add(Me.btnDeleteBackup)
|
||||
Me.grpStats.Controls.Add(Me.lblBackupFile)
|
||||
Me.grpStats.Controls.Add(Me.lblRemote)
|
||||
@@ -711,14 +715,14 @@ Partial Class frmGameManager
|
||||
Me.btnOpenRestorePath.Text = "O&pen Restore Path"
|
||||
Me.btnOpenRestorePath.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btnOpenBackupFile
|
||||
'btnOpenBackup
|
||||
'
|
||||
Me.btnOpenBackupFile.Location = New System.Drawing.Point(249, 125)
|
||||
Me.btnOpenBackupFile.Name = "btnOpenBackupFile"
|
||||
Me.btnOpenBackupFile.Size = New System.Drawing.Size(114, 23)
|
||||
Me.btnOpenBackupFile.TabIndex = 10
|
||||
Me.btnOpenBackupFile.Text = "&Open Backup File"
|
||||
Me.btnOpenBackupFile.UseVisualStyleBackColor = True
|
||||
Me.btnOpenBackup.Location = New System.Drawing.Point(249, 125)
|
||||
Me.btnOpenBackup.Name = "btnOpenBackup"
|
||||
Me.btnOpenBackup.Size = New System.Drawing.Size(114, 23)
|
||||
Me.btnOpenBackup.TabIndex = 10
|
||||
Me.btnOpenBackup.Text = "&Open Backup"
|
||||
Me.btnOpenBackup.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btnDeleteBackup
|
||||
'
|
||||
@@ -972,6 +976,25 @@ Partial Class frmGameManager
|
||||
Me.ttFullPath.InitialDelay = 300
|
||||
Me.ttFullPath.ReshowDelay = 60
|
||||
'
|
||||
'cmsOpenBackup
|
||||
'
|
||||
Me.cmsOpenBackup.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmsOpenBackupFile, Me.cmsOpenBackupFolder})
|
||||
Me.cmsOpenBackup.Name = "cmsOpenBackup"
|
||||
Me.cmsOpenBackup.ShowImageMargin = False
|
||||
Me.cmsOpenBackup.Size = New System.Drawing.Size(83, 48)
|
||||
'
|
||||
'cmsOpenBackupFile
|
||||
'
|
||||
Me.cmsOpenBackupFile.Name = "cmsOpenBackupFile"
|
||||
Me.cmsOpenBackupFile.Size = New System.Drawing.Size(82, 22)
|
||||
Me.cmsOpenBackupFile.Text = "&File"
|
||||
'
|
||||
'cmsOpenBackupFolder
|
||||
'
|
||||
Me.cmsOpenBackupFolder.Name = "cmsOpenBackupFolder"
|
||||
Me.cmsOpenBackupFolder.Size = New System.Drawing.Size(82, 22)
|
||||
Me.cmsOpenBackupFolder.Text = "F&older"
|
||||
'
|
||||
'frmGameManager
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
@@ -1017,6 +1040,7 @@ Partial Class frmGameManager
|
||||
Me.grpFilter.PerformLayout()
|
||||
Me.cmsImport.ResumeLayout(False)
|
||||
Me.cmsDeleteBackup.ResumeLayout(False)
|
||||
Me.cmsOpenBackup.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
@@ -1065,7 +1089,7 @@ Partial Class frmGameManager
|
||||
Friend WithEvents btnMarkAsRestored As System.Windows.Forms.Button
|
||||
Friend WithEvents btnRestore As System.Windows.Forms.Button
|
||||
Friend WithEvents btnDeleteBackup As System.Windows.Forms.Button
|
||||
Friend WithEvents btnOpenBackupFile As System.Windows.Forms.Button
|
||||
Friend WithEvents btnOpenBackup As System.Windows.Forms.Button
|
||||
Friend WithEvents grpFilter As System.Windows.Forms.GroupBox
|
||||
Friend WithEvents optPendingRestores As System.Windows.Forms.RadioButton
|
||||
Friend WithEvents optAllGames As System.Windows.Forms.RadioButton
|
||||
@@ -1109,4 +1133,7 @@ Partial Class frmGameManager
|
||||
Friend WithEvents lblOS As Label
|
||||
Friend WithEvents cboOS As ComboBox
|
||||
Friend WithEvents btnWineConfig As Button
|
||||
Friend WithEvents cmsOpenBackup As ContextMenuStrip
|
||||
Friend WithEvents cmsOpenBackupFile As ToolStripMenuItem
|
||||
Friend WithEvents cmsOpenBackupFolder As ToolStripMenuItem
|
||||
End Class
|
||||
|
||||
@@ -126,4 +126,7 @@
|
||||
<metadata name="ttFullPath.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>275, 17</value>
|
||||
</metadata>
|
||||
<metadata name="cmsOpenBackup.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>378, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -535,24 +535,15 @@ Public Class frmGameManager
|
||||
End Sub
|
||||
|
||||
Private Sub OpenBackupFile()
|
||||
Dim sFileName As String
|
||||
Dim oProcessStartInfo As ProcessStartInfo
|
||||
Dim sFileName As String = BackupFolder & CurrentBackupItem.FileName
|
||||
|
||||
sFileName = BackupFolder & CurrentBackupItem.FileName
|
||||
mgrCommon.OpenInOS(sFileName, frmGameManager_ErrorNoBackupFileExists)
|
||||
End Sub
|
||||
|
||||
If File.Exists(sFileName) Then
|
||||
Try
|
||||
oProcessStartInfo = New ProcessStartInfo
|
||||
oProcessStartInfo.FileName = sFileName
|
||||
oProcessStartInfo.UseShellExecute = True
|
||||
oProcessStartInfo.Verb = "open"
|
||||
Process.Start(oProcessStartInfo)
|
||||
Catch ex As Exception
|
||||
mgrCommon.ShowMessage(App_ErrorLaunchExternal, ex.Message, MsgBoxStyle.Exclamation)
|
||||
End Try
|
||||
Else
|
||||
mgrCommon.ShowMessage(frmGameManager_ErrorNoBackupExists, MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
Private Sub OpenBackupFolder()
|
||||
Dim sFileName As String = BackupFolder & Path.GetDirectoryName(CurrentBackupItem.FileName)
|
||||
|
||||
mgrCommon.OpenInOS(sFileName, frmGameManager_ErrorNoBackupFolderExists)
|
||||
End Sub
|
||||
|
||||
Private Sub UpdateBuilderButtonLabel(ByVal sBuilderString As String, ByVal sLabel As String, ByVal btn As Button, ByVal bDirty As Boolean)
|
||||
@@ -583,7 +574,7 @@ Public Class frmGameManager
|
||||
|
||||
Private Function GetBuilderRoot() As String
|
||||
Dim sRoot As String = String.Empty
|
||||
Dim sPath As String = mgrPath.ValidatePathForOS(txtSavePath.Text)
|
||||
Dim sPath As String = mgrPath.ValidatePath(txtSavePath.Text)
|
||||
|
||||
If Not Settings.ShowResolvedPaths Then sPath = mgrPath.ReplaceSpecialPaths(sPath)
|
||||
|
||||
@@ -642,7 +633,6 @@ Public Class frmGameManager
|
||||
|
||||
Private Sub OpenRestorePath()
|
||||
Dim sPath As String = String.Empty
|
||||
Dim oProcessStartInfo As ProcessStartInfo
|
||||
|
||||
If CurrentBackupItem.AbsolutePath Then
|
||||
sPath = CurrentBackupItem.RestorePath
|
||||
@@ -652,19 +642,7 @@ Public Class frmGameManager
|
||||
End If
|
||||
End If
|
||||
|
||||
If Directory.Exists(sPath) Then
|
||||
Try
|
||||
oProcessStartInfo = New ProcessStartInfo
|
||||
oProcessStartInfo.FileName = sPath
|
||||
oProcessStartInfo.UseShellExecute = True
|
||||
oProcessStartInfo.Verb = "open"
|
||||
Process.Start(oProcessStartInfo)
|
||||
Catch ex As Exception
|
||||
mgrCommon.ShowMessage(App_ErrorLaunchExternal, ex.Message, MsgBoxStyle.Exclamation)
|
||||
End Try
|
||||
Else
|
||||
mgrCommon.ShowMessage(frmGameManager_ErrorNoRestorePathExists, MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
mgrCommon.OpenInOS(sPath, frmGameManager_ErrorNoRestorePathExists)
|
||||
End Sub
|
||||
|
||||
Private Sub OpenProcesses()
|
||||
@@ -822,7 +800,7 @@ Public Class frmGameManager
|
||||
|
||||
sFileName = BackupFolder & CurrentBackupItem.FileName
|
||||
|
||||
btnOpenBackupFile.Enabled = True
|
||||
btnOpenBackup.Enabled = True
|
||||
btnOpenRestorePath.Enabled = True
|
||||
btnRestore.Enabled = True
|
||||
btnDeleteBackup.Enabled = True
|
||||
@@ -830,7 +808,7 @@ Public Class frmGameManager
|
||||
If File.Exists(sFileName) Then
|
||||
lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.FormatDiskSpace(mgrCommon.GetFileSize(sFileName)) & ")"
|
||||
Else
|
||||
lblBackupFileData.Text = frmGameManager_ErrorNoBackupExists
|
||||
lblBackupFileData.Text = frmGameManager_ErrorNoBackupFileExists
|
||||
End If
|
||||
|
||||
SetBackupRestorePath(oApp)
|
||||
@@ -838,7 +816,7 @@ Public Class frmGameManager
|
||||
oComboItems.Add(New KeyValuePair(Of String, String)(String.Empty, frmGameManager_None))
|
||||
lblBackupFileData.Text = String.Empty
|
||||
lblRestorePathData.Text = String.Empty
|
||||
btnOpenBackupFile.Enabled = False
|
||||
btnOpenBackup.Enabled = False
|
||||
btnOpenRestorePath.Enabled = False
|
||||
btnRestore.Enabled = False
|
||||
btnDeleteBackup.Enabled = False
|
||||
@@ -876,7 +854,7 @@ Public Class frmGameManager
|
||||
|
||||
If mgrPath.IsSupportedRegistryPath(oApp.TruePath) Then
|
||||
btnImportBackup.Enabled = False
|
||||
btnOpenBackupFile.Enabled = False
|
||||
btnOpenBackup.Enabled = False
|
||||
btnOpenRestorePath.Enabled = False
|
||||
End If
|
||||
|
||||
@@ -893,7 +871,7 @@ Public Class frmGameManager
|
||||
If File.Exists(sFileName) Then
|
||||
lblBackupFileData.Text = Path.GetFileName(CurrentBackupItem.FileName) & " (" & mgrCommon.FormatDiskSpace(mgrCommon.GetFileSize(sFileName)) & ")"
|
||||
Else
|
||||
lblBackupFileData.Text = frmGameManager_ErrorNoBackupExists
|
||||
lblBackupFileData.Text = frmGameManager_ErrorNoBackupFileExists
|
||||
End If
|
||||
|
||||
SetBackupRestorePath(CurrentGame)
|
||||
@@ -1081,7 +1059,7 @@ Public Class frmGameManager
|
||||
btnRestore.Enabled = False
|
||||
btnImportBackup.Enabled = False
|
||||
btnDeleteBackup.Enabled = False
|
||||
btnOpenBackupFile.Enabled = False
|
||||
btnOpenBackup.Enabled = False
|
||||
btnOpenRestorePath.Enabled = False
|
||||
chkEnabled.Checked = True
|
||||
chkMonitorOnly.Checked = False
|
||||
@@ -1115,7 +1093,7 @@ Public Class frmGameManager
|
||||
btnRestore.Enabled = False
|
||||
btnImportBackup.Enabled = False
|
||||
btnDeleteBackup.Enabled = False
|
||||
btnOpenBackupFile.Enabled = False
|
||||
btnOpenBackup.Enabled = False
|
||||
btnOpenRestorePath.Enabled = False
|
||||
btnTags.Enabled = True
|
||||
btnProcesses.Enabled = True
|
||||
@@ -1257,7 +1235,6 @@ Public Class frmGameManager
|
||||
btnInclude.Enabled = False
|
||||
btnExclude.Enabled = False
|
||||
Else
|
||||
chkFolderSave.Checked = False
|
||||
chkFolderSave.Enabled = True
|
||||
btnInclude.Enabled = True
|
||||
btnExclude.Enabled = True
|
||||
@@ -1384,7 +1361,7 @@ Public Class frmGameManager
|
||||
oApp.IsRegEx = chkRegEx.Checked
|
||||
|
||||
If Not oApp.IsRegEx Then
|
||||
txtProcess.Text = mgrPath.ValidateFileNameForOS(txtProcess.Text)
|
||||
txtProcess.Text = mgrPath.ValidateFileName(txtProcess.Text)
|
||||
If Path.HasExtension(txtProcess.Text) Then
|
||||
If txtProcess.Text.ToLower.EndsWith(".exe") Then
|
||||
txtProcess.Text = Path.GetFileNameWithoutExtension(txtProcess.Text)
|
||||
@@ -1395,7 +1372,7 @@ Public Class frmGameManager
|
||||
oApp.ProcessName = txtProcess.Text
|
||||
oApp.Parameter = txtParameter.Text
|
||||
oApp.OS = CType(cboOS.SelectedValue, clsGame.eOS)
|
||||
oApp.Path = mgrPath.ValidatePathForOS(txtSavePath.Text)
|
||||
oApp.Path = mgrPath.ValidatePath(txtSavePath.Text)
|
||||
|
||||
'If we have a registry path, trim any trailing backslashes because they cause export failures
|
||||
If mgrPath.IsSupportedRegistryPath(oApp.Path) Then
|
||||
@@ -1420,7 +1397,7 @@ Public Class frmGameManager
|
||||
oApp.Comments = txtComments.Text
|
||||
oApp.Enabled = chkEnabled.Checked
|
||||
oApp.MonitorOnly = chkMonitorOnly.Checked
|
||||
oApp.ProcessPath = mgrPath.ValidatePathForOS(txtAppPath.Text)
|
||||
oApp.ProcessPath = mgrPath.ValidatePath(txtAppPath.Text)
|
||||
oApp.Company = txtCompany.Text
|
||||
oApp.Version = txtVersion.Text
|
||||
oApp.Icon = txtIcon.Text
|
||||
@@ -1818,7 +1795,7 @@ Public Class frmGameManager
|
||||
btnSave.Text = frmGameManager_btnSave
|
||||
lblRestorePath.Text = frmGameManager_lblRestorePath
|
||||
btnOpenRestorePath.Text = frmGameManager_btnOpenRestorePath
|
||||
btnOpenBackupFile.Text = frmGameManager_btnOpenBackupFile
|
||||
btnOpenBackup.Text = frmGameManager_btnOpenBackup
|
||||
btnDeleteBackup.Text = frmGameManager_btnDeleteBackup
|
||||
lblBackupFile.Text = frmGameManager_lblBackupFile
|
||||
lblRemote.Text = frmGameManager_lblRemote
|
||||
@@ -1860,6 +1837,8 @@ Public Class frmGameManager
|
||||
btnProcesses.Text = frmGameManager_btnProcesses
|
||||
lblOS.Text = frmGameManager_lblOS
|
||||
btnWineConfig.Text = frmGameManager_btnWineConfig
|
||||
cmsOpenBackupFile.Text = frmGameManager_cmsOpenBackupFile
|
||||
cmsOpenBackupFolder.Text = frmGameManager_cmsOpenBackupFolder
|
||||
|
||||
'Init Combos
|
||||
Dim oComboItems As New List(Of KeyValuePair(Of Integer, String))
|
||||
@@ -1902,8 +1881,9 @@ Public Class frmGameManager
|
||||
btnRestore.Visible = False
|
||||
btnMarkAsRestored.Visible = False
|
||||
btnDeleteBackup.Visible = False
|
||||
btnOpenBackupFile.Visible = False
|
||||
btnOpenBackup.Visible = False
|
||||
btnOpenRestorePath.Visible = False
|
||||
btnImportBackup.Visible = False
|
||||
End If
|
||||
|
||||
LoadBackupData()
|
||||
@@ -1984,10 +1964,18 @@ Public Class frmGameManager
|
||||
IconBrowse()
|
||||
End Sub
|
||||
|
||||
Private Sub btnOpenBackupFile_Click(sender As Object, e As EventArgs) Handles btnOpenBackupFile.Click
|
||||
Private Sub btnOpenBackup_Click(sender As Object, e As EventArgs) Handles btnOpenBackup.Click
|
||||
mgrCommon.OpenButtonSubMenu(cmsOpenBackup, btnOpenBackup)
|
||||
End Sub
|
||||
|
||||
Private Sub cmsOpenBackupFile_Click(sender As Object, e As EventArgs) Handles cmsOpenBackupFile.Click
|
||||
OpenBackupFile()
|
||||
End Sub
|
||||
|
||||
Private Sub cmsOpenBackupFolder_Click(sender As Object, e As EventArgs) Handles cmsOpenBackupFolder.Click
|
||||
OpenBackupFolder()
|
||||
End Sub
|
||||
|
||||
Private Sub btnOpenRestorePath_Click(sender As Object, e As EventArgs) Handles btnOpenRestorePath.Click
|
||||
OpenRestorePath()
|
||||
End Sub
|
||||
@@ -2006,7 +1994,7 @@ Public Class frmGameManager
|
||||
|
||||
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(btnDeleteBackup.Size.Width - Math.Floor(btnDeleteBackup.Size.Width * 0.1), btnDeleteBackup.Size.Height - Math.Floor(btnDeleteBackup.Size.Height * 0.5)), ToolStripDropDownDirection.AboveRight)
|
||||
mgrCommon.OpenButtonSubMenu(cmsDeleteBackup, btnDeleteBackup)
|
||||
Else
|
||||
DeleteBackup()
|
||||
End If
|
||||
@@ -2076,7 +2064,7 @@ Public Class frmGameManager
|
||||
End Sub
|
||||
|
||||
Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click
|
||||
cmsImport.Show(btnImport, New Drawing.Point(btnImport.Size.Width - Math.Floor(btnImport.Size.Width * 0.1), btnImport.Size.Height - Math.Floor(btnImport.Size.Height * 0.5)), ToolStripDropDownDirection.AboveRight)
|
||||
mgrCommon.OpenButtonSubMenu(cmsImport, btnImport)
|
||||
End Sub
|
||||
|
||||
Private Sub cmsOfficialWindows_Click(sender As Object, e As EventArgs) Handles cmsOfficialWindows.Click, cmsOfficial.Click
|
||||
|
||||
@@ -258,19 +258,21 @@ Partial Class frmMain
|
||||
Me.txtLog.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.txtLog.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.txtLog.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.txtLog.Location = New System.Drawing.Point(12, 184)
|
||||
Me.txtLog.Location = New System.Drawing.Point(-1, 184)
|
||||
Me.txtLog.MaxLength = 524288
|
||||
Me.txtLog.Multiline = True
|
||||
Me.txtLog.Name = "txtLog"
|
||||
Me.txtLog.ReadOnly = True
|
||||
Me.txtLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
|
||||
Me.txtLog.Size = New System.Drawing.Size(500, 186)
|
||||
Me.txtLog.Size = New System.Drawing.Size(525, 195)
|
||||
Me.txtLog.TabIndex = 10
|
||||
Me.txtLog.TabStop = False
|
||||
'
|
||||
'gMonStatusStrip
|
||||
'
|
||||
Me.gMonStatusStrip.BackColor = System.Drawing.Color.Transparent
|
||||
Me.gMonStatusStrip.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.gMonStatusStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonStripAdminButton, Me.gMonStripTxtStatus, Me.gMonStripStatusButton})
|
||||
Me.gMonStatusStrip.Location = New System.Drawing.Point(0, 379)
|
||||
@@ -309,7 +311,7 @@ Partial Class frmMain
|
||||
Me.gMonMainMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonFile, Me.gMonSetup, Me.gMonTools, Me.gMonHelp, Me.gMonNotification})
|
||||
Me.gMonMainMenu.Location = New System.Drawing.Point(0, 0)
|
||||
Me.gMonMainMenu.Name = "gMonMainMenu"
|
||||
Me.gMonMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
|
||||
Me.gMonMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.gMonMainMenu.Size = New System.Drawing.Size(524, 24)
|
||||
Me.gMonMainMenu.TabIndex = 0
|
||||
Me.gMonMainMenu.Text = "MenuStrip1"
|
||||
|
||||
@@ -968,6 +968,7 @@ Public Class frmMain
|
||||
mgrPath.RemoteDatabaseLocation = oSettings.BackupFolder
|
||||
SetupSyncWatcher()
|
||||
LoadGameSettings()
|
||||
LoadCustomUISettings()
|
||||
End If
|
||||
ResumeScan()
|
||||
End Sub
|
||||
@@ -1007,12 +1008,9 @@ Public Class frmMain
|
||||
|
||||
Private Sub OpenStartupWizard()
|
||||
Dim frm As New frmStartUpWizard()
|
||||
frm.Settings = oSettings
|
||||
PauseScan()
|
||||
frm.Settings = New mgrSettings
|
||||
frm.ShowDialog()
|
||||
LoadAndVerify()
|
||||
bFirstRun = False
|
||||
ResumeScan()
|
||||
End Sub
|
||||
|
||||
Private Sub OpenWebSite()
|
||||
@@ -1565,6 +1563,9 @@ Public Class frmMain
|
||||
pbTime.Image = Icon_Clock
|
||||
AddHandler mgrMonitorList.UpdateLog, AddressOf UpdateLog
|
||||
ResetGameInfo()
|
||||
|
||||
'Initialise and sets interface customizations
|
||||
LoadCustomUISettings()
|
||||
End Sub
|
||||
|
||||
Private Function BuildChildProcesses() As Integer
|
||||
@@ -1628,6 +1629,44 @@ Public Class frmMain
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub LoadCustomUISettings()
|
||||
#Region "Auto-hide log"
|
||||
If oSettings.AutoHideLog Then
|
||||
Size = New Size(0, 0)
|
||||
Else
|
||||
Size = New Size(0, 440)
|
||||
End If
|
||||
#End Region
|
||||
|
||||
#Region "Set application theme"
|
||||
Dim oThemeEngine As New mgrThemeEngine()
|
||||
oThemeEngine.SetTheme(oSettings.ThemeSelection)
|
||||
|
||||
'Base Theme
|
||||
BackColor = oThemeEngine.ColorBase
|
||||
|
||||
'Menu/Status Bars
|
||||
gMonMainMenu.BackColor = oThemeEngine.ColorBase
|
||||
gMonMainMenu.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
gMonStatusStrip.BackColor = oThemeEngine.ColorBase
|
||||
gMonStripTxtStatus.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
gMonStripStatusButton.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
|
||||
'Text Labels
|
||||
lblGameTitle.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
lblStatus1.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
lblStatus2.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
lblStatus3.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
lblTimeSpent.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
lblLastActionTitle.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
lblLastAction.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
|
||||
'Output Log
|
||||
txtLog.BackColor = oThemeEngine.ColorBaseSecondary
|
||||
txtLog.ForeColor = oThemeEngine.ColorHighlight
|
||||
#End Region
|
||||
End Sub
|
||||
|
||||
'Functions that control the scanning for games
|
||||
Private Sub StartScan()
|
||||
tmScanTimer.Interval = 5000
|
||||
@@ -1715,8 +1754,8 @@ Public Class frmMain
|
||||
|
||||
Private Sub VerifyGameDataPath()
|
||||
'Important: This function cannot access mgrPath for settings, as that will trigger a database creation and destroy the reason for this function
|
||||
Dim sSettingsRoot As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "/gbm"
|
||||
Dim sDBLocation As String = sSettingsRoot & "/gbm.s3db"
|
||||
Dim sSettingsRoot As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & Path.DirectorySeparatorChar & "gbm"
|
||||
Dim sDBLocation As String = sSettingsRoot & Path.DirectorySeparatorChar & "gbm.s3db"
|
||||
|
||||
If Not Directory.Exists(sSettingsRoot) Then
|
||||
Try
|
||||
@@ -2166,6 +2205,7 @@ Public Class frmMain
|
||||
If bInitialLoad Then
|
||||
Try
|
||||
VerifyGameDataPath()
|
||||
If bFirstRun Then OpenStartupWizard()
|
||||
LoadAndVerify()
|
||||
Catch ex As Exception
|
||||
If mgrCommon.ShowMessage(frmMain_ErrorInitFailure, ex.Message & vbCrLf & ex.StackTrace, MsgBoxStyle.YesNo) = MsgBoxResult.No Then
|
||||
@@ -2204,10 +2244,6 @@ Public Class frmMain
|
||||
CheckForNewBackups()
|
||||
End If
|
||||
|
||||
If bFirstRun And Not bShutdown Then
|
||||
OpenStartupWizard()
|
||||
End If
|
||||
|
||||
bInitialLoad = False
|
||||
Else
|
||||
txtLog.Select(txtLog.TextLength, 0)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class frmSettings
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
<System.Diagnostics.DebuggerNonUserCode()>
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
@@ -20,7 +20,7 @@ Partial Class frmSettings
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Me.chkAutoSaveLog = New System.Windows.Forms.CheckBox()
|
||||
Me.btnOptionalFields = New System.Windows.Forms.Button()
|
||||
@@ -75,6 +75,17 @@ Partial Class frmSettings
|
||||
Me.chkAutoStart = New System.Windows.Forms.CheckBox()
|
||||
Me.chkStartMinimized = New System.Windows.Forms.CheckBox()
|
||||
Me.chkMonitorOnStartup = New System.Windows.Forms.CheckBox()
|
||||
Me.pnlInterface = New System.Windows.Forms.Panel()
|
||||
Me.grpInterfaceOptions = New System.Windows.Forms.GroupBox()
|
||||
Me.lblPreviewTheme_HighlightSecBottom = New System.Windows.Forms.Label()
|
||||
Me.lblPreviewTheme_Highlight = New System.Windows.Forms.Label()
|
||||
Me.lblPreviewTheme_HighlightSecTop = New System.Windows.Forms.Label()
|
||||
Me.btnPreviewTheme_BaseSec = New System.Windows.Forms.Button()
|
||||
Me.btnPreviewTheme_Base = New System.Windows.Forms.Button()
|
||||
Me.chkAutoHideLog = New System.Windows.Forms.CheckBox()
|
||||
Me.cboThemeSelection = New System.Windows.Forms.ComboBox()
|
||||
Me.lblThemeSelection = New System.Windows.Forms.Label()
|
||||
Me.lblPreviewTheme_HighlightSec = New System.Windows.Forms.Label()
|
||||
Me.grpFolderOptions.SuspendLayout()
|
||||
Me.grp7zGeneral.SuspendLayout()
|
||||
Me.pnlBackup.SuspendLayout()
|
||||
@@ -90,6 +101,8 @@ Partial Class frmSettings
|
||||
Me.grpGameData.SuspendLayout()
|
||||
Me.pnlStartup.SuspendLayout()
|
||||
Me.grpStartup.SuspendLayout()
|
||||
Me.pnlInterface.SuspendLayout()
|
||||
Me.grpInterfaceOptions.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'chkAutoSaveLog
|
||||
@@ -622,11 +635,123 @@ Partial Class frmSettings
|
||||
Me.chkMonitorOnStartup.Text = "Start monitoring on launch"
|
||||
Me.chkMonitorOnStartup.UseVisualStyleBackColor = True
|
||||
'
|
||||
'pnlInterface
|
||||
'
|
||||
Me.pnlInterface.Controls.Add(Me.grpInterfaceOptions)
|
||||
Me.pnlInterface.Location = New System.Drawing.Point(180, 0)
|
||||
Me.pnlInterface.Name = "pnlInterface"
|
||||
Me.pnlInterface.Size = New System.Drawing.Size(367, 314)
|
||||
Me.pnlInterface.TabIndex = 9
|
||||
'
|
||||
'grpInterfaceOptions
|
||||
'
|
||||
Me.grpInterfaceOptions.Controls.Add(Me.lblPreviewTheme_HighlightSec)
|
||||
Me.grpInterfaceOptions.Controls.Add(Me.lblPreviewTheme_HighlightSecBottom)
|
||||
Me.grpInterfaceOptions.Controls.Add(Me.lblPreviewTheme_Highlight)
|
||||
Me.grpInterfaceOptions.Controls.Add(Me.lblPreviewTheme_HighlightSecTop)
|
||||
Me.grpInterfaceOptions.Controls.Add(Me.btnPreviewTheme_BaseSec)
|
||||
Me.grpInterfaceOptions.Controls.Add(Me.btnPreviewTheme_Base)
|
||||
Me.grpInterfaceOptions.Controls.Add(Me.chkAutoHideLog)
|
||||
Me.grpInterfaceOptions.Controls.Add(Me.cboThemeSelection)
|
||||
Me.grpInterfaceOptions.Controls.Add(Me.lblThemeSelection)
|
||||
Me.grpInterfaceOptions.Location = New System.Drawing.Point(6, 12)
|
||||
Me.grpInterfaceOptions.Name = "grpInterfaceOptions"
|
||||
Me.grpInterfaceOptions.Size = New System.Drawing.Size(354, 299)
|
||||
Me.grpInterfaceOptions.TabIndex = 1
|
||||
Me.grpInterfaceOptions.TabStop = False
|
||||
Me.grpInterfaceOptions.Text = "Interface Options"
|
||||
'
|
||||
'lblPreviewTheme_HighlightSecBottom
|
||||
'
|
||||
Me.lblPreviewTheme_HighlightSecBottom.AutoSize = True
|
||||
Me.lblPreviewTheme_HighlightSecBottom.Location = New System.Drawing.Point(15, 229)
|
||||
Me.lblPreviewTheme_HighlightSecBottom.Name = "lblPreviewTheme_HighlightSecBottom"
|
||||
Me.lblPreviewTheme_HighlightSecBottom.Size = New System.Drawing.Size(80, 13)
|
||||
Me.lblPreviewTheme_HighlightSecBottom.TabIndex = 10
|
||||
Me.lblPreviewTheme_HighlightSecBottom.Text = "Status Bar Text"
|
||||
'
|
||||
'lblPreviewTheme_Highlight
|
||||
'
|
||||
Me.lblPreviewTheme_Highlight.AutoSize = True
|
||||
Me.lblPreviewTheme_Highlight.Location = New System.Drawing.Point(18, 145)
|
||||
Me.lblPreviewTheme_Highlight.Name = "lblPreviewTheme_Highlight"
|
||||
Me.lblPreviewTheme_Highlight.Size = New System.Drawing.Size(49, 13)
|
||||
Me.lblPreviewTheme_Highlight.TabIndex = 9
|
||||
Me.lblPreviewTheme_Highlight.Text = "Log Text"
|
||||
'
|
||||
'lblPreviewTheme_HighlightSecTop
|
||||
'
|
||||
Me.lblPreviewTheme_HighlightSecTop.AutoSize = True
|
||||
Me.lblPreviewTheme_HighlightSecTop.Location = New System.Drawing.Point(18, 58)
|
||||
Me.lblPreviewTheme_HighlightSecTop.Name = "lblPreviewTheme_HighlightSecTop"
|
||||
Me.lblPreviewTheme_HighlightSecTop.Size = New System.Drawing.Size(77, 13)
|
||||
Me.lblPreviewTheme_HighlightSecTop.TabIndex = 8
|
||||
Me.lblPreviewTheme_HighlightSecTop.Text = "Menu Bar Text"
|
||||
'
|
||||
'btnPreviewTheme_BaseSec
|
||||
'
|
||||
Me.btnPreviewTheme_BaseSec.Enabled = False
|
||||
Me.btnPreviewTheme_BaseSec.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnPreviewTheme_BaseSec.Location = New System.Drawing.Point(12, 139)
|
||||
Me.btnPreviewTheme_BaseSec.Name = "btnPreviewTheme_BaseSec"
|
||||
Me.btnPreviewTheme_BaseSec.Size = New System.Drawing.Size(321, 86)
|
||||
Me.btnPreviewTheme_BaseSec.TabIndex = 5
|
||||
Me.btnPreviewTheme_BaseSec.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btnPreviewTheme_Base
|
||||
'
|
||||
Me.btnPreviewTheme_Base.Enabled = False
|
||||
Me.btnPreviewTheme_Base.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnPreviewTheme_Base.Location = New System.Drawing.Point(12, 52)
|
||||
Me.btnPreviewTheme_Base.Name = "btnPreviewTheme_Base"
|
||||
Me.btnPreviewTheme_Base.Size = New System.Drawing.Size(321, 194)
|
||||
Me.btnPreviewTheme_Base.TabIndex = 4
|
||||
Me.btnPreviewTheme_Base.UseVisualStyleBackColor = True
|
||||
'
|
||||
'chkAutoHideLog
|
||||
'
|
||||
Me.chkAutoHideLog.AutoSize = True
|
||||
Me.chkAutoHideLog.Location = New System.Drawing.Point(12, 275)
|
||||
Me.chkAutoHideLog.Name = "chkAutoHideLog"
|
||||
Me.chkAutoHideLog.Size = New System.Drawing.Size(167, 17)
|
||||
Me.chkAutoHideLog.TabIndex = 3
|
||||
Me.chkAutoHideLog.Text = "Automatically hide backup log"
|
||||
Me.chkAutoHideLog.UseVisualStyleBackColor = True
|
||||
'
|
||||
'cboThemeSelection
|
||||
'
|
||||
Me.cboThemeSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
|
||||
Me.cboThemeSelection.FormattingEnabled = True
|
||||
Me.cboThemeSelection.Location = New System.Drawing.Point(110, 23)
|
||||
Me.cboThemeSelection.Name = "cboThemeSelection"
|
||||
Me.cboThemeSelection.Size = New System.Drawing.Size(223, 21)
|
||||
Me.cboThemeSelection.TabIndex = 1
|
||||
'
|
||||
'lblThemeSelection
|
||||
'
|
||||
Me.lblThemeSelection.AutoSize = True
|
||||
Me.lblThemeSelection.Location = New System.Drawing.Point(9, 27)
|
||||
Me.lblThemeSelection.Name = "lblThemeSelection"
|
||||
Me.lblThemeSelection.Size = New System.Drawing.Size(90, 13)
|
||||
Me.lblThemeSelection.TabIndex = 0
|
||||
Me.lblThemeSelection.Text = "Theme Selection:"
|
||||
'
|
||||
'lblPreviewTheme_HighlightSec
|
||||
'
|
||||
Me.lblPreviewTheme_HighlightSec.AutoSize = True
|
||||
Me.lblPreviewTheme_HighlightSec.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.lblPreviewTheme_HighlightSec.Location = New System.Drawing.Point(16, 77)
|
||||
Me.lblPreviewTheme_HighlightSec.Name = "lblPreviewTheme_HighlightSec"
|
||||
Me.lblPreviewTheme_HighlightSec.Size = New System.Drawing.Size(143, 24)
|
||||
Me.lblPreviewTheme_HighlightSec.TabIndex = 11
|
||||
Me.lblPreviewTheme_HighlightSec.Text = "Game Title Text"
|
||||
'
|
||||
'frmSettings
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(554, 361)
|
||||
Me.Controls.Add(Me.pnlInterface)
|
||||
Me.Controls.Add(Me.pnlStartup)
|
||||
Me.Controls.Add(Me.pnlBackup)
|
||||
Me.Controls.Add(Me.pnlGeneral)
|
||||
@@ -666,6 +791,9 @@ Partial Class frmSettings
|
||||
Me.pnlStartup.ResumeLayout(False)
|
||||
Me.grpStartup.ResumeLayout(False)
|
||||
Me.grpStartup.PerformLayout()
|
||||
Me.pnlInterface.ResumeLayout(False)
|
||||
Me.grpInterfaceOptions.ResumeLayout(False)
|
||||
Me.grpInterfaceOptions.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
@@ -722,4 +850,15 @@ Partial Class frmSettings
|
||||
Friend WithEvents grpGameMonitoringOptions As GroupBox
|
||||
Friend WithEvents chkShowResolvedPaths As CheckBox
|
||||
Friend WithEvents chkDisableDiskSpaceCheck As CheckBox
|
||||
Friend WithEvents pnlInterface As Panel
|
||||
Friend WithEvents grpInterfaceOptions As GroupBox
|
||||
Friend WithEvents chkAutoHideLog As CheckBox
|
||||
Friend WithEvents cboThemeSelection As ComboBox
|
||||
Friend WithEvents lblThemeSelection As Label
|
||||
Friend WithEvents btnPreviewTheme_Base As Button
|
||||
Friend WithEvents btnPreviewTheme_BaseSec As Button
|
||||
Friend WithEvents lblPreviewTheme_HighlightSecTop As Label
|
||||
Friend WithEvents lblPreviewTheme_Highlight As Label
|
||||
Friend WithEvents lblPreviewTheme_HighlightSecBottom As Label
|
||||
Friend WithEvents lblPreviewTheme_HighlightSec As Label
|
||||
End Class
|
||||
|
||||
@@ -5,6 +5,7 @@ Public Class frmSettings
|
||||
Dim bShutdown As Boolean = False
|
||||
Dim bSyncSettingsChanged As Boolean = False
|
||||
Dim eCurrentSyncFields As clsGame.eOptionalSyncFields
|
||||
|
||||
Private oSettings As mgrSettings
|
||||
|
||||
Property Settings As mgrSettings
|
||||
@@ -99,6 +100,8 @@ Public Class frmSettings
|
||||
oSettings.SuppressBackup = chkSuppressBackup.Checked
|
||||
oSettings.SuppressBackupThreshold = nudSuppressBackupThreshold.Value
|
||||
oSettings.CompressionLevel = cboCompression.SelectedValue
|
||||
oSettings.ThemeSelection = cboThemeSelection.SelectedValue
|
||||
oSettings.AutoHideLog = chkAutoHideLog.Checked
|
||||
|
||||
If oSettings.Custom7zArguments <> txt7zArguments.Text.Trim And txt7zArguments.Text.Trim <> String.Empty Then
|
||||
mgrCommon.ShowMessage(frmSettings_WarningArguments, MsgBoxStyle.Exclamation)
|
||||
@@ -234,6 +237,8 @@ Public Class frmSettings
|
||||
txt7zArguments.Text = oSettings.Custom7zArguments
|
||||
txt7zLocation.Text = oSettings.Custom7zLocation
|
||||
eCurrentSyncFields = oSettings.SyncFields
|
||||
cboThemeSelection.SelectedIndex = oSettings.ThemeSelection
|
||||
chkAutoHideLog.Checked = oSettings.AutoHideLog
|
||||
|
||||
'Retrieve 7z Info
|
||||
GetUtilityInfo(oSettings.Custom7zLocation)
|
||||
@@ -243,6 +248,7 @@ Public Class frmSettings
|
||||
Private Sub LoadCombos()
|
||||
Dim oComboItems As New List(Of KeyValuePair(Of Integer, String))
|
||||
Dim oSettingsItems As New List(Of KeyValuePair(Of Integer, String))
|
||||
Dim oThemeItems As New List(Of KeyValuePair(Of Integer, String))
|
||||
|
||||
'cboCompression
|
||||
cboCompression.ValueMember = "Key"
|
||||
@@ -257,6 +263,18 @@ Public Class frmSettings
|
||||
|
||||
cboCompression.DataSource = oComboItems
|
||||
|
||||
'cboThemes
|
||||
cboThemeSelection.ValueMember = "Key"
|
||||
cboThemeSelection.DisplayMember = "Value"
|
||||
|
||||
oThemeItems.Add(New KeyValuePair(Of Integer, String)(0, frmSettings_cboThemeSelection_Light))
|
||||
oThemeItems.Add(New KeyValuePair(Of Integer, String)(1, frmSettings_cboThemeSelection_Dark))
|
||||
oThemeItems.Add(New KeyValuePair(Of Integer, String)(2, frmSettings_cboThemeSelection_Crimson))
|
||||
oThemeItems.Add(New KeyValuePair(Of Integer, String)(3, frmSettings_cboThemeSelection_Emerald))
|
||||
oThemeItems.Add(New KeyValuePair(Of Integer, String)(4, frmSettings_cboThemeSelection_GBM))
|
||||
|
||||
cboThemeSelection.DataSource = oThemeItems
|
||||
|
||||
'lstSettings
|
||||
lstSettings.ValueMember = "Key"
|
||||
lstSettings.DisplayMember = "Value"
|
||||
@@ -265,6 +283,7 @@ Public Class frmSettings
|
||||
oSettingsItems.Add(New KeyValuePair(Of Integer, String)(1, frmSettings_lstSettings_BackupRestore))
|
||||
oSettingsItems.Add(New KeyValuePair(Of Integer, String)(2, frmSettings_lstSettings_Startup))
|
||||
oSettingsItems.Add(New KeyValuePair(Of Integer, String)(3, frmSettings_lstSettings_7z))
|
||||
oSettingsItems.Add(New KeyValuePair(Of Integer, String)(4, frmSettings_lstSettings_Interface))
|
||||
|
||||
lstSettings.DataSource = oSettingsItems
|
||||
|
||||
@@ -291,22 +310,32 @@ Public Class frmSettings
|
||||
pnlStartup.Visible = False
|
||||
pnlBackup.Visible = False
|
||||
pnl7z.Visible = False
|
||||
pnlInterface.Visible = False
|
||||
Case 1
|
||||
pnlGeneral.Visible = False
|
||||
pnlBackup.Visible = True
|
||||
pnlStartup.Visible = False
|
||||
pnl7z.Visible = False
|
||||
pnlInterface.Visible = False
|
||||
Case 2
|
||||
pnlGeneral.Visible = False
|
||||
pnlBackup.Visible = False
|
||||
pnlStartup.Visible = True
|
||||
pnl7z.Visible = False
|
||||
pnlInterface.Visible = False
|
||||
|
||||
Case 3
|
||||
pnlGeneral.Visible = False
|
||||
pnlBackup.Visible = False
|
||||
pnlStartup.Visible = False
|
||||
pnl7z.Visible = True
|
||||
pnlInterface.Visible = False
|
||||
Case 4
|
||||
pnlGeneral.Visible = False
|
||||
pnlBackup.Visible = False
|
||||
pnlStartup.Visible = False
|
||||
pnl7z.Visible = False
|
||||
pnlInterface.Visible = True
|
||||
End Select
|
||||
End If
|
||||
End Sub
|
||||
@@ -427,4 +456,40 @@ Public Class frmSettings
|
||||
Private Sub lstSettings_SelectedValueChanged(sender As Object, e As EventArgs) Handles lstSettings.SelectedValueChanged
|
||||
ChangePanel()
|
||||
End Sub
|
||||
|
||||
Private Sub cboThemeSelection_SelectedValueChanged(sender As Object, e As EventArgs) Handles cboThemeSelection.SelectedValueChanged
|
||||
'Previews theme based on current combo-box selection.
|
||||
Dim oThemeEngine As New mgrThemeEngine()
|
||||
|
||||
If cboThemeSelection.SelectedIndex = 0 Then
|
||||
oThemeEngine.SetTheme(cboThemeSelection.SelectedIndex)
|
||||
ElseIf cboThemeSelection.SelectedIndex = 1 Then
|
||||
oThemeEngine.SetTheme(cboThemeSelection.SelectedIndex)
|
||||
ElseIf cboThemeSelection.SelectedIndex = 2 Then
|
||||
oThemeEngine.SetTheme(cboThemeSelection.SelectedIndex)
|
||||
ElseIf cboThemeSelection.SelectedIndex = 3 Then
|
||||
oThemeEngine.SetTheme(cboThemeSelection.SelectedIndex)
|
||||
ElseIf cboThemeSelection.SelectedIndex = 4 Then
|
||||
oThemeEngine.SetTheme(cboThemeSelection.SelectedIndex)
|
||||
End If
|
||||
|
||||
'Only set the theme once it has been defined.
|
||||
If oThemeEngine.bThemeHasBeenDefined Then
|
||||
'Base Theme
|
||||
btnPreviewTheme_Base.BackColor = oThemeEngine.ColorBase
|
||||
btnPreviewTheme_BaseSec.BackColor = oThemeEngine.ColorBaseSecondary
|
||||
'Log Text
|
||||
lblPreviewTheme_Highlight.ForeColor = oThemeEngine.ColorHighlight
|
||||
lblPreviewTheme_Highlight.BackColor = oThemeEngine.ColorBaseSecondary
|
||||
'Menu Bar Text
|
||||
lblPreviewTheme_HighlightSecTop.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
lblPreviewTheme_HighlightSecTop.BackColor = oThemeEngine.ColorBase
|
||||
'Status Bar Text
|
||||
lblPreviewTheme_HighlightSecBottom.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
lblPreviewTheme_HighlightSecBottom.BackColor = oThemeEngine.ColorBase
|
||||
'Game Title Text
|
||||
lblPreviewTheme_HighlightSec.ForeColor = oThemeEngine.ColorHighlightSecondary
|
||||
lblPreviewTheme_HighlightSec.BackColor = oThemeEngine.ColorBase
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
@@ -49,6 +49,7 @@ Partial Class frmStartUpWizard
|
||||
Me.lblStep4Instructions = New System.Windows.Forms.Label()
|
||||
Me.btnNext = New System.Windows.Forms.Button()
|
||||
Me.btnBack = New System.Windows.Forms.Button()
|
||||
Me.lblStep2Warning = New System.Windows.Forms.Label()
|
||||
Me.tabWizard.SuspendLayout()
|
||||
Me.tbPage1.SuspendLayout()
|
||||
Me.tbPage2.SuspendLayout()
|
||||
@@ -125,6 +126,7 @@ Partial Class frmStartUpWizard
|
||||
'tbPage2
|
||||
'
|
||||
Me.tbPage2.BackColor = System.Drawing.SystemColors.Control
|
||||
Me.tbPage2.Controls.Add(Me.lblStep2Warning)
|
||||
Me.tbPage2.Controls.Add(Me.chkCreateFolder)
|
||||
Me.tbPage2.Controls.Add(Me.lblStep2Title)
|
||||
Me.tbPage2.Controls.Add(Me.lblStep2Instructions)
|
||||
@@ -162,7 +164,7 @@ Partial Class frmStartUpWizard
|
||||
'
|
||||
Me.lblStep2Instructions.Location = New System.Drawing.Point(14, 103)
|
||||
Me.lblStep2Instructions.Name = "lblStep2Instructions"
|
||||
Me.lblStep2Instructions.Size = New System.Drawing.Size(335, 50)
|
||||
Me.lblStep2Instructions.Size = New System.Drawing.Size(335, 44)
|
||||
Me.lblStep2Instructions.TabIndex = 6
|
||||
Me.lblStep2Instructions.Text = "GBM will store all your backup files along with a manifest database (gbm.s3db) in" &
|
||||
" this location. Any existing GBM data in this folder will be automatically impo" &
|
||||
@@ -318,6 +320,15 @@ Partial Class frmStartUpWizard
|
||||
Me.btnBack.TabIndex = 1
|
||||
Me.btnBack.Text = "&Back"
|
||||
Me.btnBack.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lblStep2Warning
|
||||
'
|
||||
Me.lblStep2Warning.Location = New System.Drawing.Point(14, 147)
|
||||
Me.lblStep2Warning.Name = "lblStep2Warning"
|
||||
Me.lblStep2Warning.Size = New System.Drawing.Size(335, 33)
|
||||
Me.lblStep2Warning.TabIndex = 7
|
||||
Me.lblStep2Warning.Text = "You cannot return to this step after clicking Next. The Backup Location can be c" &
|
||||
"hanged any time once Setup is complete."
|
||||
'
|
||||
'frmStartUpWizard
|
||||
'
|
||||
@@ -371,4 +382,5 @@ Partial Class frmStartUpWizard
|
||||
Friend WithEvents lblStep4Instructions2 As System.Windows.Forms.Label
|
||||
Friend WithEvents lblStep1Instructions2 As System.Windows.Forms.Label
|
||||
Friend WithEvents llbManual As System.Windows.Forms.LinkLabel
|
||||
Friend WithEvents lblStep2Warning As Label
|
||||
End Class
|
||||
|
||||
@@ -42,6 +42,7 @@ Public Class frmStartUpWizard
|
||||
chkCreateFolder.Text = frmStartUpWizard_chkCreateFolder
|
||||
lblStep2Title.Text = frmStartUpWizard_lblStep2Title
|
||||
lblStep2Instructions.Text = frmStartUpWizard_lblStep2Instructions
|
||||
lblStep2Warning.Text = frmStartUpWizard_lblStep2Warning
|
||||
btnFolderBrowse.Text = frmStartUpWizard_btnFolderBrowse
|
||||
lblStep2Intro.Text = frmStartUpWizard_lblStep2Intro
|
||||
btnOpenWizard.Text = frmStartUpWizard_btnOpenWizard
|
||||
@@ -55,7 +56,8 @@ Public Class frmStartUpWizard
|
||||
lblStep4Instructions.Text = frmStartUpWizard_lblStep4Instructions
|
||||
|
||||
llbManual.Links.Add(0, 26, App_URLManual)
|
||||
LoadGameSettings()
|
||||
txtBackupPath.Text = oSettings.BackupFolder
|
||||
|
||||
StepHandler()
|
||||
End Sub
|
||||
|
||||
@@ -78,8 +80,6 @@ Public Class frmStartUpWizard
|
||||
btnNext.Enabled = True
|
||||
tabWizard.SelectTab(0)
|
||||
Case eSteps.Step2
|
||||
txtBackupPath.Text = oSettings.BackupFolder
|
||||
chkCreateFolder.Checked = oSettings.CreateSubFolder
|
||||
btnBack.Enabled = True
|
||||
btnNext.Enabled = True
|
||||
tabWizard.SelectTab(1)
|
||||
@@ -141,18 +141,22 @@ Public Class frmStartUpWizard
|
||||
Return False
|
||||
End If
|
||||
|
||||
If Not Directory.Exists(strPath) Then
|
||||
sErrorMessage = frmStartUpWizard_ErrorNoFolderExists
|
||||
txtBackupPath.Focus()
|
||||
Return False
|
||||
End If
|
||||
|
||||
If Not Path.IsPathRooted(strPath) Then
|
||||
sErrorMessage = frmStartUpWizard_ErrorBadFolder
|
||||
txtBackupPath.Focus()
|
||||
Return False
|
||||
End If
|
||||
|
||||
If Not Directory.Exists(strPath) Then
|
||||
Try
|
||||
Directory.CreateDirectory(strPath)
|
||||
Catch ex As Exception
|
||||
sErrorMessage = frmStartUpWizard_ErrorNoFolderExists
|
||||
txtBackupPath.Focus()
|
||||
Return False
|
||||
End Try
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
|
||||
@@ -123,6 +123,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Classes\clsGameProcess.vb" />
|
||||
<Compile Include="Managers\mgrThemeEngine.vb" />
|
||||
<Compile Include="Classes\clsWineData.vb" />
|
||||
<Compile Include="Classes\clsProcess.vb" />
|
||||
<Compile Include="Classes\clsGameFilter.vb" />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
GBM - Game Backup Monitor
|
||||
Copyright (C) 2019 Michael J. Seiferling
|
||||
Game Backup Monitor
|
||||
Copyright (C) 2014 - 2019 Michael J. Seiferling and Game Backup Monitor contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -451,7 +451,7 @@ Public Class mgrCommon
|
||||
Try
|
||||
prsdf = New Process
|
||||
prsdf.StartInfo.FileName = "/bin/df"
|
||||
prsdf.StartInfo.Arguments = sPath
|
||||
prsdf.StartInfo.Arguments = """" & sPath & """"
|
||||
prsdf.StartInfo.UseShellExecute = False
|
||||
prsdf.StartInfo.RedirectStandardOutput = True
|
||||
prsdf.StartInfo.CreateNoWindow = True
|
||||
@@ -529,6 +529,29 @@ Public Class mgrCommon
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'Opens a file or folder in default application determined by the OS
|
||||
Public Shared Function OpenInOS(ByVal sFileName As String, ByVal sNotFoundError As String) As Boolean
|
||||
Dim oProcessStartInfo As ProcessStartInfo
|
||||
|
||||
If File.Exists(sFileName) Or Directory.Exists(sFileName) Then
|
||||
Try
|
||||
oProcessStartInfo = New ProcessStartInfo
|
||||
oProcessStartInfo.FileName = sFileName
|
||||
oProcessStartInfo.UseShellExecute = True
|
||||
oProcessStartInfo.Verb = "open"
|
||||
Process.Start(oProcessStartInfo)
|
||||
Catch ex As Exception
|
||||
mgrCommon.ShowMessage(App_ErrorLaunchExternal, ex.Message, MsgBoxStyle.Exclamation)
|
||||
Return False
|
||||
End Try
|
||||
Else
|
||||
mgrCommon.ShowMessage(sNotFoundError, MsgBoxStyle.Exclamation)
|
||||
Return False
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
'Delete a sub-folder based on the provided backup information
|
||||
Public Shared Sub DeleteDirectoryByBackup(ByVal sBackupFolder As String, ByVal oBackup As clsBackup)
|
||||
Dim oDir As DirectoryInfo
|
||||
@@ -569,6 +592,11 @@ Public Class mgrCommon
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Open a nice button sub-menu
|
||||
Public Shared Sub OpenButtonSubMenu(ByRef cms As ContextMenuStrip, ByRef btn As Button)
|
||||
cms.Show(btn, New Drawing.Point(btn.Size.Width - Math.Floor(btn.Size.Width * 0.1), btn.Size.Height - Math.Floor(btn.Size.Height * 0.5)), ToolStripDropDownDirection.AboveRight)
|
||||
End Sub
|
||||
|
||||
'Configure a fake form to trigger focus for priority messages
|
||||
Private Shared Sub ConfigureFakeForm(ByRef frm As Form)
|
||||
frm.FormBorderStyle = FormBorderStyle.None
|
||||
|
||||
@@ -101,8 +101,10 @@ Public Class mgrPath
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Shared Function ValidatePathForOS(ByVal sCheckString As String) As String
|
||||
Dim cInvalidCharacters As Char() = Path.GetInvalidPathChars
|
||||
Public Shared Function ValidatePath(ByVal sCheckString As String) As String
|
||||
Dim cInvalidCharacters As Char() = {Chr(0), Chr(1), Chr(2), Chr(3), Chr(4), Chr(5), Chr(6), Chr(7), Chr(8), Chr(9), Chr(10), Chr(11), Chr(12), Chr(13), Chr(14), Chr(15),
|
||||
Chr(16), Chr(17), Chr(18), Chr(19), Chr(20), Chr(21), Chr(22), Chr(23), Chr(24), Chr(25), Chr(26), Chr(27), Chr(28), Chr(29), Chr(30),
|
||||
Chr(31), Chr(34), Chr(60), Chr(62), Chr(124)}
|
||||
|
||||
For Each c As Char In cInvalidCharacters
|
||||
sCheckString = sCheckString.Replace(c, "")
|
||||
@@ -111,15 +113,17 @@ Public Class mgrPath
|
||||
Return sCheckString.Trim
|
||||
End Function
|
||||
|
||||
Public Shared Function ValidateFileNameForOS(ByVal sCheckString As String) As String
|
||||
Dim cInvalidCharacters As Char() = Path.GetInvalidFileNameChars
|
||||
Public Shared Function ValidateFileName(ByVal sCheckString As String) As String
|
||||
Dim cInvalidCharacters As Char() = {Chr(0), Chr(1), Chr(2), Chr(3), Chr(4), Chr(5), Chr(6), Chr(7), Chr(8), Chr(9), Chr(10), Chr(11), Chr(12), Chr(13), Chr(14), Chr(15),
|
||||
Chr(16), Chr(17), Chr(18), Chr(19), Chr(20), Chr(21), Chr(22), Chr(23), Chr(24), Chr(25), Chr(26), Chr(27), Chr(28), Chr(29), Chr(30),
|
||||
Chr(31), Chr(34), Chr(42), Chr(47), Chr(58), Chr(60), Chr(62), Chr(63), Chr(92), Chr(124)}
|
||||
|
||||
For Each c As Char In cInvalidCharacters
|
||||
sCheckString = sCheckString.Replace(c, "")
|
||||
Next
|
||||
|
||||
If sCheckString.Length > 257 Then
|
||||
sCheckString = sCheckString.Substring(0, 257)
|
||||
If sCheckString.Length > 255 Then
|
||||
sCheckString = sCheckString.Substring(0, 255)
|
||||
End If
|
||||
|
||||
Return sCheckString.Trim
|
||||
|
||||
@@ -76,7 +76,7 @@ Public Class mgrSQLite
|
||||
"SuppressBackup BOOLEAN NOT NULL, SuppressBackupThreshold INTEGER NOT NULL, CompressionLevel INTEGER NOT NULL, Custom7zArguments TEXT, " &
|
||||
"Custom7zLocation TEXT, SyncFields INTEGER NOT NULL, AutoSaveLog BOOLEAN NOT NULL, AutoRestore BOOLEAN NOT NULL, AutoMark BOOLEAN NOT NULL, SessionTracking BOOLEAN NOT NULL, " &
|
||||
"SuppressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL, DisableSyncMessages BOOLEAN NOT NULL, ShowResolvedPaths BOOLEAN NOT NULL, " &
|
||||
"DisableDiskSpaceCheck BOOLEAN NOT NULL);"
|
||||
"DisableDiskSpaceCheck BOOLEAN NOT NULL, ThemeSelection INTEGER NOT NULL, AutoHideLog BOOLEAN NOT NULL);"
|
||||
'Add Tables (SavedPath)
|
||||
sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);"
|
||||
|
||||
@@ -931,6 +931,8 @@ Public Class mgrSQLite
|
||||
'Add new field(s)
|
||||
sSQL = "ALTER TABLE monitorlist ADD COLUMN OS INTEGER NOT NULL DEFAULT " & mgrCommon.GetCurrentOS & ";"
|
||||
sSQL &= "ALTER TABLE settings ADD COLUMN DisableDiskSpaceCheck BOOLEAN NOT NULL DEFAULT 0;"
|
||||
sSQL &= "ALTER TABLE settings ADD COLUMN ThemeSelection INTEGER NOT NULL DEFAULT 0;"
|
||||
sSQL &= "ALTER TABLE settings ADD COLUMN AutoHideLog BOOLEAN NOT NULL DEFAULT 0;"
|
||||
|
||||
'Add Tables (Wine Data)
|
||||
sSQL &= "CREATE TABLE winedata (MonitorID TEXT NOT NULL PRIMARY KEY, Prefix TEXT NOT NULL, SavePath TEXT NOT NULL, BinaryPath TEXT NOT NULL);"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System.IO
|
||||
Imports GBM.My.Resources
|
||||
|
||||
Public Class mgrSettings
|
||||
Private bStartWithWindows As Boolean = False
|
||||
@@ -18,7 +19,7 @@ Public Class mgrSettings
|
||||
Private iCompressionLevel As Integer = 5
|
||||
Private s7zArguments As String = String.Empty
|
||||
Private s7zLocation As String = String.Empty
|
||||
Private sBackupFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).TrimEnd(New Char() {"\", "/"})
|
||||
Private sBackupFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & Path.DirectorySeparatorChar & App_NameLong
|
||||
Private eSyncFields As clsGame.eOptionalSyncFields = clsGame.eOptionalSyncFields.None
|
||||
Private eMessages As eSuppressMessages = eSuppressMessages.None
|
||||
Private bAutoSaveLog As Boolean = False
|
||||
@@ -27,10 +28,12 @@ Public Class mgrSettings
|
||||
Private bDisableSyncMessages As Boolean = True
|
||||
Private bShowResolvedPaths As Boolean = True
|
||||
Private bDisableDiskSpaceCheck As Boolean = False
|
||||
Private eThemeSelection As mgrThemeEngine.eBaseTheme = mgrThemeEngine.eBaseTheme.Light
|
||||
Private bAutoHideLog As Boolean = False
|
||||
|
||||
<Flags()> Public Enum eSuppressMessages
|
||||
None = 0
|
||||
Unused = 1 'Do not remove to maintain compatability, re-use for a future field.
|
||||
GameIDSync = 1
|
||||
BackupImport = 2
|
||||
WinConfigsInLinux = 4
|
||||
WineConfig = 16
|
||||
@@ -318,6 +321,29 @@ Public Class mgrSettings
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property ThemeSelection As mgrThemeEngine.eBaseTheme
|
||||
Get
|
||||
Return eThemeSelection
|
||||
End Get
|
||||
Set(value As mgrThemeEngine.eBaseTheme)
|
||||
eThemeSelection = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property AutoHideLog As Boolean
|
||||
Get
|
||||
Return bAutoHideLog
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
bAutoHideLog = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New()
|
||||
'The GameIDsync message should be suppressed on all new databases
|
||||
SuppressMessages = SetMessageField(SuppressMessages, eSuppressMessages.GameIDSync)
|
||||
End Sub
|
||||
|
||||
Private Sub SaveFromClass()
|
||||
Dim oDatabase As New mgrSQLite(mgrSQLite.Database.Local)
|
||||
Dim sSQL As String
|
||||
@@ -327,7 +353,7 @@ Public Class mgrSettings
|
||||
sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @StartWithWindows, "
|
||||
sSQL &= "@TimeTracking, @SuppressBackup, @SuppressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, "
|
||||
sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SuppressMessages, @BackupOnLaunch, @UseGameID, "
|
||||
sSQL &= "@DisableSyncMessages, @ShowResolvedPaths, @DisableDiskSpaceCheck)"
|
||||
sSQL &= "@DisableSyncMessages, @ShowResolvedPaths, @DisableDiskSpaceCheck, @ThemeSelection, @AutoHideLog)"
|
||||
|
||||
hshParams.Add("MonitorOnStartup", MonitorOnStartup)
|
||||
hshParams.Add("StartToTray", StartToTray)
|
||||
@@ -355,7 +381,8 @@ Public Class mgrSettings
|
||||
hshParams.Add("DisableSyncMessages", DisableSyncMessages)
|
||||
hshParams.Add("ShowResolvedPaths", ShowResolvedPaths)
|
||||
hshParams.Add("DisableDiskSpaceCheck", DisableDiskSpaceCheck)
|
||||
|
||||
hshParams.Add("ThemeSelection", ThemeSelection)
|
||||
hshParams.Add("AutoHideLog", AutoHideLog)
|
||||
oDatabase.RunParamQuery(sSQL, hshParams)
|
||||
End Sub
|
||||
|
||||
@@ -396,6 +423,8 @@ Public Class mgrSettings
|
||||
DisableSyncMessages = CBool(dr("DisableSyncMessages"))
|
||||
ShowResolvedPaths = CBool(dr("ShowResolvedPaths"))
|
||||
DisableDiskSpaceCheck = CBool(dr("DisableDiskSpaceCheck"))
|
||||
ThemeSelection = CInt(dr("ThemeSelection"))
|
||||
AutoHideLog = CBool(dr("AutoHideLog"))
|
||||
Next
|
||||
|
||||
oDatabase.Disconnect()
|
||||
|
||||
@@ -0,0 +1,161 @@
|
||||
Imports GBM.My.Resources
|
||||
|
||||
Public Class mgrThemeEngine
|
||||
|
||||
Private _ColorBase As Color
|
||||
Public Property ColorBase() As Color
|
||||
Get
|
||||
If _ColorBase = Nothing Then
|
||||
Throw New NullReferenceException
|
||||
End If
|
||||
Return _ColorBase
|
||||
End Get
|
||||
Private Set(ByVal value As Color)
|
||||
_ColorBase = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _ColorBaseSecondary As Color
|
||||
Public Property ColorBaseSecondary() As Color
|
||||
Get
|
||||
If _ColorBaseSecondary = Nothing Then
|
||||
Throw New NullReferenceException
|
||||
End If
|
||||
Return _ColorBaseSecondary
|
||||
End Get
|
||||
Private Set(ByVal value As Color)
|
||||
_ColorBaseSecondary = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _ColorHighlight As Color
|
||||
Public Property ColorHighlight() As Color
|
||||
Get
|
||||
If _ColorHighlight = Nothing Then
|
||||
Throw New NullReferenceException
|
||||
End If
|
||||
Return _ColorHighlight
|
||||
End Get
|
||||
Private Set(ByVal value As Color)
|
||||
_ColorHighlight = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _ColorHighlightSecondary As Color
|
||||
Public Property ColorHighlightSecondary() As Color
|
||||
Get
|
||||
If _ColorHighlightSecondary = Nothing Then
|
||||
Throw New NullReferenceException
|
||||
End If
|
||||
Return _ColorHighlightSecondary
|
||||
End Get
|
||||
Private Set(ByVal value As Color)
|
||||
_ColorHighlightSecondary = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _bThemeHasBeenDefined As Boolean
|
||||
Public Property bThemeHasBeenDefined() As Boolean
|
||||
Get
|
||||
Return _bThemeHasBeenDefined
|
||||
End Get
|
||||
Private Set(ByVal value As Boolean)
|
||||
_bThemeHasBeenDefined = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Supported themes.
|
||||
''' </summary>
|
||||
Public Enum eBaseTheme
|
||||
Light = 0
|
||||
Dark = 1
|
||||
Crimson = 2
|
||||
Emerald = 3
|
||||
GBM = 4
|
||||
End Enum
|
||||
|
||||
''' <summary>
|
||||
''' Configures the base colors for the overall theme based on input.
|
||||
''' </summary>
|
||||
''' <param name="_eBaseTheme"></param>
|
||||
Public Sub SetTheme(_eBaseTheme As eBaseTheme)
|
||||
Select Case _eBaseTheme
|
||||
Case eBaseTheme.Dark
|
||||
_ColorBase = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Dark_Base)
|
||||
|
||||
_ColorBaseSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Dark_BaseSecondary)
|
||||
|
||||
_ColorHighlight = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Dark_Highlight)
|
||||
|
||||
_ColorHighlightSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Dark_HighlightSecondary)
|
||||
|
||||
_bThemeHasBeenDefined = True
|
||||
|
||||
Case eBaseTheme.Light
|
||||
_ColorBase = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Light_Base)
|
||||
|
||||
_ColorBaseSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Light_BaseSecondary)
|
||||
|
||||
_ColorHighlight = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Light_Highlight)
|
||||
|
||||
_ColorHighlightSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Light_HighlightSecondary)
|
||||
|
||||
_bThemeHasBeenDefined = True
|
||||
|
||||
Case eBaseTheme.Crimson
|
||||
_ColorBase = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Crimson_Base)
|
||||
|
||||
_ColorBaseSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Crimson_BaseSecondary)
|
||||
|
||||
_ColorHighlight = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Crimson_Highlight)
|
||||
|
||||
_ColorHighlightSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Crimson_HighlightSecondary)
|
||||
|
||||
_bThemeHasBeenDefined = True
|
||||
|
||||
Case eBaseTheme.Emerald
|
||||
_ColorBase = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Emerald_Base)
|
||||
|
||||
_ColorBaseSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Emerald_BaseSecondary)
|
||||
|
||||
_ColorHighlight = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Emerald_Highlight)
|
||||
|
||||
_ColorHighlightSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_Emerald_HighlightSecondary)
|
||||
|
||||
_bThemeHasBeenDefined = True
|
||||
|
||||
Case eBaseTheme.GBM
|
||||
_ColorBase = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_GBM_Base)
|
||||
|
||||
_ColorBaseSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_GBM_BaseSecondary)
|
||||
|
||||
_ColorHighlight = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_GBM_Highlight)
|
||||
|
||||
_ColorHighlightSecondary = New ColorConverter().ConvertFromString(
|
||||
mgrThemeEngine_RGB_GBM_HighlightSecondary)
|
||||
|
||||
_bThemeHasBeenDefined = True
|
||||
|
||||
End Select
|
||||
End Sub
|
||||
End Class
|
||||
@@ -14,7 +14,7 @@ Imports System.Runtime.InteropServices
|
||||
<Assembly: AssemblyDescription("Game Backup Monitor")>
|
||||
<Assembly: AssemblyCompany("Michael J. Seiferling")>
|
||||
<Assembly: AssemblyProduct("Game Backup Monitor")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2018 Michael J. Seiferling")>
|
||||
<Assembly: AssemblyCopyright("© 2014 - 2019 Michael J. Seiferling and Game Backup Monitor contributors")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
@@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.1.8.*")>
|
||||
<Assembly: AssemblyFileVersion("1.1.8.0")>
|
||||
<Assembly: AssemblyVersion("1.1.9.*")>
|
||||
<Assembly: AssemblyFileVersion("1.1.9.0")>
|
||||
|
||||
<Assembly: NeutralResourcesLanguageAttribute("en")>
|
||||
@@ -22,7 +22,7 @@ Namespace My.Resources
|
||||
'''<summary>
|
||||
''' A strongly-typed resource class, for looking up localized strings, etc.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0"), _
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
@@ -79,7 +79,7 @@ Namespace My.Resources
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to [PARAM] Michael J. Seiferling.
|
||||
''' Looks up a localized string similar to 2014 - [PARAM] Michael J. Seiferling and Game Backup Monitor contributors.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property App_Copyright() As String
|
||||
Get
|
||||
@@ -547,7 +547,7 @@ Namespace My.Resources
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Backup Limit.
|
||||
''' Looks up a localized string similar to Backup Limit (0 = Unlimited).
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmAddWizard_lblLimit() As String
|
||||
Get
|
||||
@@ -744,6 +744,15 @@ Namespace My.Resources
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Unlimited.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmAddWizard_Summary_NoLimit() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmAddWizard_Summary_NoLimit", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Process.
|
||||
'''</summary>
|
||||
@@ -1654,11 +1663,11 @@ Namespace My.Resources
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to &Open Backup File.
|
||||
''' Looks up a localized string similar to &Open Backup.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmGameManager_btnOpenBackupFile() As String
|
||||
Friend ReadOnly Property frmGameManager_btnOpenBackup() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmGameManager_btnOpenBackupFile", resourceCulture)
|
||||
Return ResourceManager.GetString("frmGameManager_btnOpenBackup", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -1905,6 +1914,24 @@ Namespace My.Resources
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to &File.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmGameManager_cmsOpenBackupFile() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmGameManager_cmsOpenBackupFile", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to F&older.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmGameManager_cmsOpenBackupFolder() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmGameManager_cmsOpenBackupFolder", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Are you sure you want to run a backup for [PARAM]? This will close the form..
|
||||
'''</summary>
|
||||
@@ -2106,9 +2133,18 @@ Namespace My.Resources
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to The backup file does not exist..
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmGameManager_ErrorNoBackupExists() As String
|
||||
Friend ReadOnly Property frmGameManager_ErrorNoBackupFileExists() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmGameManager_ErrorNoBackupExists", resourceCulture)
|
||||
Return ResourceManager.GetString("frmGameManager_ErrorNoBackupFileExists", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to The backup folder does not exist..
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmGameManager_ErrorNoBackupFolderExists() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmGameManager_ErrorNoBackupFolderExists", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -2383,7 +2419,7 @@ Namespace My.Resources
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Backup Limit.
|
||||
''' Looks up a localized string similar to Backup Limit (0 = Unlimited).
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmGameManager_lblLimit() As String
|
||||
Get
|
||||
@@ -4695,6 +4731,51 @@ Namespace My.Resources
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Crimson.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmSettings_cboThemeSelection_Crimson() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmSettings_cboThemeSelection_Crimson", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Dark.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmSettings_cboThemeSelection_Dark() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmSettings_cboThemeSelection_Dark", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Emerald.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmSettings_cboThemeSelection_Emerald() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmSettings_cboThemeSelection_Emerald", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to GBM.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmSettings_cboThemeSelection_GBM() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmSettings_cboThemeSelection_GBM", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Light.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmSettings_cboThemeSelection_Light() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmSettings_cboThemeSelection_Light", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Automatically mark new backups as restored when appropriate.
|
||||
'''</summary>
|
||||
@@ -5082,6 +5163,15 @@ Namespace My.Resources
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Interface.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmSettings_lstSettings_Interface() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmSettings_lstSettings_Interface", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Startup.
|
||||
'''</summary>
|
||||
@@ -5227,7 +5317,7 @@ Namespace My.Resources
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to The folder you selected does not exist or is not a valid folder..
|
||||
''' Looks up a localized string similar to The selected backup location does not exist and could not be created.[BR][BR][PARAM].
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmStartUpWizard_ErrorNoFolderExists() As String
|
||||
Get
|
||||
@@ -5307,6 +5397,15 @@ Namespace My.Resources
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to You cannot return to this step after clicking Next. The Backup Location can be changed any time once Setup is complete..
|
||||
'''</summary>
|
||||
Friend ReadOnly Property frmStartUpWizard_lblStep2Warning() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("frmStartUpWizard_lblStep2Warning", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Before you can start monitoring for games, they need to be configured so GBM knows what to look for and how to handle them. You can download pre-made configurations from the official list or add them all yourself using the tools below. You can also skip this step for now!.
|
||||
'''</summary>
|
||||
@@ -6844,6 +6943,186 @@ Namespace My.Resources
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 209,10,10.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Crimson_Base() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Crimson_Base", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 119,0,0.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Crimson_BaseSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Crimson_BaseSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 255,255,255.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Crimson_Highlight() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Crimson_Highlight", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 255,255,255.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Crimson_HighlightSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Crimson_HighlightSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 25,25,25.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Dark_Base() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Dark_Base", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 0,0,0.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Dark_BaseSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Dark_BaseSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 255,255,255.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Dark_Highlight() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Dark_Highlight", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 0,131,255.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Dark_HighlightSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Dark_HighlightSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 22,193,114.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Emerald_Base() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Emerald_Base", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 33,79,75.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Emerald_BaseSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Emerald_BaseSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 255,255,255.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Emerald_Highlight() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Emerald_Highlight", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 33,79,75.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Emerald_HighlightSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Emerald_HighlightSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 23,190,187.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_GBM_Base() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_GBM_Base", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 14,124,123.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_GBM_BaseSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_GBM_BaseSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 255,255,255.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_GBM_Highlight() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_GBM_Highlight", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 7,66,65.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_GBM_HighlightSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_GBM_HighlightSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 240,240,240.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Light_Base() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Light_Base", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 255,255,255.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Light_BaseSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Light_BaseSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 0,0,0.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Light_Highlight() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Light_Highlight", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 0,0,0.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property mgrThemeEngine_RGB_Light_HighlightSecondary() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("mgrThemeEngine_RGB_Light_HighlightSecondary", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to An error occured exporting the XML data.[BR][BR][PARAM].
|
||||
'''</summary>
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
<value>This will rebuild all databases and shrink them to an optimal size.[BR]This should only be used if your gbm.s3db files are becoming very large.[BR][BR]Do you wish to continue?</value>
|
||||
</data>
|
||||
<data name="App_Copyright" xml:space="preserve">
|
||||
<value>[PARAM] Michael J. Seiferling</value>
|
||||
<value> 2014 - [PARAM] Michael J. Seiferling and Game Backup Monitor contributors</value>
|
||||
</data>
|
||||
<data name="frmMain_Exit" xml:space="preserve">
|
||||
<value>Are you sure you want to exit? Your games will no longer be monitored.</value>
|
||||
@@ -460,8 +460,8 @@
|
||||
<data name="frmGameManager_btnMarkAsRestored" xml:space="preserve">
|
||||
<value>&Mark as Restored</value>
|
||||
</data>
|
||||
<data name="frmGameManager_btnOpenBackupFile" xml:space="preserve">
|
||||
<value>&Open Backup File</value>
|
||||
<data name="frmGameManager_btnOpenBackup" xml:space="preserve">
|
||||
<value>&Open Backup</value>
|
||||
</data>
|
||||
<data name="frmGameManager_btnOpenRestorePath" xml:space="preserve">
|
||||
<value>O&pen Restore Path</value>
|
||||
@@ -553,7 +553,7 @@
|
||||
<data name="frmGameManager_ErrorNoBackupData" xml:space="preserve">
|
||||
<value>The selected game(s) have no backup data or can't be restored with their current configuration.</value>
|
||||
</data>
|
||||
<data name="frmGameManager_ErrorNoBackupExists" xml:space="preserve">
|
||||
<data name="frmGameManager_ErrorNoBackupFileExists" xml:space="preserve">
|
||||
<value>The backup file does not exist.</value>
|
||||
</data>
|
||||
<data name="frmGameManager_ErrorNoItems" xml:space="preserve">
|
||||
@@ -1136,7 +1136,7 @@
|
||||
<value>You must select a backup path to continue.</value>
|
||||
</data>
|
||||
<data name="frmStartUpWizard_ErrorNoFolderExists" xml:space="preserve">
|
||||
<value>The folder you selected does not exist or is not a valid folder.</value>
|
||||
<value>The selected backup location does not exist and could not be created.[BR][BR][PARAM]</value>
|
||||
</data>
|
||||
<data name="frmStartUpWizard_ExistingData" xml:space="preserve">
|
||||
<value>Existing data was detected in the backup folder and has been imported.</value>
|
||||
@@ -1682,7 +1682,7 @@
|
||||
<value>You cannot choose a file located outside the current [PARAM] backup folder.</value>
|
||||
</data>
|
||||
<data name="frmGameManager_lblLimit" xml:space="preserve">
|
||||
<value>Backup Limit</value>
|
||||
<value>Backup Limit (0 = Unlimited)</value>
|
||||
</data>
|
||||
<data name="mgrBackup_BackupLimitExceeded" xml:space="preserve">
|
||||
<value>[PARAM] was automatically removed.</value>
|
||||
@@ -1697,7 +1697,7 @@
|
||||
<value>This will delete all backup files for [PARAM]. This cannot be undone. [BR][BR]Do you want to continue?</value>
|
||||
</data>
|
||||
<data name="frmAddWizard_lblLimit" xml:space="preserve">
|
||||
<value>Backup Limit</value>
|
||||
<value>Backup Limit (0 = Unlimited)</value>
|
||||
</data>
|
||||
<data name="frmGameManager_Unknown" xml:space="preserve">
|
||||
<value>Unknown</value>
|
||||
@@ -2374,10 +2374,103 @@
|
||||
<data name="frmChooseGame_ColumnName" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Dark_BaseSecondary" xml:space="preserve">
|
||||
<value>0,0,0</value>
|
||||
</data>
|
||||
<data name="frmChooseGame_ColumnTags" xml:space="preserve">
|
||||
<value>Tags</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Dark_HighlightSecondary" xml:space="preserve">
|
||||
<value>0,131,255</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Dark_Base" xml:space="preserve">
|
||||
<value>25,25,25</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Dark_Highlight" xml:space="preserve">
|
||||
<value>255,255,255</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Light_Base" xml:space="preserve">
|
||||
<value>240,240,240</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Light_BaseSecondary" xml:space="preserve">
|
||||
<value>255,255,255</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Light_Highlight" xml:space="preserve">
|
||||
<value>0,0,0</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Light_HighlightSecondary" xml:space="preserve">
|
||||
<value>0,0,0</value>
|
||||
</data>
|
||||
<data name="frmSettings_lstSettings_Interface" xml:space="preserve">
|
||||
<value>Interface</value>
|
||||
</data>
|
||||
<data name="frmSettings_cboThemeSelection_Dark" xml:space="preserve">
|
||||
<value>Dark</value>
|
||||
</data>
|
||||
<data name="frmSettings_cboThemeSelection_Light" xml:space="preserve">
|
||||
<value>Light</value>
|
||||
</data>
|
||||
<data name="GBM_Icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\resources\gbm.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="frmGameManager_cmsOpenBackupFile" xml:space="preserve">
|
||||
<value>&File</value>
|
||||
</data>
|
||||
<data name="frmGameManager_cmsOpenBackupFolder" xml:space="preserve">
|
||||
<value>F&older</value>
|
||||
</data>
|
||||
<data name="frmGameManager_ErrorNoBackupFolderExists" xml:space="preserve">
|
||||
<value>The backup folder does not exist.</value>
|
||||
</data>
|
||||
<data name="frmAddWizard_Summary_NoLimit" xml:space="preserve">
|
||||
<value>Unlimited</value>
|
||||
</data>
|
||||
<data name="frmStartUpWizard_lblStep2Warning" xml:space="preserve">
|
||||
<value>You cannot return to this step after clicking Next. The Backup Location can be changed any time once Setup is complete.</value>
|
||||
</data>
|
||||
<data name="frmSettings_cboThemeSelection_Crimson" xml:space="preserve">
|
||||
<value>Crimson</value>
|
||||
</data>
|
||||
<data name="frmSettings_cboThemeSelection_Emerald" xml:space="preserve">
|
||||
<value>Emerald</value>
|
||||
</data>
|
||||
<data name="frmSettings_cboThemeSelection_GBM" xml:space="preserve">
|
||||
<value>GBM</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Crimson_Base" xml:space="preserve">
|
||||
<value>209,10,10</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Crimson_BaseSecondary" xml:space="preserve">
|
||||
<value>119,0,0</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Crimson_Highlight" xml:space="preserve">
|
||||
<value>255,255,255</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Crimson_HighlightSecondary" xml:space="preserve">
|
||||
<value>255,255,255</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Emerald_Base" xml:space="preserve">
|
||||
<value>22,193,114</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Emerald_BaseSecondary" xml:space="preserve">
|
||||
<value>33,79,75</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Emerald_Highlight" xml:space="preserve">
|
||||
<value>255,255,255</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_Emerald_HighlightSecondary" xml:space="preserve">
|
||||
<value>33,79,75</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_GBM_Base" xml:space="preserve">
|
||||
<value>23,190,187</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_GBM_BaseSecondary" xml:space="preserve">
|
||||
<value>14,124,123</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_GBM_Highlight" xml:space="preserve">
|
||||
<value>255,255,255</value>
|
||||
</data>
|
||||
<data name="mgrThemeEngine_RGB_GBM_HighlightSecondary" xml:space="preserve">
|
||||
<value>7,66,65</value>
|
||||
</data>
|
||||
</root>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 184 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 926 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 891 B After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 545 B After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 358 KiB After Width: | Height: | Size: 91 KiB |
@@ -1,52 +1,28 @@
|
||||
Game Backup Monitor v1.1.8 Readme
|
||||
Game Backup Monitor v1.1.9 Readme
|
||||
http://mikemaximus.github.io/gbm-web/
|
||||
gamebackupmonitor@gmail.com
|
||||
|
||||
March 22, 2019
|
||||
June 7, 2019
|
||||
|
||||
New in 1.1.8
|
||||
New in 1.1.9
|
||||
|
||||
All Platforms:
|
||||
|
||||
- Added the ability to backup and restore saved games that are stored in the Windows registry:
|
||||
- This feature is also supported in Linux for Windows games running in Wine/Proton.
|
||||
- Please see the online manual for more details on how to use this feature.
|
||||
- On startup, GBM now waits up to one minute for the current backup location to become available before displaying an error message.
|
||||
- The error message can now be canceled to continue waiting.
|
||||
- This is useful for delayed network shares on startup or if you forgot to plug in an external backup drive.
|
||||
- The "Choose Game" window now displays tags in addition to the game name when multiple configurations are detected.
|
||||
- The "Backup Confirmation" window should now always get top focus after a gaming session ends.
|
||||
- This fix has also been applied to other important messages to make sure they don't get hidden behind other windows.
|
||||
- The Game Manager and Custom Variable Manager now use a different folder browser where applicable.
|
||||
- The new browser provides better usability for power users, other areas of the app will still use the classic folder browser.
|
||||
- The new browser allows Linux users to "Show Hidden Folders", which can't be done using the classic Folder Browser.
|
||||
- When a UNC path is used for the backup folder, the disk space check prior to backups will be automatically disabled because it cannot be done.
|
||||
- The disk space check prior to backups can now be disabled in the "Backup and Restore" settings.
|
||||
- Added "Operating System" field to game configurations:
|
||||
- "Windows" and "Linux" are the only valid choices at this time and only Linux users are allowed to change this field.
|
||||
- Changed how GBM initilizes on startup to fix some long standing issues.
|
||||
- Fixed some inconsistencies with form icons and when forms are shown in the task bar.
|
||||
- GBM no longer provides a warning about "Syncing Game IDs" when importing configurations in the Game Manager.
|
||||
- The warning was very confusing and is no longer relevant to most users.
|
||||
- The "Sync Game IDs" Tool will continue to be available for now, but the messaging has been changed warning not to use it without reading the manual first.
|
||||
|
||||
Windows:
|
||||
|
||||
- Updated SQLite to 3.27.2
|
||||
- Updated 7-Zip to 19.00
|
||||
- Fixed a bug on the Game Manager that caused the "Save Entire Folder" checkbox to be unchecked anytime the "Save Path" field was changed.
|
||||
- The "Add Game Wizard" now allows you to set an unlimited number of backups.
|
||||
- The "Backup Limit" label has been updated to indicate that 0 means unlimited.
|
||||
- The "Open Backup File" button on the Game Manager is now called "Open Backup". It now gives a choice between opening the backup file or the folder containing the file.
|
||||
- Set rules are now used for backup folder and file names, regardless of the operating system GBM is running on.
|
||||
- GBM now always filters out NTFS reserved characters and allows a maximum file name length of 255.
|
||||
- This will prevent various problems when using a backup drive with a non-standard file system in Linux or Windows.
|
||||
- These rules will be applied to new backup files or folders, existing backups not be modified.
|
||||
- Made improvements to the Start-Up Wizard.
|
||||
- The default backup location now includes a "Game Backup Monitor" sub-folder.
|
||||
- The wizard will now automatically create the backup location if it doesn't exist.
|
||||
- You can no longer attempt to Import Backup Files during the Start-Up Wizard.
|
||||
|
||||
Linux:
|
||||
|
||||
- You can now set GBM to automatically start on log-in via the "Startup" settings.
|
||||
- This requires that GBM be installed via a package manager or the makefile, so any required files are in a known location. The option will be disabled otherwise.
|
||||
- The "Start Minimized" option is now available in "Startup" settings.
|
||||
- GBM now stores all Wine configuration data seperately from the core game configuration:
|
||||
- The core configuration is no longer altered in any way when a game is detected running in Wine or Proton.
|
||||
- The Wine configuration data is now automatically updated each time a game is detected, such as when running the game from a new prefix.
|
||||
- This data can be viewed and manually modified on the Game Manager.
|
||||
- Fixed the handling of Wine/Proton games when multiple configurations are detected.
|
||||
- Fixed a crash when using "Backup Only" and "New Backups Pending" filters on the Game Manager.
|
||||
- The Mono and GBM process will now exit cleanly if a critical error occurs during startup.
|
||||
- GBM will no longer show the exit dialog when a critical error occurs.
|
||||
|
||||
- Fixed a bug that caused the "Available Disk Space" check to fail if the backup folder contained one or more spaces.
|
||||
|
||||
The entire version history of GBM releases is available at http://mikemaximus.github.io/gbm-web/versionhistory.html
|
||||
@@ -1,6 +1,16 @@
|
||||
 ***dunestorm333:*** Due to reliability issues in syncing the database with cloud storage providers, I will no longer be supporting GBM. For optimal reliability, architecturally the database should be hosted on a dedicated instance rather than trusting your sync software of choice to make that decision.
|
||||
|
||||
***dunestorm333:*** My branch simply contains an updated icon set, I plan to make a couple other UI changes in the future.
|
||||
|
||||
# [Game Backup Monitor](http://mikemaximus.github.io/gbm-web/)
|
||||
|
||||

|
||||
Light Theme:
|
||||
|
||||

|
||||
|
||||
Dark Theme:
|
||||
|
||||

|
||||
|
||||
Game Backup Monitor is a simple, but flexible application that detects games as you play them. Once you finish playing a game, a backup of the saved games will be made automatically using 7-Zip compression. GBM can be used on a single computer, or on multiple computers to effectively add cloud support to any game or application.
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
theme: jekyll-theme-cayman
|
||||