diff --git a/GBM/Forms/frmMain.vb b/GBM/Forms/frmMain.vb index 05240a2..95b698d 100644 --- a/GBM/Forms/frmMain.vb +++ b/GBM/Forms/frmMain.vb @@ -881,6 +881,9 @@ Public Class frmMain Private Sub OpenSessions() Dim frm As New frmSessions PauseScan() + If oSettings.SessionTracking = False Then + mgrCommon.ShowMessage(frmMain_WarningSessionsDisabled, MsgBoxStyle.Exclamation) + End If If mgrSessions.CountRows > 0 Then frm.ShowDialog() Else @@ -1791,10 +1794,8 @@ Public Class frmMain LoadGameSettings() Else bContinue = False - If oSettings.TimeTracking Then - HandleTimeSpent() - HandleSession() - End If + If oSettings.TimeTracking Then HandleTimeSpent() + If oSettings.SessionTracking Then HandleSession() UpdateLog(mgrCommon.FormatString(frmMain_ErrorBackupUnknownPath, oProcess.GameInfo.Name), False) oProcess.GameInfo = Nothing ResetGameInfo() @@ -1805,10 +1806,8 @@ Public Class frmMain If bContinue Then If DoMultiGameCheck() Then UpdateLog(mgrCommon.FormatString(frmMain_GameEnded, oProcess.GameInfo.Name), False) - If oSettings.TimeTracking Then - HandleTimeSpent() - HandleSession() - End If + If oSettings.TimeTracking Then HandleTimeSpent() + If oSettings.SessionTracking Then HandleSession() RunBackup() Else UpdateLog(frmMain_UnknownGameEnded, False) diff --git a/GBM/Forms/frmSettings.Designer.vb b/GBM/Forms/frmSettings.Designer.vb index 74b7a54..4234be1 100644 --- a/GBM/Forms/frmSettings.Designer.vb +++ b/GBM/Forms/frmSettings.Designer.vb @@ -65,6 +65,7 @@ Partial Class frmSettings Me.pnlGeneral = New System.Windows.Forms.Panel() Me.grpGameData = New System.Windows.Forms.GroupBox() Me.lstSettings = New System.Windows.Forms.ListBox() + Me.chkSessionTracking = New System.Windows.Forms.CheckBox() Me.grpStartup.SuspendLayout() Me.grpFolderOptions.SuspendLayout() Me.grp7zGeneral.SuspendLayout() @@ -123,7 +124,7 @@ Partial Class frmSettings 'chkAutoSaveLog ' Me.chkAutoSaveLog.AutoSize = True - Me.chkAutoSaveLog.Location = New System.Drawing.Point(6, 204) + Me.chkAutoSaveLog.Location = New System.Drawing.Point(12, 228) Me.chkAutoSaveLog.Name = "chkAutoSaveLog" Me.chkAutoSaveLog.Size = New System.Drawing.Size(231, 17) Me.chkAutoSaveLog.TabIndex = 3 @@ -132,7 +133,7 @@ Partial Class frmSettings ' 'btnOptionalFields ' - Me.btnOptionalFields.Location = New System.Drawing.Point(110, 38) + Me.btnOptionalFields.Location = New System.Drawing.Point(103, 61) Me.btnOptionalFields.Name = "btnOptionalFields" Me.btnOptionalFields.Size = New System.Drawing.Size(134, 23) Me.btnOptionalFields.TabIndex = 2 @@ -152,7 +153,7 @@ Partial Class frmSettings 'chkSync ' Me.chkSync.AutoSize = True - Me.chkSync.Location = New System.Drawing.Point(6, 42) + Me.chkSync.Location = New System.Drawing.Point(6, 65) Me.chkSync.Name = "chkSync" Me.chkSync.Size = New System.Drawing.Size(98, 17) Me.chkSync.TabIndex = 1 @@ -162,7 +163,7 @@ Partial Class frmSettings 'chkShowDetectionTips ' Me.chkShowDetectionTips.AutoSize = True - Me.chkShowDetectionTips.Location = New System.Drawing.Point(6, 181) + Me.chkShowDetectionTips.Location = New System.Drawing.Point(12, 205) Me.chkShowDetectionTips.Name = "chkShowDetectionTips" Me.chkShowDetectionTips.Size = New System.Drawing.Size(159, 17) Me.chkShowDetectionTips.TabIndex = 2 @@ -401,9 +402,9 @@ Partial Class frmSettings Me.grpBackupHandling.Controls.Add(Me.chkRestoreNotify) Me.grpBackupHandling.Controls.Add(Me.chkAutoMark) Me.grpBackupHandling.Location = New System.Drawing.Point(6, 88) - Me.grpBackupHandling.Margin = New System.Windows.Forms.Padding(2, 2, 2, 2) + Me.grpBackupHandling.Margin = New System.Windows.Forms.Padding(2) Me.grpBackupHandling.Name = "grpBackupHandling" - Me.grpBackupHandling.Padding = New System.Windows.Forms.Padding(2, 2, 2, 2) + Me.grpBackupHandling.Padding = New System.Windows.Forms.Padding(2) Me.grpBackupHandling.Size = New System.Drawing.Size(354, 87) Me.grpBackupHandling.TabIndex = 1 Me.grpBackupHandling.TabStop = False @@ -413,7 +414,7 @@ Partial Class frmSettings ' Me.chkAutoRestore.AutoSize = True Me.chkAutoRestore.Location = New System.Drawing.Point(8, 41) - Me.chkAutoRestore.Margin = New System.Windows.Forms.Padding(2, 2, 2, 2) + Me.chkAutoRestore.Margin = New System.Windows.Forms.Padding(2) Me.chkAutoRestore.Name = "chkAutoRestore" Me.chkAutoRestore.Size = New System.Drawing.Size(190, 17) Me.chkAutoRestore.TabIndex = 1 @@ -424,7 +425,7 @@ Partial Class frmSettings ' Me.chkRestoreNotify.AutoSize = True Me.chkRestoreNotify.Location = New System.Drawing.Point(8, 19) - Me.chkRestoreNotify.Margin = New System.Windows.Forms.Padding(2, 2, 2, 2) + Me.chkRestoreNotify.Margin = New System.Windows.Forms.Padding(2) Me.chkRestoreNotify.Name = "chkRestoreNotify" Me.chkRestoreNotify.Size = New System.Drawing.Size(216, 17) Me.chkRestoreNotify.TabIndex = 0 @@ -489,12 +490,13 @@ Partial Class frmSettings ' 'grpGameData ' + Me.grpGameData.Controls.Add(Me.chkSessionTracking) Me.grpGameData.Controls.Add(Me.chkTimeTracking) Me.grpGameData.Controls.Add(Me.chkSync) Me.grpGameData.Controls.Add(Me.btnOptionalFields) Me.grpGameData.Location = New System.Drawing.Point(6, 106) Me.grpGameData.Name = "grpGameData" - Me.grpGameData.Size = New System.Drawing.Size(354, 69) + Me.grpGameData.Size = New System.Drawing.Size(354, 92) Me.grpGameData.TabIndex = 1 Me.grpGameData.TabStop = False Me.grpGameData.Text = "Game Data" @@ -507,6 +509,16 @@ Partial Class frmSettings Me.lstSettings.Size = New System.Drawing.Size(162, 303) Me.lstSettings.TabIndex = 0 ' + 'chkSessionTracking + ' + Me.chkSessionTracking.AutoSize = True + Me.chkSessionTracking.Location = New System.Drawing.Point(6, 42) + Me.chkSessionTracking.Name = "chkSessionTracking" + Me.chkSessionTracking.Size = New System.Drawing.Size(138, 17) + Me.chkSessionTracking.TabIndex = 3 + Me.chkSessionTracking.Text = "Enable session tracking" + Me.chkSessionTracking.UseVisualStyleBackColor = True + ' 'frmSettings ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -592,4 +604,5 @@ Partial Class frmSettings Friend WithEvents chkAutoMark As CheckBox Friend WithEvents chkAutoRestore As CheckBox Friend WithEvents chkRestoreNotify As CheckBox + Friend WithEvents chkSessionTracking As CheckBox End Class diff --git a/GBM/Forms/frmSettings.vb b/GBM/Forms/frmSettings.vb index a2ff9b3..42fa217 100644 --- a/GBM/Forms/frmSettings.vb +++ b/GBM/Forms/frmSettings.vb @@ -51,6 +51,7 @@ Public Class frmSettings oSettings.AutoRestore = chkAutoRestore.Checked oSettings.AutoMark = chkAutoMark.Checked oSettings.TimeTracking = chkTimeTracking.Checked + oSettings.SessionTracking = chkSessionTracking.Checked oSettings.SupressBackup = chkSupressBackup.Checked oSettings.SupressBackupThreshold = nudSupressBackupThreshold.Value oSettings.CompressionLevel = cboCompression.SelectedValue @@ -177,6 +178,7 @@ Public Class frmSettings txtBackupFolder.Text = oSettings.BackupFolder chkSync.Checked = oSettings.Sync chkTimeTracking.Checked = oSettings.TimeTracking + chkSessionTracking.Checked = oSettings.SessionTracking chkSupressBackup.Checked = oSettings.SupressBackup nudSupressBackupThreshold.Value = oSettings.SupressBackupThreshold nudSupressBackupThreshold.Enabled = chkSupressBackup.Checked @@ -289,6 +291,7 @@ Public Class frmSettings grpStartup.Text = frmSettings_grpStartup grpGameData.Text = frmSettings_grpGameData chkTimeTracking.Text = frmSettings_chkTimeTracking + chkSessionTracking.Text = frmSettings_chkSessionTracking chkStartWindows.Text = frmSettings_chkStartWindows chkSync.Text = frmSettings_chkSync chkShowDetectionTips.Text = frmSettings_chkShowDetectionTips diff --git a/GBM/Managers/mgrSQLite.vb b/GBM/Managers/mgrSQLite.vb index 795b083..bb6b928 100644 --- a/GBM/Managers/mgrSQLite.vb +++ b/GBM/Managers/mgrSQLite.vb @@ -74,7 +74,7 @@ Public Class mgrSQLite "DisableConfirmation BOOLEAN NOT NULL, CreateSubFolder BOOLEAN NOT NULL, ShowOverwriteWarning BOOLEAN NOT NULL, RestoreOnLaunch BOOLEAN NOT NULL, " & "BackupFolder TEXT NOT NULL, Sync BOOLEAN 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);" + "Custom7zLocation TEXT, SyncFields INTEGER NOT NULL, AutoSaveLog BOOLEAN NOT NULL, AutoRestore BOOLEAN NOT NULL, AutoMark BOOLEAN NOT NULL, SessionTracking BOOLEAN NOT NULL);" 'Add Tables (SavedPath) sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);" @@ -715,6 +715,7 @@ Public Class mgrSQLite 'Add new field(s) sSQL &= "ALTER TABLE monitorlist ADD COLUMN Comments TEXT;" + sSQL &= "ALTER TABLE settings ADD COLUMN SessionTracking BOOLEAN DEFAULT 0;" sSQL &= "PRAGMA user_version=105" diff --git a/GBM/Managers/mgrSettings.vb b/GBM/Managers/mgrSettings.vb index 73da1f9..b2c17f8 100644 --- a/GBM/Managers/mgrSettings.vb +++ b/GBM/Managers/mgrSettings.vb @@ -13,6 +13,7 @@ Public Class mgrSettings Private bAutoMark As Boolean = False Private bSync As Boolean = True Private bTimeTracking As Boolean = True + Private bSessionTracking As Boolean = True Private bSupressBackup As Boolean = False Private iSupressBackupThreshold As Integer = 10 Private iCompressionLevel As Integer = 5 @@ -130,6 +131,15 @@ Public Class mgrSettings End Set End Property + Property SessionTracking As Boolean + Get + Return bSessionTracking + End Get + Set(value As Boolean) + bSessionTracking = value + End Set + End Property + Property SupressBackup As Boolean Get Return bSupressBackup @@ -261,7 +271,7 @@ Public Class mgrSettings sSQL = "INSERT INTO settings VALUES (1, @MonitorOnStartup, @StartToTray, @ShowDetectionToolTips, @DisableConfirmation, " sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @Sync, @StartWithWindows, " sSQL &= "@TimeTracking, @SupressBackup, @SupressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, " - sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark)" + sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking)" hshParams.Add("MonitorOnStartup", MonitorOnStartup) hshParams.Add("StartToTray", StartToTray) @@ -283,6 +293,7 @@ Public Class mgrSettings hshParams.Add("AutoSaveLog", AutoSaveLog) hshParams.Add("AutoRestore", AutoRestore) hshParams.Add("AutoMark", AutoMark) + hshParams.Add("SessionTracking", SessionTracking) oDatabase.RunParamQuery(sSQL, hshParams) End Sub @@ -317,6 +328,7 @@ Public Class mgrSettings AutoSaveLog = CBool(dr("AutoSaveLog")) AutoRestore = CBool(dr("AutoRestore")) AutoMark = CBool(dr("AutoMark")) + SessionTracking = CBool(dr("SessionTracking")) Next oDatabase.Disconnect() diff --git a/GBM/My Project/Resources.Designer.vb b/GBM/My Project/Resources.Designer.vb index a7a69e7..05b6ea4 100644 --- a/GBM/My Project/Resources.Designer.vb +++ b/GBM/My Project/Resources.Designer.vb @@ -3615,6 +3615,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Looks up a localized string similar to Session tracking is currently disabled.[BR][BR]Enable session tracking in Settings if you'd like to track data for individual gaming sessions.. + ''' + Friend ReadOnly Property frmMain_WarningSessionsDisabled() As String + Get + Return ResourceManager.GetString("frmMain_WarningSessionsDisabled", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to &Close. ''' @@ -3912,6 +3921,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Looks up a localized string similar to Enable session tracking. + ''' + Friend ReadOnly Property frmSettings_chkSessionTracking() As String + Get + Return ResourceManager.GetString("frmSettings_chkSessionTracking", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to Show detection notifications. ''' diff --git a/GBM/My Project/Resources.resx b/GBM/My Project/Resources.resx index 61695a2..b68b8d0 100644 --- a/GBM/My Project/Resources.resx +++ b/GBM/My Project/Resources.resx @@ -1939,4 +1939,10 @@ Game Filter: + + Session tracking is currently disabled.[BR][BR]Enable session tracking in Settings if you'd like to track data for individual gaming sessions. + + + Enable session tracking + \ No newline at end of file