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