Added file name option to settings

This commit is contained in:
Michael J. Seiferling
2018-03-12 13:03:32 -06:00
parent 9eb095523e
commit 8e26e97fd4
8 changed files with 85 additions and 27 deletions
+6
View File
@@ -62,6 +62,12 @@ Public Class clsGame
End Get
End Property
ReadOnly Property FileSafeName As String
Get
Return mgrPath.ValidateForFileSystem(sGameName)
End Get
End Property
Property Name As String
Set(value As String)
sGameName = value
+28 -15
View File
@@ -24,6 +24,7 @@ Partial Class frmSettings
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()
@@ -66,7 +67,7 @@ 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.chkBackupOnLaunch = New System.Windows.Forms.CheckBox()
Me.chkUseNames = New System.Windows.Forms.CheckBox()
Me.grpStartup.SuspendLayout()
Me.grpFolderOptions.SuspendLayout()
Me.grp7zGeneral.SuspendLayout()
@@ -103,6 +104,16 @@ Partial Class frmSettings
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
@@ -164,16 +175,17 @@ Partial Class frmSettings
'
'grpFolderOptions
'
Me.grpFolderOptions.Controls.Add(Me.chkUseNames)
Me.grpFolderOptions.Controls.Add(Me.btnBackupFolder)
Me.grpFolderOptions.Controls.Add(Me.lblBackupFolder)
Me.grpFolderOptions.Controls.Add(Me.txtBackupFolder)
Me.grpFolderOptions.Controls.Add(Me.chkCreateFolder)
Me.grpFolderOptions.Location = New System.Drawing.Point(6, 12)
Me.grpFolderOptions.Name = "grpFolderOptions"
Me.grpFolderOptions.Size = New System.Drawing.Size(354, 70)
Me.grpFolderOptions.Size = New System.Drawing.Size(354, 90)
Me.grpFolderOptions.TabIndex = 0
Me.grpFolderOptions.TabStop = False
Me.grpFolderOptions.Text = "Folders"
Me.grpFolderOptions.Text = "Files and Folders"
'
'btnBackupFolder
'
@@ -341,7 +353,7 @@ Partial Class frmSettings
'chkBackupConfirm
'
Me.chkBackupConfirm.AutoSize = True
Me.chkBackupConfirm.Location = New System.Drawing.Point(14, 180)
Me.chkBackupConfirm.Location = New System.Drawing.Point(14, 199)
Me.chkBackupConfirm.Name = "chkBackupConfirm"
Me.chkBackupConfirm.Size = New System.Drawing.Size(160, 17)
Me.chkBackupConfirm.TabIndex = 2
@@ -351,7 +363,7 @@ Partial Class frmSettings
'chkOverwriteWarning
'
Me.chkOverwriteWarning.AutoSize = True
Me.chkOverwriteWarning.Location = New System.Drawing.Point(14, 203)
Me.chkOverwriteWarning.Location = New System.Drawing.Point(14, 222)
Me.chkOverwriteWarning.Name = "chkOverwriteWarning"
Me.chkOverwriteWarning.Size = New System.Drawing.Size(139, 17)
Me.chkOverwriteWarning.TabIndex = 3
@@ -363,7 +375,7 @@ Partial Class frmSettings
Me.grpBackupHandling.Controls.Add(Me.chkAutoRestore)
Me.grpBackupHandling.Controls.Add(Me.chkRestoreNotify)
Me.grpBackupHandling.Controls.Add(Me.chkAutoMark)
Me.grpBackupHandling.Location = New System.Drawing.Point(6, 88)
Me.grpBackupHandling.Location = New System.Drawing.Point(6, 107)
Me.grpBackupHandling.Margin = New System.Windows.Forms.Padding(2)
Me.grpBackupHandling.Name = "grpBackupHandling"
Me.grpBackupHandling.Padding = New System.Windows.Forms.Padding(2)
@@ -519,24 +531,24 @@ Partial Class frmSettings
Me.btnResetMessages.Text = "&Reset Warnings"
Me.btnResetMessages.UseVisualStyleBackColor = True
'
'chkBackupOnLaunch
'chkUseNames
'
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
Me.chkUseNames.AutoSize = True
Me.chkUseNames.Location = New System.Drawing.Point(9, 65)
Me.chkUseNames.Name = "chkUseNames"
Me.chkUseNames.Size = New System.Drawing.Size(254, 17)
Me.chkUseNames.TabIndex = 3
Me.chkUseNames.Text = "Use Name instead of ID for folder and file names"
Me.chkUseNames.UseVisualStyleBackColor = True
'
'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.pnlBackup)
Me.Controls.Add(Me.btnResetMessages)
Me.Controls.Add(Me.pnlGeneral)
Me.Controls.Add(Me.pnlBackup)
Me.Controls.Add(Me.pnl7z)
Me.Controls.Add(Me.lstSettings)
Me.Controls.Add(Me.btnDefaults)
@@ -617,4 +629,5 @@ Partial Class frmSettings
Friend WithEvents chkSupressBackup As CheckBox
Friend WithEvents btnResetMessages As Button
Friend WithEvents chkBackupOnLaunch As CheckBox
Friend WithEvents chkUseNames As CheckBox
End Class
+3
View File
@@ -52,6 +52,7 @@ Public Class frmSettings
oSettings.AutoSaveLog = chkAutoSaveLog.Checked
oSettings.DisableConfirmation = chkBackupConfirm.Checked
oSettings.CreateSubFolder = chkCreateFolder.Checked
oSettings.UseNames = chkUseNames.Checked
oSettings.ShowOverwriteWarning = chkOverwriteWarning.Checked
oSettings.RestoreOnLaunch = chkRestoreNotify.Checked
oSettings.AutoRestore = chkAutoRestore.Checked
@@ -178,6 +179,7 @@ Public Class frmSettings
chkAutoSaveLog.Checked = oSettings.AutoSaveLog
chkBackupConfirm.Checked = oSettings.DisableConfirmation
chkCreateFolder.Checked = oSettings.CreateSubFolder
chkUseNames.Checked = oSettings.UseNames
chkOverwriteWarning.Checked = oSettings.ShowOverwriteWarning
chkRestoreNotify.Checked = oSettings.RestoreOnLaunch
chkAutoRestore.Checked = oSettings.AutoRestore
@@ -278,6 +280,7 @@ Public Class frmSettings
chkAutoMark.Text = frmSettings_chkAutoMark
chkOverwriteWarning.Text = frmSettings_chkOverwriteWarning
chkCreateFolder.Text = frmSettings_chkCreateFolder
chkUseNames.Text = frmSettings_chkUseNames
chkBackupConfirm.Text = frmSettings_chkBackupConfirm
btnCancel.Text = frmSettings_btnCancel
btnSave.Text = frmSettings_btnSave
+17 -5
View File
@@ -101,14 +101,26 @@ Public Class mgrBackup
Return sSavePath
End Function
Private Function GetFileName(ByVal oGame As clsGame) As String
Dim sName As String
If oSettings.UseNames Then
sName = oGame.FileSafeName
Else
sName = oGame.ID
End If
Return sName
End Function
Public Function CheckBackupPrereq(ByVal oGame As clsGame) As Boolean
Dim sBackupFile As String = oSettings.BackupFolder
Dim sSavePath As String
Dim lAvailableSpace As Long
Dim lFolderSize As Long
If oSettings.CreateSubFolder Then sBackupFile = sBackupFile & Path.DirectorySeparatorChar & oGame.ID
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & oGame.ID & ".7z"
If oSettings.CreateSubFolder Then sBackupFile = sBackupFile & Path.DirectorySeparatorChar & GetFileName(oGame)
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & GetFileName(oGame) & ".7z"
'Verify saved game path
sSavePath = VerifySavePath(oGame)
@@ -199,7 +211,7 @@ Public Class mgrBackup
RaiseEvent UpdateBackupInfo(oGame)
If oSettings.CreateSubFolder Then
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & oGame.ID
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & GetFileName(oGame)
Try
If Not Directory.Exists(sBackupFile) Then
Directory.CreateDirectory(sBackupFile)
@@ -212,9 +224,9 @@ Public Class mgrBackup
If oGame.AppendTimeStamp Then
CheckOldBackups(oGame)
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & oGame.ID & sTimeStamp & ".7z"
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & GetFileName(oGame) & sTimeStamp & ".7z"
Else
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & oGame.ID & ".7z"
sBackupFile = sBackupFile & Path.DirectorySeparatorChar & GetFileName(oGame) & ".7z"
End If
If bDoBackup Then
+4 -4
View File
@@ -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);"
"SupressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseNames 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);"
"SupressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseNames 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) SELECT SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " &
"AutoRestore, AutoMark, SessionTracking, SupressMessages, BackupOnLaunch, UseNames) SELECT SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " &
"BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " &
"AutoRestore, AutoMark, SessionTracking, 0, 1 FROM settings;" &
"AutoRestore, AutoMark, SessionTracking, 0, 1, 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, " &
+13 -1
View File
@@ -23,6 +23,7 @@ Public Class mgrSettings
Private eMessages As eSupressMessages = eSupressMessages.None
Private bAutoSaveLog As Boolean = False
Private bBackupOnLaunch As Boolean = True
Private bUseNames As Boolean = False
<Flags()> Public Enum eSupressMessages
None = 0
@@ -275,6 +276,15 @@ Public Class mgrSettings
End Set
End Property
Property UseNames As Boolean
Get
Return bUseNames
End Get
Set(value As Boolean)
bUseNames = value
End Set
End Property
Sub New()
'The GameIDsync message should be supressed on all new databases
SupressMessages = SetMessageField(SupressMessages, eSupressMessages.GameIDSync)
@@ -291,7 +301,7 @@ Public Class mgrSettings
sSQL = "INSERT 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)"
sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SupressMessages, @BackupOnLaunch, @UseNames)"
hshParams.Add("MonitorOnStartup", MonitorOnStartup)
hshParams.Add("StartToTray", StartToTray)
@@ -315,6 +325,7 @@ Public Class mgrSettings
hshParams.Add("SessionTracking", SessionTracking)
hshParams.Add("SupressMessages", SupressMessages)
hshParams.Add("BackupOnLaunch", BackupOnLaunch)
hshParams.Add("UseNames", UseNames)
oDatabase.RunParamQuery(sSQL, hshParams)
End Sub
@@ -351,6 +362,7 @@ Public Class mgrSettings
SessionTracking = CBool(dr("SessionTracking"))
SupressMessages = CInt(dr("SupressMessages"))
BackupOnLaunch = CBool(dr("BackupOnLaunch"))
UseNames = CBool(dr("UseNames"))
Next
oDatabase.Disconnect()
+10 -1
View File
@@ -4542,6 +4542,15 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Use Name instead of ID for folder and file names.
'''</summary>
Friend ReadOnly Property frmSettings_chkUseNames() As String
Get
Return ResourceManager.GetString("frmSettings_chkUseNames", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Do you want to revert all settings to their defaults?.
'''</summary>
@@ -4624,7 +4633,7 @@ Namespace My.Resources
End Property
'''<summary>
''' Looks up a localized string similar to Folders.
''' Looks up a localized string similar to Files and Folders.
'''</summary>
Friend ReadOnly Property frmSettings_grpFolderOptions() As String
Get
+4 -1
View File
@@ -1094,7 +1094,7 @@
<value>Startup</value>
</data>
<data name="frmSettings_grpFolderOptions" xml:space="preserve">
<value>Folders</value>
<value>Files and Folders</value>
</data>
<data name="frmSettings_lblBackupFolder" xml:space="preserve">
<value>Backup Folder:</value>
@@ -2164,4 +2164,7 @@
<data name="frmMain_ProcessStarted" xml:space="preserve">
<value>[PARAM] has been started.</value>
</data>
<data name="frmSettings_chkUseNames" xml:space="preserve">
<value>Use Name instead of ID for folder and file names</value>
</data>
</root>