Added setting for session tracking

This commit is contained in:
MikeMaximus
2017-12-07 21:46:16 -06:00
parent e6a73019ef
commit 08e8ed58d9
7 changed files with 71 additions and 19 deletions
+7 -8
View File
@@ -881,6 +881,9 @@ Public Class frmMain
Private Sub OpenSessions() Private Sub OpenSessions()
Dim frm As New frmSessions Dim frm As New frmSessions
PauseScan() PauseScan()
If oSettings.SessionTracking = False Then
mgrCommon.ShowMessage(frmMain_WarningSessionsDisabled, MsgBoxStyle.Exclamation)
End If
If mgrSessions.CountRows > 0 Then If mgrSessions.CountRows > 0 Then
frm.ShowDialog() frm.ShowDialog()
Else Else
@@ -1791,10 +1794,8 @@ Public Class frmMain
LoadGameSettings() LoadGameSettings()
Else Else
bContinue = False bContinue = False
If oSettings.TimeTracking Then If oSettings.TimeTracking Then HandleTimeSpent()
HandleTimeSpent() If oSettings.SessionTracking Then HandleSession()
HandleSession()
End If
UpdateLog(mgrCommon.FormatString(frmMain_ErrorBackupUnknownPath, oProcess.GameInfo.Name), False) UpdateLog(mgrCommon.FormatString(frmMain_ErrorBackupUnknownPath, oProcess.GameInfo.Name), False)
oProcess.GameInfo = Nothing oProcess.GameInfo = Nothing
ResetGameInfo() ResetGameInfo()
@@ -1805,10 +1806,8 @@ Public Class frmMain
If bContinue Then If bContinue Then
If DoMultiGameCheck() Then If DoMultiGameCheck() Then
UpdateLog(mgrCommon.FormatString(frmMain_GameEnded, oProcess.GameInfo.Name), False) UpdateLog(mgrCommon.FormatString(frmMain_GameEnded, oProcess.GameInfo.Name), False)
If oSettings.TimeTracking Then If oSettings.TimeTracking Then HandleTimeSpent()
HandleTimeSpent() If oSettings.SessionTracking Then HandleSession()
HandleSession()
End If
RunBackup() RunBackup()
Else Else
UpdateLog(frmMain_UnknownGameEnded, False) UpdateLog(frmMain_UnknownGameEnded, False)
+22 -9
View File
@@ -65,6 +65,7 @@ Partial Class frmSettings
Me.pnlGeneral = New System.Windows.Forms.Panel() Me.pnlGeneral = New System.Windows.Forms.Panel()
Me.grpGameData = New System.Windows.Forms.GroupBox() Me.grpGameData = New System.Windows.Forms.GroupBox()
Me.lstSettings = New System.Windows.Forms.ListBox() Me.lstSettings = New System.Windows.Forms.ListBox()
Me.chkSessionTracking = New System.Windows.Forms.CheckBox()
Me.grpStartup.SuspendLayout() Me.grpStartup.SuspendLayout()
Me.grpFolderOptions.SuspendLayout() Me.grpFolderOptions.SuspendLayout()
Me.grp7zGeneral.SuspendLayout() Me.grp7zGeneral.SuspendLayout()
@@ -123,7 +124,7 @@ Partial Class frmSettings
'chkAutoSaveLog 'chkAutoSaveLog
' '
Me.chkAutoSaveLog.AutoSize = True 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.Name = "chkAutoSaveLog"
Me.chkAutoSaveLog.Size = New System.Drawing.Size(231, 17) Me.chkAutoSaveLog.Size = New System.Drawing.Size(231, 17)
Me.chkAutoSaveLog.TabIndex = 3 Me.chkAutoSaveLog.TabIndex = 3
@@ -132,7 +133,7 @@ Partial Class frmSettings
' '
'btnOptionalFields '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.Name = "btnOptionalFields"
Me.btnOptionalFields.Size = New System.Drawing.Size(134, 23) Me.btnOptionalFields.Size = New System.Drawing.Size(134, 23)
Me.btnOptionalFields.TabIndex = 2 Me.btnOptionalFields.TabIndex = 2
@@ -152,7 +153,7 @@ Partial Class frmSettings
'chkSync 'chkSync
' '
Me.chkSync.AutoSize = True 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.Name = "chkSync"
Me.chkSync.Size = New System.Drawing.Size(98, 17) Me.chkSync.Size = New System.Drawing.Size(98, 17)
Me.chkSync.TabIndex = 1 Me.chkSync.TabIndex = 1
@@ -162,7 +163,7 @@ Partial Class frmSettings
'chkShowDetectionTips 'chkShowDetectionTips
' '
Me.chkShowDetectionTips.AutoSize = True 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.Name = "chkShowDetectionTips"
Me.chkShowDetectionTips.Size = New System.Drawing.Size(159, 17) Me.chkShowDetectionTips.Size = New System.Drawing.Size(159, 17)
Me.chkShowDetectionTips.TabIndex = 2 Me.chkShowDetectionTips.TabIndex = 2
@@ -401,9 +402,9 @@ Partial Class frmSettings
Me.grpBackupHandling.Controls.Add(Me.chkRestoreNotify) Me.grpBackupHandling.Controls.Add(Me.chkRestoreNotify)
Me.grpBackupHandling.Controls.Add(Me.chkAutoMark) Me.grpBackupHandling.Controls.Add(Me.chkAutoMark)
Me.grpBackupHandling.Location = New System.Drawing.Point(6, 88) 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.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.Size = New System.Drawing.Size(354, 87)
Me.grpBackupHandling.TabIndex = 1 Me.grpBackupHandling.TabIndex = 1
Me.grpBackupHandling.TabStop = False Me.grpBackupHandling.TabStop = False
@@ -413,7 +414,7 @@ Partial Class frmSettings
' '
Me.chkAutoRestore.AutoSize = True Me.chkAutoRestore.AutoSize = True
Me.chkAutoRestore.Location = New System.Drawing.Point(8, 41) 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.Name = "chkAutoRestore"
Me.chkAutoRestore.Size = New System.Drawing.Size(190, 17) Me.chkAutoRestore.Size = New System.Drawing.Size(190, 17)
Me.chkAutoRestore.TabIndex = 1 Me.chkAutoRestore.TabIndex = 1
@@ -424,7 +425,7 @@ Partial Class frmSettings
' '
Me.chkRestoreNotify.AutoSize = True Me.chkRestoreNotify.AutoSize = True
Me.chkRestoreNotify.Location = New System.Drawing.Point(8, 19) 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.Name = "chkRestoreNotify"
Me.chkRestoreNotify.Size = New System.Drawing.Size(216, 17) Me.chkRestoreNotify.Size = New System.Drawing.Size(216, 17)
Me.chkRestoreNotify.TabIndex = 0 Me.chkRestoreNotify.TabIndex = 0
@@ -489,12 +490,13 @@ Partial Class frmSettings
' '
'grpGameData 'grpGameData
' '
Me.grpGameData.Controls.Add(Me.chkSessionTracking)
Me.grpGameData.Controls.Add(Me.chkTimeTracking) Me.grpGameData.Controls.Add(Me.chkTimeTracking)
Me.grpGameData.Controls.Add(Me.chkSync) Me.grpGameData.Controls.Add(Me.chkSync)
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, 106)
Me.grpGameData.Name = "grpGameData" 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.TabIndex = 1
Me.grpGameData.TabStop = False Me.grpGameData.TabStop = False
Me.grpGameData.Text = "Game Data" Me.grpGameData.Text = "Game Data"
@@ -507,6 +509,16 @@ Partial Class frmSettings
Me.lstSettings.Size = New System.Drawing.Size(162, 303) Me.lstSettings.Size = New System.Drawing.Size(162, 303)
Me.lstSettings.TabIndex = 0 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 'frmSettings
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -592,4 +604,5 @@ Partial Class frmSettings
Friend WithEvents chkAutoMark As CheckBox Friend WithEvents chkAutoMark As CheckBox
Friend WithEvents chkAutoRestore As CheckBox Friend WithEvents chkAutoRestore As CheckBox
Friend WithEvents chkRestoreNotify As CheckBox Friend WithEvents chkRestoreNotify As CheckBox
Friend WithEvents chkSessionTracking As CheckBox
End Class End Class
+3
View File
@@ -51,6 +51,7 @@ Public Class frmSettings
oSettings.AutoRestore = chkAutoRestore.Checked oSettings.AutoRestore = chkAutoRestore.Checked
oSettings.AutoMark = chkAutoMark.Checked oSettings.AutoMark = chkAutoMark.Checked
oSettings.TimeTracking = chkTimeTracking.Checked oSettings.TimeTracking = chkTimeTracking.Checked
oSettings.SessionTracking = chkSessionTracking.Checked
oSettings.SupressBackup = chkSupressBackup.Checked oSettings.SupressBackup = chkSupressBackup.Checked
oSettings.SupressBackupThreshold = nudSupressBackupThreshold.Value oSettings.SupressBackupThreshold = nudSupressBackupThreshold.Value
oSettings.CompressionLevel = cboCompression.SelectedValue oSettings.CompressionLevel = cboCompression.SelectedValue
@@ -177,6 +178,7 @@ Public Class frmSettings
txtBackupFolder.Text = oSettings.BackupFolder txtBackupFolder.Text = oSettings.BackupFolder
chkSync.Checked = oSettings.Sync chkSync.Checked = oSettings.Sync
chkTimeTracking.Checked = oSettings.TimeTracking chkTimeTracking.Checked = oSettings.TimeTracking
chkSessionTracking.Checked = oSettings.SessionTracking
chkSupressBackup.Checked = oSettings.SupressBackup chkSupressBackup.Checked = oSettings.SupressBackup
nudSupressBackupThreshold.Value = oSettings.SupressBackupThreshold nudSupressBackupThreshold.Value = oSettings.SupressBackupThreshold
nudSupressBackupThreshold.Enabled = chkSupressBackup.Checked nudSupressBackupThreshold.Enabled = chkSupressBackup.Checked
@@ -289,6 +291,7 @@ Public Class frmSettings
grpStartup.Text = frmSettings_grpStartup grpStartup.Text = frmSettings_grpStartup
grpGameData.Text = frmSettings_grpGameData grpGameData.Text = frmSettings_grpGameData
chkTimeTracking.Text = frmSettings_chkTimeTracking chkTimeTracking.Text = frmSettings_chkTimeTracking
chkSessionTracking.Text = frmSettings_chkSessionTracking
chkStartWindows.Text = frmSettings_chkStartWindows chkStartWindows.Text = frmSettings_chkStartWindows
chkSync.Text = frmSettings_chkSync chkSync.Text = frmSettings_chkSync
chkShowDetectionTips.Text = frmSettings_chkShowDetectionTips chkShowDetectionTips.Text = frmSettings_chkShowDetectionTips
+2 -1
View File
@@ -74,7 +74,7 @@ Public Class mgrSQLite
"DisableConfirmation BOOLEAN NOT NULL, CreateSubFolder BOOLEAN NOT NULL, ShowOverwriteWarning BOOLEAN NOT NULL, RestoreOnLaunch BOOLEAN NOT NULL, " & "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, " & "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, " & "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) '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);"
@@ -715,6 +715,7 @@ Public Class mgrSQLite
'Add new field(s) 'Add new field(s)
sSQL &= "ALTER TABLE monitorlist ADD COLUMN Comments TEXT;" sSQL &= "ALTER TABLE monitorlist ADD COLUMN Comments TEXT;"
sSQL &= "ALTER TABLE settings ADD COLUMN SessionTracking BOOLEAN DEFAULT 0;"
sSQL &= "PRAGMA user_version=105" sSQL &= "PRAGMA user_version=105"
+13 -1
View File
@@ -13,6 +13,7 @@ Public Class mgrSettings
Private bAutoMark As Boolean = False Private bAutoMark As Boolean = False
Private bSync As Boolean = True Private bSync As Boolean = True
Private bTimeTracking As Boolean = True Private bTimeTracking As Boolean = True
Private bSessionTracking As Boolean = True
Private bSupressBackup As Boolean = False Private bSupressBackup As Boolean = False
Private iSupressBackupThreshold As Integer = 10 Private iSupressBackupThreshold As Integer = 10
Private iCompressionLevel As Integer = 5 Private iCompressionLevel As Integer = 5
@@ -130,6 +131,15 @@ Public Class mgrSettings
End Set End Set
End Property 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 Property SupressBackup As Boolean
Get Get
Return bSupressBackup Return bSupressBackup
@@ -261,7 +271,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, @Sync, @StartWithWindows, " sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @Sync, @StartWithWindows, "
sSQL &= "@TimeTracking, @SupressBackup, @SupressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, " sSQL &= "@TimeTracking, @SupressBackup, @SupressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, "
sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark)" sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking)"
hshParams.Add("MonitorOnStartup", MonitorOnStartup) hshParams.Add("MonitorOnStartup", MonitorOnStartup)
hshParams.Add("StartToTray", StartToTray) hshParams.Add("StartToTray", StartToTray)
@@ -283,6 +293,7 @@ Public Class mgrSettings
hshParams.Add("AutoSaveLog", AutoSaveLog) hshParams.Add("AutoSaveLog", AutoSaveLog)
hshParams.Add("AutoRestore", AutoRestore) hshParams.Add("AutoRestore", AutoRestore)
hshParams.Add("AutoMark", AutoMark) hshParams.Add("AutoMark", AutoMark)
hshParams.Add("SessionTracking", SessionTracking)
oDatabase.RunParamQuery(sSQL, hshParams) oDatabase.RunParamQuery(sSQL, hshParams)
End Sub End Sub
@@ -317,6 +328,7 @@ Public Class mgrSettings
AutoSaveLog = CBool(dr("AutoSaveLog")) AutoSaveLog = CBool(dr("AutoSaveLog"))
AutoRestore = CBool(dr("AutoRestore")) AutoRestore = CBool(dr("AutoRestore"))
AutoMark = CBool(dr("AutoMark")) AutoMark = CBool(dr("AutoMark"))
SessionTracking = CBool(dr("SessionTracking"))
Next Next
oDatabase.Disconnect() oDatabase.Disconnect()
+18
View File
@@ -3615,6 +3615,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to Session tracking is currently disabled.[BR][BR]Enable session tracking in Settings if you&apos;d like to track data for individual gaming sessions..
'''</summary>
Friend ReadOnly Property frmMain_WarningSessionsDisabled() As String
Get
Return ResourceManager.GetString("frmMain_WarningSessionsDisabled", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to &amp;Close. ''' Looks up a localized string similar to &amp;Close.
'''</summary> '''</summary>
@@ -3912,6 +3921,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to Enable session tracking.
'''</summary>
Friend ReadOnly Property frmSettings_chkSessionTracking() As String
Get
Return ResourceManager.GetString("frmSettings_chkSessionTracking", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Show detection notifications. ''' Looks up a localized string similar to Show detection notifications.
'''</summary> '''</summary>
+6
View File
@@ -1939,4 +1939,10 @@
<data name="frmSessions_lblFilter" xml:space="preserve"> <data name="frmSessions_lblFilter" xml:space="preserve">
<value>Game Filter:</value> <value>Game Filter:</value>
</data> </data>
<data name="frmMain_WarningSessionsDisabled" xml:space="preserve">
<value>Session tracking is currently disabled.[BR][BR]Enable session tracking in Settings if you'd like to track data for individual gaming sessions.</value>
</data>
<data name="frmSettings_chkSessionTracking" xml:space="preserve">
<value>Enable session tracking</value>
</data>
</root> </root>