From 8ced2d157f774f35bd0c5d4114869c2f9044722c Mon Sep 17 00:00:00 2001 From: MikeMaximus Date: Sun, 18 Mar 2018 22:33:40 -0600 Subject: [PATCH] Added "Disable sync event messages" setting and tweaked the Settings form --- GBM/Forms/frmGameManager.vb | 12 +- GBM/Forms/frmMain.vb | 10 +- GBM/Forms/frmSettings.Designer.vb | 250 +++++++++++++++++---------- GBM/Forms/frmSettings.vb | 18 +- GBM/Forms/frmStartUpWizard.vb | 6 +- GBM/Managers/mgrMonitorList.vb | 32 ++-- GBM/Managers/mgrSQLite.vb | 10 +- GBM/Managers/mgrSettings.vb | 21 ++- GBM/My Project/Resources.Designer.vb | 49 +++++- GBM/My Project/Resources.resx | 19 +- GBM/readme.txt | 10 +- 11 files changed, 301 insertions(+), 136 deletions(-) diff --git a/GBM/Forms/frmGameManager.vb b/GBM/Forms/frmGameManager.vb index 0acf2f3..eb9358d 100644 --- a/GBM/Forms/frmGameManager.vb +++ b/GBM/Forms/frmGameManager.vb @@ -639,7 +639,7 @@ Public Class frmGameManager FillTagsbyList(frm.TagList) Else 'Sync - mgrMonitorList.SyncMonitorLists(Settings.SyncFields) + mgrMonitorList.SyncMonitorLists(Settings) 'Only update visible tags if one item is selected If lstGames.SelectedItems.Count = 1 Then FillTagsbyID(CurrentGame.ID) @@ -1267,7 +1267,7 @@ Public Class frmGameManager End Select If bSuccess Then - mgrMonitorList.SyncMonitorLists(Settings.SyncFields) + mgrMonitorList.SyncMonitorLists(Settings) LoadBackupData() IsDirty = False LoadData() @@ -1294,7 +1294,7 @@ Public Class frmGameManager If mgrCommon.ShowMessage(frmGameManager_ConfirmGameDelete, oApp.Name, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then mgrMonitorList.DoListDelete(oApp.ID) - mgrMonitorList.SyncMonitorLists(Settings.SyncFields) + mgrMonitorList.SyncMonitorLists(Settings) LoadData() eCurrentMode = eModes.Disabled ModeChange() @@ -1309,7 +1309,7 @@ Public Class frmGameManager If mgrCommon.ShowMessage(frmGameManager_ConfirmMultiGameDelete, sMonitorIDs.Count, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then mgrMonitorList.DoListDeleteMulti(sMonitorIDs) - mgrMonitorList.SyncMonitorLists(Settings.SyncFields) + mgrMonitorList.SyncMonitorLists(Settings) LoadData() eCurrentMode = eModes.Disabled ModeChange() @@ -1527,7 +1527,7 @@ Public Class frmGameManager If sLocation <> String.Empty Then If mgrMonitorList.DoImport(sLocation, False, Settings) Then - mgrMonitorList.SyncMonitorLists(Settings.SyncFields) + mgrMonitorList.SyncMonitorLists(Settings) LoadData() LoadBackupData() End If @@ -1557,7 +1557,7 @@ Public Class frmGameManager If mgrCommon.ShowMessage(frmGameManager_ConfirmOfficialImport, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then If mgrMonitorList.DoImport(sImportURL, True, Settings) Then - mgrMonitorList.SyncMonitorLists(Settings.SyncFields) + mgrMonitorList.SyncMonitorLists(Settings) LoadData() LoadBackupData() End If diff --git a/GBM/Forms/frmMain.vb b/GBM/Forms/frmMain.vb index 8bd9e7c..d63db73 100644 --- a/GBM/Forms/frmMain.vb +++ b/GBM/Forms/frmMain.vb @@ -710,7 +710,7 @@ Public Class frmMain End If mgrMonitorList.DoListUpdate(oProcess.GameInfo) - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) UpdateTimeSpent(dCurrentHours, oProcess.TimeSpent.TotalHours) End Sub @@ -841,7 +841,7 @@ Public Class frmMain Dim frm As New frmTags PauseScan() frm.ShowDialog() - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) ResumeScan() End Sub @@ -908,7 +908,7 @@ Public Class frmMain frm.GameData = mgrMonitorList.ReadList(mgrMonitorList.eListTypes.FullList) frm.ShowDialog() LoadGameSettings() - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) ResumeScan() End Sub @@ -917,7 +917,7 @@ Public Class frmMain PauseScan() frm.ShowDialog() mgrPath.CustomVariablesReload() - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) ResumeScan() End Sub @@ -993,7 +993,7 @@ Public Class frmMain Private Sub SyncGameSettings() 'Sync Monitor List - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields, False) + mgrMonitorList.SyncMonitorLists(oSettings, False) End Sub Private Sub SyncGameIDs(ByVal bOfficial As Boolean) diff --git a/GBM/Forms/frmSettings.Designer.vb b/GBM/Forms/frmSettings.Designer.vb index 1b1ad24..1f12cea 100644 --- a/GBM/Forms/frmSettings.Designer.vb +++ b/GBM/Forms/frmSettings.Designer.vb @@ -22,11 +22,6 @@ Partial Class frmSettings 'Do not modify it using the code editor. _ Private Sub InitializeComponent() - Me.chkMonitorOnStartup = New System.Windows.Forms.CheckBox() - Me.grpStartup = New System.Windows.Forms.GroupBox() - Me.chkBackupOnLaunch = New System.Windows.Forms.CheckBox() - Me.chkStartWindows = New System.Windows.Forms.CheckBox() - Me.chkStartToTray = New System.Windows.Forms.CheckBox() Me.chkAutoSaveLog = New System.Windows.Forms.CheckBox() Me.btnOptionalFields = New System.Windows.Forms.Button() Me.chkTimeTracking = New System.Windows.Forms.CheckBox() @@ -68,7 +63,16 @@ Partial Class frmSettings Me.chkSessionTracking = New System.Windows.Forms.CheckBox() Me.lstSettings = New System.Windows.Forms.ListBox() Me.btnResetMessages = New System.Windows.Forms.Button() - Me.grpStartup.SuspendLayout() + Me.grpBackupConfirmations = New System.Windows.Forms.GroupBox() + Me.pnlStartup = New System.Windows.Forms.Panel() + Me.grpStartup = New System.Windows.Forms.GroupBox() + Me.chkBackupOnLaunch = New System.Windows.Forms.CheckBox() + Me.chkStartWindows = New System.Windows.Forms.CheckBox() + Me.chkStartToTray = New System.Windows.Forms.CheckBox() + Me.chkMonitorOnStartup = New System.Windows.Forms.CheckBox() + Me.grpLogOptions = New System.Windows.Forms.GroupBox() + Me.chkDisableSyncMessages = New System.Windows.Forms.CheckBox() + Me.grpGameMonitoringOptions = New System.Windows.Forms.GroupBox() Me.grpFolderOptions.SuspendLayout() Me.grp7zGeneral.SuspendLayout() Me.pnlBackup.SuspendLayout() @@ -79,68 +83,20 @@ Partial Class frmSettings Me.pnlGeneral.SuspendLayout() CType(Me.nudSupressBackupThreshold, System.ComponentModel.ISupportInitialize).BeginInit() Me.grpGameData.SuspendLayout() + Me.grpBackupConfirmations.SuspendLayout() + Me.pnlStartup.SuspendLayout() + Me.grpStartup.SuspendLayout() + Me.grpLogOptions.SuspendLayout() + Me.grpGameMonitoringOptions.SuspendLayout() Me.SuspendLayout() ' - 'chkMonitorOnStartup - ' - Me.chkMonitorOnStartup.AutoSize = True - Me.chkMonitorOnStartup.Location = New System.Drawing.Point(6, 65) - Me.chkMonitorOnStartup.Name = "chkMonitorOnStartup" - Me.chkMonitorOnStartup.Size = New System.Drawing.Size(149, 17) - Me.chkMonitorOnStartup.TabIndex = 2 - Me.chkMonitorOnStartup.Text = "Start monitoring on launch" - Me.chkMonitorOnStartup.UseVisualStyleBackColor = True - ' - 'grpStartup - ' - Me.grpStartup.Controls.Add(Me.chkBackupOnLaunch) - Me.grpStartup.Controls.Add(Me.chkStartWindows) - Me.grpStartup.Controls.Add(Me.chkStartToTray) - Me.grpStartup.Controls.Add(Me.chkMonitorOnStartup) - Me.grpStartup.Location = New System.Drawing.Point(6, 12) - Me.grpStartup.Name = "grpStartup" - Me.grpStartup.Size = New System.Drawing.Size(354, 112) - Me.grpStartup.TabIndex = 0 - Me.grpStartup.TabStop = False - Me.grpStartup.Text = "Startup" - ' - '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 - ' - 'chkStartWindows - ' - Me.chkStartWindows.AutoSize = True - Me.chkStartWindows.Location = New System.Drawing.Point(6, 19) - Me.chkStartWindows.Name = "chkStartWindows" - Me.chkStartWindows.Size = New System.Drawing.Size(117, 17) - Me.chkStartWindows.TabIndex = 0 - Me.chkStartWindows.Text = "Start with Windows" - Me.chkStartWindows.UseVisualStyleBackColor = True - ' - 'chkStartToTray - ' - Me.chkStartToTray.AutoSize = True - Me.chkStartToTray.Location = New System.Drawing.Point(6, 42) - Me.chkStartToTray.Name = "chkStartToTray" - Me.chkStartToTray.Size = New System.Drawing.Size(115, 17) - Me.chkStartToTray.TabIndex = 1 - Me.chkStartToTray.Text = "Start to system tray" - Me.chkStartToTray.UseVisualStyleBackColor = True - ' 'chkAutoSaveLog ' Me.chkAutoSaveLog.AutoSize = True - Me.chkAutoSaveLog.Location = New System.Drawing.Point(12, 280) + Me.chkAutoSaveLog.Location = New System.Drawing.Point(6, 42) Me.chkAutoSaveLog.Name = "chkAutoSaveLog" Me.chkAutoSaveLog.Size = New System.Drawing.Size(231, 17) - Me.chkAutoSaveLog.TabIndex = 5 + Me.chkAutoSaveLog.TabIndex = 1 Me.chkAutoSaveLog.Text = "Autosave log when max length is exceeded" Me.chkAutoSaveLog.UseVisualStyleBackColor = True ' @@ -166,7 +122,7 @@ Partial Class frmSettings 'chkShowDetectionTips ' Me.chkShowDetectionTips.AutoSize = True - Me.chkShowDetectionTips.Location = New System.Drawing.Point(12, 257) + Me.chkShowDetectionTips.Location = New System.Drawing.Point(6, 41) Me.chkShowDetectionTips.Name = "chkShowDetectionTips" Me.chkShowDetectionTips.Size = New System.Drawing.Size(159, 17) Me.chkShowDetectionTips.TabIndex = 4 @@ -351,8 +307,7 @@ Partial Class frmSettings ' 'pnlBackup ' - Me.pnlBackup.Controls.Add(Me.chkBackupConfirm) - Me.pnlBackup.Controls.Add(Me.chkOverwriteWarning) + Me.pnlBackup.Controls.Add(Me.grpBackupConfirmations) Me.pnlBackup.Controls.Add(Me.grpBackupHandling) Me.pnlBackup.Controls.Add(Me.grpFolderOptions) Me.pnlBackup.Location = New System.Drawing.Point(180, 0) @@ -363,20 +318,20 @@ Partial Class frmSettings 'chkBackupConfirm ' Me.chkBackupConfirm.AutoSize = True - Me.chkBackupConfirm.Location = New System.Drawing.Point(14, 199) + Me.chkBackupConfirm.Location = New System.Drawing.Point(9, 18) Me.chkBackupConfirm.Name = "chkBackupConfirm" Me.chkBackupConfirm.Size = New System.Drawing.Size(160, 17) - Me.chkBackupConfirm.TabIndex = 2 + Me.chkBackupConfirm.TabIndex = 0 Me.chkBackupConfirm.Text = "Disable backup confirmation" Me.chkBackupConfirm.UseVisualStyleBackColor = True ' 'chkOverwriteWarning ' Me.chkOverwriteWarning.AutoSize = True - Me.chkOverwriteWarning.Location = New System.Drawing.Point(14, 222) + Me.chkOverwriteWarning.Location = New System.Drawing.Point(9, 41) Me.chkOverwriteWarning.Name = "chkOverwriteWarning" Me.chkOverwriteWarning.Size = New System.Drawing.Size(139, 17) - Me.chkOverwriteWarning.TabIndex = 3 + Me.chkOverwriteWarning.TabIndex = 1 Me.chkOverwriteWarning.Text = "Show overwrite warning" Me.chkOverwriteWarning.UseVisualStyleBackColor = True ' @@ -463,13 +418,9 @@ Partial Class frmSettings ' 'pnlGeneral ' - Me.pnlGeneral.Controls.Add(Me.lblMinutes) - Me.pnlGeneral.Controls.Add(Me.nudSupressBackupThreshold) - Me.pnlGeneral.Controls.Add(Me.chkSupressBackup) - Me.pnlGeneral.Controls.Add(Me.chkAutoSaveLog) + Me.pnlGeneral.Controls.Add(Me.grpGameMonitoringOptions) + Me.pnlGeneral.Controls.Add(Me.grpLogOptions) Me.pnlGeneral.Controls.Add(Me.grpGameData) - Me.pnlGeneral.Controls.Add(Me.chkShowDetectionTips) - Me.pnlGeneral.Controls.Add(Me.grpStartup) Me.pnlGeneral.Location = New System.Drawing.Point(180, 0) Me.pnlGeneral.Name = "pnlGeneral" Me.pnlGeneral.Size = New System.Drawing.Size(367, 314) @@ -478,7 +429,7 @@ Partial Class frmSettings 'lblMinutes ' Me.lblMinutes.AutoSize = True - Me.lblMinutes.Location = New System.Drawing.Point(232, 234) + Me.lblMinutes.Location = New System.Drawing.Point(226, 19) Me.lblMinutes.Name = "lblMinutes" Me.lblMinutes.Size = New System.Drawing.Size(43, 13) Me.lblMinutes.TabIndex = 17 @@ -486,7 +437,7 @@ Partial Class frmSettings ' 'nudSupressBackupThreshold ' - Me.nudSupressBackupThreshold.Location = New System.Drawing.Point(176, 232) + Me.nudSupressBackupThreshold.Location = New System.Drawing.Point(170, 17) Me.nudSupressBackupThreshold.Maximum = New Decimal(New Integer() {999, 0, 0, 0}) Me.nudSupressBackupThreshold.Name = "nudSupressBackupThreshold" Me.nudSupressBackupThreshold.Size = New System.Drawing.Size(51, 20) @@ -495,7 +446,7 @@ Partial Class frmSettings 'chkSupressBackup ' Me.chkSupressBackup.AutoSize = True - Me.chkSupressBackup.Location = New System.Drawing.Point(12, 233) + Me.chkSupressBackup.Location = New System.Drawing.Point(6, 18) Me.chkSupressBackup.Name = "chkSupressBackup" Me.chkSupressBackup.Size = New System.Drawing.Size(158, 17) Me.chkSupressBackup.TabIndex = 2 @@ -507,12 +458,12 @@ Partial Class frmSettings Me.grpGameData.Controls.Add(Me.chkSessionTracking) Me.grpGameData.Controls.Add(Me.chkTimeTracking) Me.grpGameData.Controls.Add(Me.btnOptionalFields) - Me.grpGameData.Location = New System.Drawing.Point(6, 130) + Me.grpGameData.Location = New System.Drawing.Point(6, 12) Me.grpGameData.Name = "grpGameData" Me.grpGameData.Size = New System.Drawing.Size(354, 97) - Me.grpGameData.TabIndex = 1 + Me.grpGameData.TabIndex = 0 Me.grpGameData.TabStop = False - Me.grpGameData.Text = "Game Data" + Me.grpGameData.Text = "Game Data Options" ' 'chkSessionTracking ' @@ -541,15 +492,122 @@ Partial Class frmSettings Me.btnResetMessages.Text = "&Reset Warnings" Me.btnResetMessages.UseVisualStyleBackColor = True ' + 'grpBackupConfirmations + ' + Me.grpBackupConfirmations.Controls.Add(Me.chkBackupConfirm) + Me.grpBackupConfirmations.Controls.Add(Me.chkOverwriteWarning) + Me.grpBackupConfirmations.Location = New System.Drawing.Point(6, 200) + Me.grpBackupConfirmations.Name = "grpBackupConfirmations" + Me.grpBackupConfirmations.Size = New System.Drawing.Size(354, 65) + Me.grpBackupConfirmations.TabIndex = 2 + Me.grpBackupConfirmations.TabStop = False + Me.grpBackupConfirmations.Text = "Backup Confirmations" + ' + 'pnlStartup + ' + Me.pnlStartup.Controls.Add(Me.grpStartup) + Me.pnlStartup.Location = New System.Drawing.Point(180, 0) + Me.pnlStartup.Name = "pnlStartup" + Me.pnlStartup.Size = New System.Drawing.Size(367, 314) + Me.pnlStartup.TabIndex = 8 + ' + 'grpStartup + ' + Me.grpStartup.Controls.Add(Me.chkBackupOnLaunch) + Me.grpStartup.Controls.Add(Me.chkStartWindows) + Me.grpStartup.Controls.Add(Me.chkStartToTray) + Me.grpStartup.Controls.Add(Me.chkMonitorOnStartup) + Me.grpStartup.Location = New System.Drawing.Point(6, 12) + Me.grpStartup.Name = "grpStartup" + Me.grpStartup.Size = New System.Drawing.Size(354, 112) + Me.grpStartup.TabIndex = 1 + Me.grpStartup.TabStop = False + Me.grpStartup.Text = "Startup Options" + ' + '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 + ' + 'chkStartWindows + ' + Me.chkStartWindows.AutoSize = True + Me.chkStartWindows.Location = New System.Drawing.Point(6, 19) + Me.chkStartWindows.Name = "chkStartWindows" + Me.chkStartWindows.Size = New System.Drawing.Size(117, 17) + Me.chkStartWindows.TabIndex = 0 + Me.chkStartWindows.Text = "Start with Windows" + Me.chkStartWindows.UseVisualStyleBackColor = True + ' + 'chkStartToTray + ' + Me.chkStartToTray.AutoSize = True + Me.chkStartToTray.Location = New System.Drawing.Point(6, 42) + Me.chkStartToTray.Name = "chkStartToTray" + Me.chkStartToTray.Size = New System.Drawing.Size(115, 17) + Me.chkStartToTray.TabIndex = 1 + Me.chkStartToTray.Text = "Start to system tray" + Me.chkStartToTray.UseVisualStyleBackColor = True + ' + 'chkMonitorOnStartup + ' + Me.chkMonitorOnStartup.AutoSize = True + Me.chkMonitorOnStartup.Location = New System.Drawing.Point(6, 65) + Me.chkMonitorOnStartup.Name = "chkMonitorOnStartup" + Me.chkMonitorOnStartup.Size = New System.Drawing.Size(149, 17) + Me.chkMonitorOnStartup.TabIndex = 2 + Me.chkMonitorOnStartup.Text = "Start monitoring on launch" + Me.chkMonitorOnStartup.UseVisualStyleBackColor = True + ' + 'grpLogOptions + ' + Me.grpLogOptions.Controls.Add(Me.chkDisableSyncMessages) + Me.grpLogOptions.Controls.Add(Me.chkAutoSaveLog) + Me.grpLogOptions.Location = New System.Drawing.Point(6, 193) + Me.grpLogOptions.Name = "grpLogOptions" + Me.grpLogOptions.Size = New System.Drawing.Size(354, 65) + Me.grpLogOptions.TabIndex = 2 + Me.grpLogOptions.TabStop = False + Me.grpLogOptions.Text = "Log Options" + ' + 'chkDisableSyncMessages + ' + Me.chkDisableSyncMessages.AutoSize = True + Me.chkDisableSyncMessages.Location = New System.Drawing.Point(6, 19) + Me.chkDisableSyncMessages.Name = "chkDisableSyncMessages" + Me.chkDisableSyncMessages.Size = New System.Drawing.Size(166, 17) + Me.chkDisableSyncMessages.TabIndex = 0 + Me.chkDisableSyncMessages.Text = "Disable sync event messages" + Me.chkDisableSyncMessages.UseVisualStyleBackColor = True + ' + 'grpGameMonitoringOptions + ' + Me.grpGameMonitoringOptions.Controls.Add(Me.chkSupressBackup) + Me.grpGameMonitoringOptions.Controls.Add(Me.lblMinutes) + Me.grpGameMonitoringOptions.Controls.Add(Me.chkShowDetectionTips) + Me.grpGameMonitoringOptions.Controls.Add(Me.nudSupressBackupThreshold) + Me.grpGameMonitoringOptions.Location = New System.Drawing.Point(6, 115) + Me.grpGameMonitoringOptions.Name = "grpGameMonitoringOptions" + Me.grpGameMonitoringOptions.Size = New System.Drawing.Size(354, 72) + Me.grpGameMonitoringOptions.TabIndex = 1 + Me.grpGameMonitoringOptions.TabStop = False + Me.grpGameMonitoringOptions.Text = "Game Monitoring Options" + ' '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.pnlGeneral) + Me.Controls.Add(Me.pnlStartup) + Me.Controls.Add(Me.pnl7z) Me.Controls.Add(Me.pnlBackup) Me.Controls.Add(Me.btnResetMessages) - Me.Controls.Add(Me.pnlGeneral) - Me.Controls.Add(Me.pnl7z) Me.Controls.Add(Me.lstSettings) Me.Controls.Add(Me.btnDefaults) Me.Controls.Add(Me.btnCancel) @@ -562,14 +620,11 @@ Partial Class frmSettings Me.ShowInTaskbar = False Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Settings" - Me.grpStartup.ResumeLayout(False) - Me.grpStartup.PerformLayout() Me.grpFolderOptions.ResumeLayout(False) Me.grpFolderOptions.PerformLayout() Me.grp7zGeneral.ResumeLayout(False) Me.grp7zGeneral.PerformLayout() Me.pnlBackup.ResumeLayout(False) - Me.pnlBackup.PerformLayout() Me.grpBackupHandling.ResumeLayout(False) Me.grpBackupHandling.PerformLayout() Me.pnl7z.ResumeLayout(False) @@ -577,15 +632,21 @@ Partial Class frmSettings Me.grp7zAdvanced.PerformLayout() Me.grp7zInformation.ResumeLayout(False) Me.pnlGeneral.ResumeLayout(False) - Me.pnlGeneral.PerformLayout() CType(Me.nudSupressBackupThreshold, System.ComponentModel.ISupportInitialize).EndInit() Me.grpGameData.ResumeLayout(False) Me.grpGameData.PerformLayout() + Me.grpBackupConfirmations.ResumeLayout(False) + Me.grpBackupConfirmations.PerformLayout() + Me.pnlStartup.ResumeLayout(False) + Me.grpStartup.ResumeLayout(False) + Me.grpStartup.PerformLayout() + Me.grpLogOptions.ResumeLayout(False) + Me.grpLogOptions.PerformLayout() + Me.grpGameMonitoringOptions.ResumeLayout(False) + Me.grpGameMonitoringOptions.PerformLayout() Me.ResumeLayout(False) End Sub - Friend WithEvents chkMonitorOnStartup As System.Windows.Forms.CheckBox - Friend WithEvents grpStartup As System.Windows.Forms.GroupBox Friend WithEvents grpFolderOptions As System.Windows.Forms.GroupBox Friend WithEvents txtBackupFolder As System.Windows.Forms.TextBox Friend WithEvents btnSave As System.Windows.Forms.Button @@ -593,9 +654,7 @@ Partial Class frmSettings Friend WithEvents lblBackupFolder As System.Windows.Forms.Label Friend WithEvents btnBackupFolder As System.Windows.Forms.Button Friend WithEvents chkShowDetectionTips As System.Windows.Forms.CheckBox - Friend WithEvents chkStartToTray As System.Windows.Forms.CheckBox Friend WithEvents chkCreateFolder As System.Windows.Forms.CheckBox - Friend WithEvents chkStartWindows As System.Windows.Forms.CheckBox Friend WithEvents chkTimeTracking As System.Windows.Forms.CheckBox Friend WithEvents grp7zGeneral As GroupBox Friend WithEvents cboCompression As ComboBox @@ -628,6 +687,15 @@ Partial Class frmSettings Friend WithEvents nudSupressBackupThreshold As NumericUpDown Friend WithEvents chkSupressBackup As CheckBox Friend WithEvents btnResetMessages As Button - Friend WithEvents chkBackupOnLaunch As CheckBox Friend WithEvents chkUseGameID As CheckBox + Friend WithEvents grpBackupConfirmations As GroupBox + Friend WithEvents grpLogOptions As GroupBox + Friend WithEvents chkDisableSyncMessages As CheckBox + Friend WithEvents pnlStartup As Panel + Friend WithEvents grpStartup As GroupBox + Friend WithEvents chkBackupOnLaunch As CheckBox + Friend WithEvents chkStartWindows As CheckBox + Friend WithEvents chkStartToTray As CheckBox + Friend WithEvents chkMonitorOnStartup As CheckBox + Friend WithEvents grpGameMonitoringOptions As GroupBox End Class diff --git a/GBM/Forms/frmSettings.vb b/GBM/Forms/frmSettings.vb index 798d600..5aeb310 100644 --- a/GBM/Forms/frmSettings.vb +++ b/GBM/Forms/frmSettings.vb @@ -49,6 +49,7 @@ Public Class frmSettings oSettings.StartToTray = chkStartToTray.Checked oSettings.BackupOnLaunch = chkBackupOnLaunch.Checked oSettings.ShowDetectionToolTips = chkShowDetectionTips.Checked + oSettings.DisableSyncMessages = chkDisableSyncMessages.Checked oSettings.AutoSaveLog = chkAutoSaveLog.Checked oSettings.DisableConfirmation = chkBackupConfirm.Checked oSettings.CreateSubFolder = chkCreateFolder.Checked @@ -176,6 +177,7 @@ Public Class frmSettings chkStartToTray.Checked = oSettings.StartToTray chkBackupOnLaunch.Checked = oSettings.BackupOnLaunch chkShowDetectionTips.Checked = oSettings.ShowDetectionToolTips + chkDisableSyncMessages.Checked = oSettings.DisableSyncMessages chkAutoSaveLog.Checked = oSettings.AutoSaveLog chkBackupConfirm.Checked = oSettings.DisableConfirmation chkCreateFolder.Checked = oSettings.CreateSubFolder @@ -229,7 +231,8 @@ Public Class frmSettings oSettingsItems.Add(New KeyValuePair(Of Integer, String)(0, frmSettings_lstSettings_General)) oSettingsItems.Add(New KeyValuePair(Of Integer, String)(1, frmSettings_lstSettings_BackupRestore)) - oSettingsItems.Add(New KeyValuePair(Of Integer, String)(2, frmSettings_lstSettings_7z)) + oSettingsItems.Add(New KeyValuePair(Of Integer, String)(2, frmSettings_lstSettings_Startup)) + oSettingsItems.Add(New KeyValuePair(Of Integer, String)(3, frmSettings_lstSettings_7z)) lstSettings.DataSource = oSettingsItems @@ -253,15 +256,24 @@ Public Class frmSettings Select Case oSettingsItem.Key Case 0 pnlGeneral.Visible = True + pnlStartup.Visible = False pnlBackup.Visible = False pnl7z.Visible = False Case 1 pnlGeneral.Visible = False pnlBackup.Visible = True + pnlStartup.Visible = False pnl7z.Visible = False Case 2 pnlGeneral.Visible = False pnlBackup.Visible = False + pnlStartup.Visible = True + pnl7z.Visible = False + + Case 3 + pnlGeneral.Visible = False + pnlBackup.Visible = False + pnlStartup.Visible = False pnl7z.Visible = True End Select End If @@ -306,6 +318,10 @@ Public Class frmSettings btnOptionalFields.Text = frmSettings_btnOptionalFields btnResetMessages.Text = frmSettings_btnResetMessages chkBackupOnLaunch.Text = frmSettings_chkBackupOnLaunch + grpBackupConfirmations.Text = frmSettings_grpBackupConfirmations + grpLogOptions.Text = frmSettings_grpLogOptions + chkDisableSyncMessages.Text = frmSettings_chkDisableSyncMessages + grpGameMonitoringOptions.Text = frmSettings_grpGameMonitoringOptions 'Unix Handler If mgrCommon.IsUnix Then diff --git a/GBM/Forms/frmStartUpWizard.vb b/GBM/Forms/frmStartUpWizard.vb index 401d3a7..2aff0d2 100644 --- a/GBM/Forms/frmStartUpWizard.vb +++ b/GBM/Forms/frmStartUpWizard.vb @@ -65,7 +65,7 @@ Public Class frmStartUpWizard If oDatabase.CheckDB() Then 'Make sure database is the latest version oDatabase.DatabaseUpgrade() - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields, False) + mgrMonitorList.SyncMonitorLists(oSettings, False) mgrCommon.ShowMessage(frmStartUpWizard_ExistingData, MsgBoxStyle.Information) End If End Sub @@ -107,7 +107,7 @@ Public Class frmStartUpWizard If mgrCommon.ShowMessage(frmStartUpWizard_ConfirmOfficialImport, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then If mgrMonitorList.DoImport(sImportURL, True, Settings, True) Then oGameData = mgrMonitorList.ReadList(mgrMonitorList.eListTypes.FullList) - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) End If End If End Sub @@ -122,7 +122,7 @@ Public Class frmStartUpWizard frm.GameData = oGameData frm.ShowDialog() LoadGameSettings() - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) End Sub Private Sub OpenMonitorList() diff --git a/GBM/Managers/mgrMonitorList.vb b/GBM/Managers/mgrMonitorList.vb index ac1ba2c..4c38f18 100644 --- a/GBM/Managers/mgrMonitorList.vb +++ b/GBM/Managers/mgrMonitorList.vb @@ -491,7 +491,7 @@ Public Class mgrMonitorList oDatabase.RunMassParamQuery(sSQL, oParamList) End Sub - Public Shared Sub SyncMonitorLists(ByVal eSyncFields As clsGame.eOptionalSyncFields, Optional ByVal bToRemote As Boolean = True) + Public Shared Sub SyncMonitorLists(ByVal oSettings As mgrSettings, Optional ByVal bToRemote As Boolean = True) Dim hshCompareFrom As Hashtable Dim hshCompareTo As Hashtable Dim hshSyncItems As Hashtable @@ -502,10 +502,12 @@ Public Class mgrMonitorList Cursor.Current = Cursors.WaitCursor - If bToRemote Then - RaiseEvent UpdateLog(mgrMonitorList_SyncToMaster, False, ToolTipIcon.Info, True) - Else - RaiseEvent UpdateLog(mgrMonitorList_SyncFromMaster, False, ToolTipIcon.Info, True) + If Not oSettings.DisableSyncMessages Then + If bToRemote Then + RaiseEvent UpdateLog(mgrMonitorList_SyncToMaster, False, ToolTipIcon.Info, True) + Else + RaiseEvent UpdateLog(mgrMonitorList_SyncFromMaster, False, ToolTipIcon.Info, True) + End If End If 'Add / Update Sync @@ -520,6 +522,7 @@ Public Class mgrMonitorList 'Sync Wipe Protection If hshCompareFrom.Count = 0 And hshCompareTo.Count > 0 Then If mgrCommon.ShowMessage(mgrMonitorList_WarningSyncProtection, MsgBoxStyle.YesNo) = MsgBoxResult.No Then + 'We will always show this one in the log regardless of setting RaiseEvent UpdateLog(mgrMonitorList_ErrorSyncCancel, False, ToolTipIcon.Warning, True) Exit Sub End If @@ -530,16 +533,16 @@ Public Class mgrMonitorList For Each oFromItem In hshCompareFrom.Values If hshCompareTo.Contains(oFromItem.ID) Then oToItem = DirectCast(hshCompareTo(oFromItem.ID), clsGame) - If oFromItem.SyncEquals(oToItem, eSyncFields) Then + If oFromItem.SyncEquals(oToItem, oSettings.SyncFields) Then hshSyncItems.Remove(oFromItem.ID) End If End If Next If bToRemote Then - DoListAddUpdateSync(hshSyncItems, mgrSQLite.Database.Remote, eSyncFields) + DoListAddUpdateSync(hshSyncItems, mgrSQLite.Database.Remote, oSettings.SyncFields) Else - DoListAddUpdateSync(hshSyncItems, mgrSQLite.Database.Local, eSyncFields) + DoListAddUpdateSync(hshSyncItems, mgrSQLite.Database.Local, oSettings.SyncFields) End If 'Sync Tags @@ -572,7 +575,10 @@ Public Class mgrMonitorList DoListDeleteSync(hshDeleteItems, mgrSQLite.Database.Local) End If - RaiseEvent UpdateLog(mgrCommon.FormatString(mgrMonitorList_SyncChanges, (hshDeleteItems.Count + hshSyncItems.Count + iChanges).ToString), False, ToolTipIcon.Info, True) + If Not oSettings.DisableSyncMessages Then + RaiseEvent UpdateLog(mgrCommon.FormatString(mgrMonitorList_SyncChanges, (hshDeleteItems.Count + hshSyncItems.Count + iChanges).ToString), False, ToolTipIcon.Info, True) + End If + Cursor.Current = Cursors.Default Application.DoEvents() End Sub @@ -1020,15 +1026,15 @@ Public Class mgrMonitorList 'If the remote database actually contains a list, then ask what to do If iGameCount > 0 Then If mgrCommon.ShowMessage(mgrMonitorList_ConfirmExistingData, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) Else - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields, False) + mgrMonitorList.SyncMonitorLists(oSettings, False) End If Else - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) End If Else - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) End If End Sub End Class diff --git a/GBM/Managers/mgrSQLite.vb b/GBM/Managers/mgrSQLite.vb index 8e093d3..bd76c59 100644 --- a/GBM/Managers/mgrSQLite.vb +++ b/GBM/Managers/mgrSQLite.vb @@ -75,7 +75,7 @@ Public Class mgrSQLite "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, " & "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, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL);" + "SupressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL, DisableSyncMessages BOOLEAN NOT NULL);" 'Add Tables (SavedPath) sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);" @@ -783,12 +783,12 @@ Public Class mgrSQLite "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, " & "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, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL);" + "SupressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL, DisableSyncMessages BOOLEAN NOT NULL);" sSQL &= "INSERT INTO settings_new(SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " & "BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " & - "AutoRestore, AutoMark, SessionTracking, SupressMessages, BackupOnLaunch, UseGameID) SELECT SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " & + "AutoRestore, AutoMark, SessionTracking, SupressMessages, BackupOnLaunch, UseGameID, DisableSyncMessages) SELECT SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " & "BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " & - "AutoRestore, AutoMark, SessionTracking, 0, 1, 0 FROM settings;" & + "AutoRestore, AutoMark, SessionTracking, 0, 1, 0, 1 FROM 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, " & "AbsolutePath BOOLEAN NOT NULL, FolderSave BOOLEAN NOT NULL, FileType TEXT, TimeStamp BOOLEAN NOT NULL, ExcludeList TEXT NOT NULL, " & @@ -830,7 +830,7 @@ Public Class mgrSQLite 'We need to push the local game list against the remote database in case they had syncing disabled Dim oSettings As New mgrSettings oSettings.LoadSettings() - mgrMonitorList.SyncMonitorLists(oSettings.SyncFields) + mgrMonitorList.SyncMonitorLists(oSettings) sSQL &= "CREATE TABLE manifest_new (ManifestID TEXT NOT NULL PRIMARY KEY, MonitorID TEXT NOT NULL, FileName TEXT NOT NULL, " & "DateUpdated TEXT NOT NULL, UpdatedBy TEXT NOT NULL, CheckSum TEXT);" diff --git a/GBM/Managers/mgrSettings.vb b/GBM/Managers/mgrSettings.vb index bd5e608..d1a416d 100644 --- a/GBM/Managers/mgrSettings.vb +++ b/GBM/Managers/mgrSettings.vb @@ -24,6 +24,7 @@ Public Class mgrSettings Private bAutoSaveLog As Boolean = False Private bBackupOnLaunch As Boolean = True Private bUseGameID As Boolean = False + Private bDisableSyncMessages As Boolean = True Public Enum eSupressMessages None = 0 @@ -285,6 +286,15 @@ Public Class mgrSettings End Set End Property + Property DisableSyncMessages As Boolean + Get + Return bDisableSyncMessages + End Get + Set(value As Boolean) + bDisableSyncMessages = value + End Set + End Property + Sub New() 'The GameIDsync message should be supressed on all new databases SupressMessages = SetMessageField(SupressMessages, eSupressMessages.GameIDSync) @@ -295,13 +305,11 @@ Public Class mgrSettings Dim sSQL As String Dim hshParams As New Hashtable - sSQL = "DELETE FROM settings WHERE SettingsID = 1" - oDatabase.RunParamQuery(sSQL, New Hashtable) - - sSQL = "INSERT INTO settings VALUES (1, @MonitorOnStartup, @StartToTray, @ShowDetectionToolTips, @DisableConfirmation, " + sSQL = "INSERT OR REPLACE INTO settings VALUES (1, @MonitorOnStartup, @StartToTray, @ShowDetectionToolTips, @DisableConfirmation, " sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @StartWithWindows, " sSQL &= "@TimeTracking, @SupressBackup, @SupressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, " - sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SupressMessages, @BackupOnLaunch, @UseGameID)" + sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SupressMessages, @BackupOnLaunch, @UseGameID, " + sSQL &= "@DisableSyncMessages)" hshParams.Add("MonitorOnStartup", MonitorOnStartup) hshParams.Add("StartToTray", StartToTray) @@ -326,6 +334,8 @@ Public Class mgrSettings hshParams.Add("SupressMessages", SupressMessages) hshParams.Add("BackupOnLaunch", BackupOnLaunch) hshParams.Add("UseGameID", UseGameID) + hshParams.Add("DisableSyncMessages", DisableSyncMessages) + oDatabase.RunParamQuery(sSQL, hshParams) End Sub @@ -363,6 +373,7 @@ Public Class mgrSettings SupressMessages = CInt(dr("SupressMessages")) BackupOnLaunch = CBool(dr("BackupOnLaunch")) UseGameID = CBool(dr("UseGameID")) + DisableSyncMessages = CBool(dr("DisableSyncMessages")) Next oDatabase.Disconnect() diff --git a/GBM/My Project/Resources.Designer.vb b/GBM/My Project/Resources.Designer.vb index 5cff069..b7be52c 100644 --- a/GBM/My Project/Resources.Designer.vb +++ b/GBM/My Project/Resources.Designer.vb @@ -4461,6 +4461,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Looks up a localized string similar to Disable sync event messages. + ''' + Friend ReadOnly Property frmSettings_chkDisableSyncMessages() As String + Get + Return ResourceManager.GetString("frmSettings_chkDisableSyncMessages", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to Start monitoring at launch. ''' @@ -4623,6 +4632,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Looks up a localized string similar to Backup Confirmations. + ''' + Friend ReadOnly Property frmSettings_grpBackupConfirmations() As String + Get + Return ResourceManager.GetString("frmSettings_grpBackupConfirmations", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to Backup Handling. ''' @@ -4642,7 +4660,7 @@ Namespace My.Resources End Property ''' - ''' Looks up a localized string similar to Game Data. + ''' Looks up a localized string similar to Game Data Options. ''' Friend ReadOnly Property frmSettings_grpGameData() As String Get @@ -4651,7 +4669,25 @@ Namespace My.Resources End Property ''' - ''' Looks up a localized string similar to Startup. + ''' Looks up a localized string similar to Game Monitoring Options. + ''' + Friend ReadOnly Property frmSettings_grpGameMonitoringOptions() As String + Get + Return ResourceManager.GetString("frmSettings_grpGameMonitoringOptions", resourceCulture) + End Get + End Property + + ''' + ''' Looks up a localized string similar to Log Options. + ''' + Friend ReadOnly Property frmSettings_grpLogOptions() As String + Get + Return ResourceManager.GetString("frmSettings_grpLogOptions", resourceCulture) + End Get + End Property + + ''' + ''' Looks up a localized string similar to Startup Options. ''' Friend ReadOnly Property frmSettings_grpStartup() As String Get @@ -4731,6 +4767,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Looks up a localized string similar to Startup. + ''' + Friend ReadOnly Property frmSettings_lstSettings_Startup() As String + Get + Return ResourceManager.GetString("frmSettings_lstSettings_Startup", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to Please note that GBM will not "Start with Windows" as Administrator.[BR][BR]See the Online Manual in the Help menu for details.. ''' diff --git a/GBM/My Project/Resources.resx b/GBM/My Project/Resources.resx index 19fbc30..9772b3f 100644 --- a/GBM/My Project/Resources.resx +++ b/GBM/My Project/Resources.resx @@ -1091,7 +1091,7 @@ Settings - Startup + Startup Options Files and Folders @@ -1640,7 +1640,7 @@ Autosave log when max length is exceeded - Game Data + Game Data Options 7-Zip @@ -2173,4 +2173,19 @@ The database GBM is attempting to sync with appears to be empty, syncing with this database will delete all data. Do you still want to sync with this database? (Not Recommended) + + Disable sync event messages + + + Backup Confirmations + + + Game Monitoring Options + + + Log Options + + + Startup + \ No newline at end of file diff --git a/GBM/readme.txt b/GBM/readme.txt index 0b18f8e..269aa8d 100644 --- a/GBM/readme.txt +++ b/GBM/readme.txt @@ -2,7 +2,7 @@ Game Backup Monitor v1.1.0 Readme http://mikemaximus.github.io/gbm-web/ gamebackupmonitor@gmail.com -March 12th, 2018 +March 18th, 2018 New in 1.1.0 @@ -28,7 +28,7 @@ All Platforms: - The Game Manager now syncs changes to the remote database immediately, instead of only when closed. - Feature Additions & Changes - - Added Regular Expression support for game detection + - Added Regular Expression support for game detection. - This feature allows GBM to detect games based on a pattern instead of a single process name. - This allows GBM to better support games that run from multiple executables and games that use interpreters or emulators. - Use the new "Regular Expression" checkbox on the Game Manager and enter the pattern in the "Process" field. @@ -49,7 +49,11 @@ All Platforms: - This is mainly an optional upgrade tool for users with existing data from older versions. It allows the import feature to properly recognize and update game configurations. - The sync is based on similarly named game configurations, therefore it's not 100% effective. Some games may be missed and require manual changes. - If you share a backup folder with multiple PCs, this feature will cause some data loss when the new IDs are synced to the other PCs. See "Known Issue #1" - + - Added "Disable sync event messages" to the settings. This will remove all sync related information messages in the log. + - This new setting is enabled by default. + - Sync messages can cause a lot of useless clutter in the log and are not useful to most users. + - Re-organized the Setting screen to clear up some space for the future. + - Import / Export Changes - GBM now uses the Game ID to determine if a game is new or has an updated configuration. - GBM will offer to "Sync Game IDs" when importing from the official list after upgrading to v1.1.0.