Added "Backup GBM data files on launch" feature
This commit is contained in:
@@ -1022,6 +1022,13 @@ Public Class frmMain
|
|||||||
oRemoteDatabase.DatabaseUpgrade()
|
oRemoteDatabase.DatabaseUpgrade()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub BackupDatabases()
|
||||||
|
Dim oLocalDatabase As New mgrSQLite(mgrSQLite.Database.Local)
|
||||||
|
Dim oRemoteDatabase As New mgrSQLite(mgrSQLite.Database.Remote)
|
||||||
|
oLocalDatabase.BackupDB(App_BackupOnLaunchFileDescription, True)
|
||||||
|
oRemoteDatabase.BackupDB(App_BackupOnLaunchFileDescription, True)
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Sub LoadAndVerify()
|
Private Sub LoadAndVerify()
|
||||||
|
|
||||||
'If the default utility is missing we cannot continue
|
'If the default utility is missing we cannot continue
|
||||||
@@ -1051,6 +1058,11 @@ Public Class frmMain
|
|||||||
VerifyDBVersion(mgrSQLite.Database.Remote)
|
VerifyDBVersion(mgrSQLite.Database.Remote)
|
||||||
RemoteDatabaseCheck()
|
RemoteDatabaseCheck()
|
||||||
|
|
||||||
|
'Backup GBM data
|
||||||
|
If oSettings.BackupOnLaunch Then
|
||||||
|
BackupDatabases()
|
||||||
|
End If
|
||||||
|
|
||||||
'Sync Game Settings
|
'Sync Game Settings
|
||||||
SyncGameSettings()
|
SyncGameSettings()
|
||||||
End If
|
End If
|
||||||
|
|||||||
Generated
+26
-13
@@ -66,6 +66,7 @@ Partial Class frmSettings
|
|||||||
Me.chkSessionTracking = New System.Windows.Forms.CheckBox()
|
Me.chkSessionTracking = New System.Windows.Forms.CheckBox()
|
||||||
Me.lstSettings = New System.Windows.Forms.ListBox()
|
Me.lstSettings = New System.Windows.Forms.ListBox()
|
||||||
Me.btnResetMessages = New System.Windows.Forms.Button()
|
Me.btnResetMessages = New System.Windows.Forms.Button()
|
||||||
|
Me.chkBackupOnLaunch = New System.Windows.Forms.CheckBox()
|
||||||
Me.grpStartup.SuspendLayout()
|
Me.grpStartup.SuspendLayout()
|
||||||
Me.grpFolderOptions.SuspendLayout()
|
Me.grpFolderOptions.SuspendLayout()
|
||||||
Me.grp7zGeneral.SuspendLayout()
|
Me.grp7zGeneral.SuspendLayout()
|
||||||
@@ -84,19 +85,20 @@ Partial Class frmSettings
|
|||||||
Me.chkMonitorOnStartup.AutoSize = True
|
Me.chkMonitorOnStartup.AutoSize = True
|
||||||
Me.chkMonitorOnStartup.Location = New System.Drawing.Point(6, 65)
|
Me.chkMonitorOnStartup.Location = New System.Drawing.Point(6, 65)
|
||||||
Me.chkMonitorOnStartup.Name = "chkMonitorOnStartup"
|
Me.chkMonitorOnStartup.Name = "chkMonitorOnStartup"
|
||||||
Me.chkMonitorOnStartup.Size = New System.Drawing.Size(146, 17)
|
Me.chkMonitorOnStartup.Size = New System.Drawing.Size(149, 17)
|
||||||
Me.chkMonitorOnStartup.TabIndex = 2
|
Me.chkMonitorOnStartup.TabIndex = 2
|
||||||
Me.chkMonitorOnStartup.Text = "Start monitoring at launch"
|
Me.chkMonitorOnStartup.Text = "Start monitoring on launch"
|
||||||
Me.chkMonitorOnStartup.UseVisualStyleBackColor = True
|
Me.chkMonitorOnStartup.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
'grpStartup
|
'grpStartup
|
||||||
'
|
'
|
||||||
|
Me.grpStartup.Controls.Add(Me.chkBackupOnLaunch)
|
||||||
Me.grpStartup.Controls.Add(Me.chkStartWindows)
|
Me.grpStartup.Controls.Add(Me.chkStartWindows)
|
||||||
Me.grpStartup.Controls.Add(Me.chkStartToTray)
|
Me.grpStartup.Controls.Add(Me.chkStartToTray)
|
||||||
Me.grpStartup.Controls.Add(Me.chkMonitorOnStartup)
|
Me.grpStartup.Controls.Add(Me.chkMonitorOnStartup)
|
||||||
Me.grpStartup.Location = New System.Drawing.Point(6, 12)
|
Me.grpStartup.Location = New System.Drawing.Point(6, 12)
|
||||||
Me.grpStartup.Name = "grpStartup"
|
Me.grpStartup.Name = "grpStartup"
|
||||||
Me.grpStartup.Size = New System.Drawing.Size(354, 90)
|
Me.grpStartup.Size = New System.Drawing.Size(354, 112)
|
||||||
Me.grpStartup.TabIndex = 0
|
Me.grpStartup.TabIndex = 0
|
||||||
Me.grpStartup.TabStop = False
|
Me.grpStartup.TabStop = False
|
||||||
Me.grpStartup.Text = "Startup"
|
Me.grpStartup.Text = "Startup"
|
||||||
@@ -124,7 +126,7 @@ Partial Class frmSettings
|
|||||||
'chkAutoSaveLog
|
'chkAutoSaveLog
|
||||||
'
|
'
|
||||||
Me.chkAutoSaveLog.AutoSize = True
|
Me.chkAutoSaveLog.AutoSize = True
|
||||||
Me.chkAutoSaveLog.Location = New System.Drawing.Point(12, 262)
|
Me.chkAutoSaveLog.Location = New System.Drawing.Point(12, 280)
|
||||||
Me.chkAutoSaveLog.Name = "chkAutoSaveLog"
|
Me.chkAutoSaveLog.Name = "chkAutoSaveLog"
|
||||||
Me.chkAutoSaveLog.Size = New System.Drawing.Size(231, 17)
|
Me.chkAutoSaveLog.Size = New System.Drawing.Size(231, 17)
|
||||||
Me.chkAutoSaveLog.TabIndex = 5
|
Me.chkAutoSaveLog.TabIndex = 5
|
||||||
@@ -133,7 +135,7 @@ Partial Class frmSettings
|
|||||||
'
|
'
|
||||||
'btnOptionalFields
|
'btnOptionalFields
|
||||||
'
|
'
|
||||||
Me.btnOptionalFields.Location = New System.Drawing.Point(5, 65)
|
Me.btnOptionalFields.Location = New System.Drawing.Point(6, 65)
|
||||||
Me.btnOptionalFields.Name = "btnOptionalFields"
|
Me.btnOptionalFields.Name = "btnOptionalFields"
|
||||||
Me.btnOptionalFields.Size = New System.Drawing.Size(216, 23)
|
Me.btnOptionalFields.Size = New System.Drawing.Size(216, 23)
|
||||||
Me.btnOptionalFields.TabIndex = 3
|
Me.btnOptionalFields.TabIndex = 3
|
||||||
@@ -153,7 +155,7 @@ Partial Class frmSettings
|
|||||||
'chkShowDetectionTips
|
'chkShowDetectionTips
|
||||||
'
|
'
|
||||||
Me.chkShowDetectionTips.AutoSize = True
|
Me.chkShowDetectionTips.AutoSize = True
|
||||||
Me.chkShowDetectionTips.Location = New System.Drawing.Point(12, 239)
|
Me.chkShowDetectionTips.Location = New System.Drawing.Point(12, 257)
|
||||||
Me.chkShowDetectionTips.Name = "chkShowDetectionTips"
|
Me.chkShowDetectionTips.Name = "chkShowDetectionTips"
|
||||||
Me.chkShowDetectionTips.Size = New System.Drawing.Size(159, 17)
|
Me.chkShowDetectionTips.Size = New System.Drawing.Size(159, 17)
|
||||||
Me.chkShowDetectionTips.TabIndex = 4
|
Me.chkShowDetectionTips.TabIndex = 4
|
||||||
@@ -214,7 +216,7 @@ Partial Class frmSettings
|
|||||||
Me.btnSave.Location = New System.Drawing.Point(384, 321)
|
Me.btnSave.Location = New System.Drawing.Point(384, 321)
|
||||||
Me.btnSave.Name = "btnSave"
|
Me.btnSave.Name = "btnSave"
|
||||||
Me.btnSave.Size = New System.Drawing.Size(75, 23)
|
Me.btnSave.Size = New System.Drawing.Size(75, 23)
|
||||||
Me.btnSave.TabIndex = 5
|
Me.btnSave.TabIndex = 6
|
||||||
Me.btnSave.Text = "&Save"
|
Me.btnSave.Text = "&Save"
|
||||||
Me.btnSave.UseVisualStyleBackColor = True
|
Me.btnSave.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
@@ -224,7 +226,7 @@ Partial Class frmSettings
|
|||||||
Me.btnCancel.Location = New System.Drawing.Point(465, 321)
|
Me.btnCancel.Location = New System.Drawing.Point(465, 321)
|
||||||
Me.btnCancel.Name = "btnCancel"
|
Me.btnCancel.Name = "btnCancel"
|
||||||
Me.btnCancel.Size = New System.Drawing.Size(75, 23)
|
Me.btnCancel.Size = New System.Drawing.Size(75, 23)
|
||||||
Me.btnCancel.TabIndex = 6
|
Me.btnCancel.TabIndex = 7
|
||||||
Me.btnCancel.Text = "&Cancel"
|
Me.btnCancel.Text = "&Cancel"
|
||||||
Me.btnCancel.UseVisualStyleBackColor = True
|
Me.btnCancel.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
@@ -454,7 +456,7 @@ Partial Class frmSettings
|
|||||||
'lblMinutes
|
'lblMinutes
|
||||||
'
|
'
|
||||||
Me.lblMinutes.AutoSize = True
|
Me.lblMinutes.AutoSize = True
|
||||||
Me.lblMinutes.Location = New System.Drawing.Point(232, 216)
|
Me.lblMinutes.Location = New System.Drawing.Point(232, 234)
|
||||||
Me.lblMinutes.Name = "lblMinutes"
|
Me.lblMinutes.Name = "lblMinutes"
|
||||||
Me.lblMinutes.Size = New System.Drawing.Size(43, 13)
|
Me.lblMinutes.Size = New System.Drawing.Size(43, 13)
|
||||||
Me.lblMinutes.TabIndex = 17
|
Me.lblMinutes.TabIndex = 17
|
||||||
@@ -462,7 +464,7 @@ Partial Class frmSettings
|
|||||||
'
|
'
|
||||||
'nudSupressBackupThreshold
|
'nudSupressBackupThreshold
|
||||||
'
|
'
|
||||||
Me.nudSupressBackupThreshold.Location = New System.Drawing.Point(176, 214)
|
Me.nudSupressBackupThreshold.Location = New System.Drawing.Point(176, 232)
|
||||||
Me.nudSupressBackupThreshold.Maximum = New Decimal(New Integer() {999, 0, 0, 0})
|
Me.nudSupressBackupThreshold.Maximum = New Decimal(New Integer() {999, 0, 0, 0})
|
||||||
Me.nudSupressBackupThreshold.Name = "nudSupressBackupThreshold"
|
Me.nudSupressBackupThreshold.Name = "nudSupressBackupThreshold"
|
||||||
Me.nudSupressBackupThreshold.Size = New System.Drawing.Size(51, 20)
|
Me.nudSupressBackupThreshold.Size = New System.Drawing.Size(51, 20)
|
||||||
@@ -471,7 +473,7 @@ Partial Class frmSettings
|
|||||||
'chkSupressBackup
|
'chkSupressBackup
|
||||||
'
|
'
|
||||||
Me.chkSupressBackup.AutoSize = True
|
Me.chkSupressBackup.AutoSize = True
|
||||||
Me.chkSupressBackup.Location = New System.Drawing.Point(12, 215)
|
Me.chkSupressBackup.Location = New System.Drawing.Point(12, 233)
|
||||||
Me.chkSupressBackup.Name = "chkSupressBackup"
|
Me.chkSupressBackup.Name = "chkSupressBackup"
|
||||||
Me.chkSupressBackup.Size = New System.Drawing.Size(158, 17)
|
Me.chkSupressBackup.Size = New System.Drawing.Size(158, 17)
|
||||||
Me.chkSupressBackup.TabIndex = 2
|
Me.chkSupressBackup.TabIndex = 2
|
||||||
@@ -483,7 +485,7 @@ Partial Class frmSettings
|
|||||||
Me.grpGameData.Controls.Add(Me.chkSessionTracking)
|
Me.grpGameData.Controls.Add(Me.chkSessionTracking)
|
||||||
Me.grpGameData.Controls.Add(Me.chkTimeTracking)
|
Me.grpGameData.Controls.Add(Me.chkTimeTracking)
|
||||||
Me.grpGameData.Controls.Add(Me.btnOptionalFields)
|
Me.grpGameData.Controls.Add(Me.btnOptionalFields)
|
||||||
Me.grpGameData.Location = New System.Drawing.Point(6, 106)
|
Me.grpGameData.Location = New System.Drawing.Point(6, 130)
|
||||||
Me.grpGameData.Name = "grpGameData"
|
Me.grpGameData.Name = "grpGameData"
|
||||||
Me.grpGameData.Size = New System.Drawing.Size(354, 97)
|
Me.grpGameData.Size = New System.Drawing.Size(354, 97)
|
||||||
Me.grpGameData.TabIndex = 1
|
Me.grpGameData.TabIndex = 1
|
||||||
@@ -513,10 +515,20 @@ Partial Class frmSettings
|
|||||||
Me.btnResetMessages.Location = New System.Drawing.Point(128, 321)
|
Me.btnResetMessages.Location = New System.Drawing.Point(128, 321)
|
||||||
Me.btnResetMessages.Name = "btnResetMessages"
|
Me.btnResetMessages.Name = "btnResetMessages"
|
||||||
Me.btnResetMessages.Size = New System.Drawing.Size(110, 23)
|
Me.btnResetMessages.Size = New System.Drawing.Size(110, 23)
|
||||||
Me.btnResetMessages.TabIndex = 7
|
Me.btnResetMessages.TabIndex = 5
|
||||||
Me.btnResetMessages.Text = "&Reset Warnings"
|
Me.btnResetMessages.Text = "&Reset Warnings"
|
||||||
Me.btnResetMessages.UseVisualStyleBackColor = True
|
Me.btnResetMessages.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
|
'chkBackupOnLaunch
|
||||||
|
'
|
||||||
|
Me.chkBackupOnLaunch.AutoSize = True
|
||||||
|
Me.chkBackupOnLaunch.Location = New System.Drawing.Point(6, 88)
|
||||||
|
Me.chkBackupOnLaunch.Name = "chkBackupOnLaunch"
|
||||||
|
Me.chkBackupOnLaunch.Size = New System.Drawing.Size(185, 17)
|
||||||
|
Me.chkBackupOnLaunch.TabIndex = 3
|
||||||
|
Me.chkBackupOnLaunch.Text = "Backup GBM data files on launch"
|
||||||
|
Me.chkBackupOnLaunch.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
'frmSettings
|
'frmSettings
|
||||||
'
|
'
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
@@ -604,4 +616,5 @@ Partial Class frmSettings
|
|||||||
Friend WithEvents nudSupressBackupThreshold As NumericUpDown
|
Friend WithEvents nudSupressBackupThreshold As NumericUpDown
|
||||||
Friend WithEvents chkSupressBackup As CheckBox
|
Friend WithEvents chkSupressBackup As CheckBox
|
||||||
Friend WithEvents btnResetMessages As Button
|
Friend WithEvents btnResetMessages As Button
|
||||||
|
Friend WithEvents chkBackupOnLaunch As CheckBox
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ Public Class frmSettings
|
|||||||
|
|
||||||
oSettings.MonitorOnStartup = chkMonitorOnStartup.Checked
|
oSettings.MonitorOnStartup = chkMonitorOnStartup.Checked
|
||||||
oSettings.StartToTray = chkStartToTray.Checked
|
oSettings.StartToTray = chkStartToTray.Checked
|
||||||
|
oSettings.BackupOnLaunch = chkBackupOnLaunch.Checked
|
||||||
oSettings.ShowDetectionToolTips = chkShowDetectionTips.Checked
|
oSettings.ShowDetectionToolTips = chkShowDetectionTips.Checked
|
||||||
oSettings.AutoSaveLog = chkAutoSaveLog.Checked
|
oSettings.AutoSaveLog = chkAutoSaveLog.Checked
|
||||||
oSettings.DisableConfirmation = chkBackupConfirm.Checked
|
oSettings.DisableConfirmation = chkBackupConfirm.Checked
|
||||||
@@ -172,6 +173,7 @@ Public Class frmSettings
|
|||||||
chkStartWindows.Checked = oSettings.StartWithWindows
|
chkStartWindows.Checked = oSettings.StartWithWindows
|
||||||
chkMonitorOnStartup.Checked = oSettings.MonitorOnStartup
|
chkMonitorOnStartup.Checked = oSettings.MonitorOnStartup
|
||||||
chkStartToTray.Checked = oSettings.StartToTray
|
chkStartToTray.Checked = oSettings.StartToTray
|
||||||
|
chkBackupOnLaunch.Checked = oSettings.BackupOnLaunch
|
||||||
chkShowDetectionTips.Checked = oSettings.ShowDetectionToolTips
|
chkShowDetectionTips.Checked = oSettings.ShowDetectionToolTips
|
||||||
chkAutoSaveLog.Checked = oSettings.AutoSaveLog
|
chkAutoSaveLog.Checked = oSettings.AutoSaveLog
|
||||||
chkBackupConfirm.Checked = oSettings.DisableConfirmation
|
chkBackupConfirm.Checked = oSettings.DisableConfirmation
|
||||||
@@ -300,6 +302,7 @@ Public Class frmSettings
|
|||||||
lblLocation.Text = frmSettings_lblLocation
|
lblLocation.Text = frmSettings_lblLocation
|
||||||
btnOptionalFields.Text = frmSettings_btnOptionalFields
|
btnOptionalFields.Text = frmSettings_btnOptionalFields
|
||||||
btnResetMessages.Text = frmSettings_btnResetMessages
|
btnResetMessages.Text = frmSettings_btnResetMessages
|
||||||
|
chkBackupOnLaunch.Text = frmSettings_chkBackupOnLaunch
|
||||||
|
|
||||||
'Unix Handler
|
'Unix Handler
|
||||||
If mgrCommon.IsUnix Then
|
If mgrCommon.IsUnix Then
|
||||||
|
|||||||
@@ -27,17 +27,17 @@ Public Class mgrSQLite
|
|||||||
End Select
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub BackupDB(ByVal sLastVer As String)
|
Public Sub BackupDB(ByVal sDescription As String, Optional ByVal bOverwrite As Boolean = False)
|
||||||
Dim sNewFile As String = String.Empty
|
Dim sNewFile As String = String.Empty
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Select Case eDatabase
|
Select Case eDatabase
|
||||||
Case Database.Local
|
Case Database.Local
|
||||||
sNewFile = mgrPath.DatabaseLocation & "." & sLastVer & ".bak"
|
sNewFile = mgrPath.DatabaseLocation & "." & sDescription & ".bak"
|
||||||
File.Copy(mgrPath.DatabaseLocation, sNewFile, False)
|
File.Copy(mgrPath.DatabaseLocation, sNewFile, bOverwrite)
|
||||||
Case Database.Remote
|
Case Database.Remote
|
||||||
sNewFile = mgrPath.RemoteDatabaseLocation & "." & sLastVer & ".bak"
|
sNewFile = mgrPath.RemoteDatabaseLocation & "." & sDescription & ".bak"
|
||||||
File.Copy(mgrPath.RemoteDatabaseLocation, sNewFile, False)
|
File.Copy(mgrPath.RemoteDatabaseLocation, sNewFile, bOverwrite)
|
||||||
End Select
|
End Select
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
mgrCommon.ShowMessage(mgrSQLite_ErrorBackupFailure, New String() {sNewFile, ex.Message}, MsgBoxStyle.Exclamation)
|
mgrCommon.ShowMessage(mgrSQLite_ErrorBackupFailure, New String() {sNewFile, ex.Message}, MsgBoxStyle.Exclamation)
|
||||||
@@ -75,7 +75,7 @@ Public Class mgrSQLite
|
|||||||
"BackupFolder TEXT NOT NULL, StartWithWindows BOOLEAN NOT NULL, TimeTracking BOOLEAN NOT NULL, " &
|
"BackupFolder TEXT NOT NULL, StartWithWindows BOOLEAN NOT NULL, TimeTracking BOOLEAN NOT NULL, " &
|
||||||
"SupressBackup BOOLEAN NOT NULL, SupressBackupThreshold INTEGER NOT NULL, CompressionLevel INTEGER NOT NULL, Custom7zArguments TEXT, " &
|
"SupressBackup BOOLEAN NOT NULL, SupressBackupThreshold 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, " &
|
"Custom7zLocation TEXT, SyncFields INTEGER NOT NULL, AutoSaveLog BOOLEAN NOT NULL, AutoRestore BOOLEAN NOT NULL, AutoMark BOOLEAN NOT NULL, SessionTracking BOOLEAN NOT NULL, " &
|
||||||
"SupressMessages INTEGER NOT NULL);"
|
"SupressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL);"
|
||||||
|
|
||||||
'Add Tables (SavedPath)
|
'Add Tables (SavedPath)
|
||||||
sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);"
|
sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);"
|
||||||
@@ -773,12 +773,12 @@ Public Class mgrSQLite
|
|||||||
"BackupFolder TEXT NOT NULL, StartWithWindows BOOLEAN NOT NULL, TimeTracking BOOLEAN NOT NULL, " &
|
"BackupFolder TEXT NOT NULL, StartWithWindows BOOLEAN NOT NULL, TimeTracking BOOLEAN NOT NULL, " &
|
||||||
"SupressBackup BOOLEAN NOT NULL, SupressBackupThreshold INTEGER NOT NULL, CompressionLevel INTEGER NOT NULL, Custom7zArguments TEXT, " &
|
"SupressBackup BOOLEAN NOT NULL, SupressBackupThreshold 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, " &
|
"Custom7zLocation TEXT, SyncFields INTEGER NOT NULL, AutoSaveLog BOOLEAN NOT NULL, AutoRestore BOOLEAN NOT NULL, AutoMark BOOLEAN NOT NULL, SessionTracking BOOLEAN NOT NULL, " &
|
||||||
"SupressMessages INTEGER NOT NULL);"
|
"SupressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL);"
|
||||||
sSQL &= "INSERT INTO settings_new(SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " &
|
sSQL &= "INSERT INTO settings_new(SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " &
|
||||||
"BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " &
|
"BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " &
|
||||||
"AutoRestore, AutoMark, SessionTracking, SupressMessages) SELECT SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " &
|
"AutoRestore, AutoMark, SessionTracking, SupressMessages) SELECT SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " &
|
||||||
"BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " &
|
"BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " &
|
||||||
"AutoRestore, AutoMark, SessionTracking, 0 FROM settings;" &
|
"AutoRestore, AutoMark, SessionTracking, 0, 1 FROM settings;" &
|
||||||
"DROP TABLE settings; ALTER TABLE settings_new RENAME TO settings;"
|
"DROP TABLE settings; ALTER TABLE settings_new RENAME TO settings;"
|
||||||
sSQL &= "CREATE TABLE monitorlist_new (MonitorID TEXT NOT NULL PRIMARY KEY, Name TEXT NOT NULL, Process TEXT NOT NULL, Path TEXT, " &
|
sSQL &= "CREATE TABLE monitorlist_new (MonitorID TEXT NOT NULL PRIMARY KEY, Name TEXT NOT NULL, Process TEXT NOT NULL, Path TEXT, " &
|
||||||
"AbsolutePath BOOLEAN NOT NULL, FolderSave BOOLEAN NOT NULL, FileType TEXT, TimeStamp BOOLEAN NOT NULL, ExcludeList TEXT NOT NULL, " &
|
"AbsolutePath BOOLEAN NOT NULL, FolderSave BOOLEAN NOT NULL, FileType TEXT, TimeStamp BOOLEAN NOT NULL, ExcludeList TEXT NOT NULL, " &
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ Public Class mgrSettings
|
|||||||
Private eSyncFields As clsGame.eOptionalSyncFields = clsGame.eOptionalSyncFields.None Or clsGame.eOptionalSyncFields.TimeStamp
|
Private eSyncFields As clsGame.eOptionalSyncFields = clsGame.eOptionalSyncFields.None Or clsGame.eOptionalSyncFields.TimeStamp
|
||||||
Private eMessages As eSupressMessages = eSupressMessages.None
|
Private eMessages As eSupressMessages = eSupressMessages.None
|
||||||
Private bAutoSaveLog As Boolean = False
|
Private bAutoSaveLog As Boolean = False
|
||||||
|
Private bBackupOnLaunch As Boolean = True
|
||||||
|
|
||||||
<Flags()> Public Enum eSupressMessages
|
<Flags()> Public Enum eSupressMessages
|
||||||
None = 0
|
None = 0
|
||||||
@@ -265,6 +266,15 @@ Public Class mgrSettings
|
|||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
Property BackupOnLaunch As Boolean
|
||||||
|
Get
|
||||||
|
Return bBackupOnLaunch
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
bBackupOnLaunch = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
Sub New()
|
Sub New()
|
||||||
'The GameIDsync message should be supressed on all new databases
|
'The GameIDsync message should be supressed on all new databases
|
||||||
SetMessageField(SupressMessages, eSupressMessages.GameIDSync)
|
SetMessageField(SupressMessages, eSupressMessages.GameIDSync)
|
||||||
@@ -281,7 +291,7 @@ Public Class mgrSettings
|
|||||||
sSQL = "INSERT INTO settings VALUES (1, @MonitorOnStartup, @StartToTray, @ShowDetectionToolTips, @DisableConfirmation, "
|
sSQL = "INSERT INTO settings VALUES (1, @MonitorOnStartup, @StartToTray, @ShowDetectionToolTips, @DisableConfirmation, "
|
||||||
sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @StartWithWindows, "
|
sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @StartWithWindows, "
|
||||||
sSQL &= "@TimeTracking, @SupressBackup, @SupressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, "
|
sSQL &= "@TimeTracking, @SupressBackup, @SupressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, "
|
||||||
sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SupressMessages)"
|
sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SupressMessages, @BackupOnLaunch)"
|
||||||
|
|
||||||
hshParams.Add("MonitorOnStartup", MonitorOnStartup)
|
hshParams.Add("MonitorOnStartup", MonitorOnStartup)
|
||||||
hshParams.Add("StartToTray", StartToTray)
|
hshParams.Add("StartToTray", StartToTray)
|
||||||
@@ -304,6 +314,7 @@ Public Class mgrSettings
|
|||||||
hshParams.Add("AutoMark", AutoMark)
|
hshParams.Add("AutoMark", AutoMark)
|
||||||
hshParams.Add("SessionTracking", SessionTracking)
|
hshParams.Add("SessionTracking", SessionTracking)
|
||||||
hshParams.Add("SupressMessages", SupressMessages)
|
hshParams.Add("SupressMessages", SupressMessages)
|
||||||
|
hshParams.Add("BackupOnLaunch", BackupOnLaunch)
|
||||||
oDatabase.RunParamQuery(sSQL, hshParams)
|
oDatabase.RunParamQuery(sSQL, hshParams)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -339,6 +350,7 @@ Public Class mgrSettings
|
|||||||
AutoMark = CBool(dr("AutoMark"))
|
AutoMark = CBool(dr("AutoMark"))
|
||||||
SessionTracking = CBool(dr("SessionTracking"))
|
SessionTracking = CBool(dr("SessionTracking"))
|
||||||
SupressMessages = CInt(dr("SupressMessages"))
|
SupressMessages = CInt(dr("SupressMessages"))
|
||||||
|
BackupOnLaunch = CBool(dr("BackupOnLaunch"))
|
||||||
Next
|
Next
|
||||||
|
|
||||||
oDatabase.Disconnect()
|
oDatabase.Disconnect()
|
||||||
|
|||||||
Generated
+18
@@ -60,6 +60,15 @@ Namespace My.Resources
|
|||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to launch.
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property App_BackupOnLaunchFileDescription() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("App_BackupOnLaunchFileDescription", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized string similar to There are unsaved changes on this form. Do you want to save?.
|
''' Looks up a localized string similar to There are unsaved changes on this form. Do you want to save?.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
@@ -4155,6 +4164,15 @@ Namespace My.Resources
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
'''<summary>
|
||||||
|
''' Looks up a localized string similar to Backup GBM data files on launch.
|
||||||
|
'''</summary>
|
||||||
|
Friend ReadOnly Property frmSettings_chkBackupOnLaunch() As String
|
||||||
|
Get
|
||||||
|
Return ResourceManager.GetString("frmSettings_chkBackupOnLaunch", resourceCulture)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
'''<summary>
|
'''<summary>
|
||||||
''' Looks up a localized string similar to Create a sub-folder for each game.
|
''' Looks up a localized string similar to Create a sub-folder for each game.
|
||||||
'''</summary>
|
'''</summary>
|
||||||
|
|||||||
@@ -2065,4 +2065,10 @@
|
|||||||
<data name="mgrMonitorList_GameIDSyncCompleted" xml:space="preserve">
|
<data name="mgrMonitorList_GameIDSyncCompleted" xml:space="preserve">
|
||||||
<value>Sync Complete.[BR][BR][PARAM] game configurations were matched and updated.</value>
|
<value>Sync Complete.[BR][BR][PARAM] game configurations were matched and updated.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="App_BackupOnLaunchFileDescription" xml:space="preserve">
|
||||||
|
<value>launch</value>
|
||||||
|
</data>
|
||||||
|
<data name="frmSettings_chkBackupOnLaunch" xml:space="preserve">
|
||||||
|
<value>Backup GBM data files on launch</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
+6
-4
@@ -8,9 +8,9 @@ New in 1.1.0
|
|||||||
|
|
||||||
Disclaimer:
|
Disclaimer:
|
||||||
|
|
||||||
Version 1.1.0 makes fundamental changes to how GBM works with game configurations and backup data. Please read the changes below carefully.
|
Version 1.1.0 makes fundamental changes to how GBM works with game configurations and backup data, in addition to many other changes. Please read the changes below carefully before upgrading.
|
||||||
|
|
||||||
I've done my best to make sure the upgrade process is seamless and allows everyone to continue using their existing data and configurations.
|
I've done my best to make sure the upgrade process allows everyone to continue using their existing data and configurations.
|
||||||
|
|
||||||
All Platforms:
|
All Platforms:
|
||||||
|
|
||||||
@@ -21,7 +21,10 @@ All Platforms:
|
|||||||
- Game Name can now contain any character.
|
- Game Name can now contain any character.
|
||||||
- When a game is deleted via Game Manager (or sync), all backup manifest entries for that particular game are now deleted. The backup files themselves are not.
|
- When a game is deleted via Game Manager (or sync), all backup manifest entries for that particular game are now deleted. The backup files themselves are not.
|
||||||
- The Game Manager now syncs changes to the remote database immediately, instead of only when closed.
|
- The Game Manager now syncs changes to the remote database immediately, instead of only when closed.
|
||||||
- Core Design Changes (Features)
|
- Feature Changes
|
||||||
|
- Added "Backup GBM data files on launch" to the settings. A long overdue feature, this will backup both the remote and local databases (as gbm.s3db.launch.bak) each time GBM starts.
|
||||||
|
- This new setting is enabled by default.
|
||||||
|
- Only one backup is kept, the prior one will be overwritten.
|
||||||
- Added the ability to display messages that can be supressed. These messages can be reset via the Settings screen.
|
- Added the ability to display messages that can be supressed. These messages can be reset via the Settings screen.
|
||||||
- The "Enable Sync" feature is now mandatory and the option been removed from Settings.
|
- The "Enable Sync" feature is now mandatory and the option been removed from Settings.
|
||||||
- The "Clean Local Manifest" feature has been removed. It is not required because manfiest entries are no longer orphaned by design. Existing orphaned entries will be removed during the v1.1.0 database upgrade.
|
- The "Clean Local Manifest" feature has been removed. It is not required because manfiest entries are no longer orphaned by design. Existing orphaned entries will be removed during the v1.1.0 database upgrade.
|
||||||
@@ -55,6 +58,5 @@ Known Issues:
|
|||||||
- If one or more Game IDs are changed on one computer and these changes are synced to another PC sharing the same backup folder:
|
- If one or more Game IDs are changed on one computer and these changes are synced to another PC sharing the same backup folder:
|
||||||
- The local session data on that PC for the changed game(s) will be lost.
|
- The local session data on that PC for the changed game(s) will be lost.
|
||||||
- The local backup manifest data for the changed game(s) on that PC will be reset. GBM will see any backups for the changed game(s) as new and will handle them accordingly.
|
- The local backup manifest data for the changed game(s) on that PC will be reset. GBM will see any backups for the changed game(s) as new and will handle them accordingly.
|
||||||
- If the "Create a sub-folder..." option is enabled, GBM may leave empty folders when backups are updated or deleted. This only only applies to folders created with a prior version of GBM.
|
|
||||||
|
|
||||||
The entire version history of GBM releases is available at http://mikemaximus.github.io/gbm-web/versionhistory.html
|
The entire version history of GBM releases is available at http://mikemaximus.github.io/gbm-web/versionhistory.html
|
||||||
Reference in New Issue
Block a user