Changes to new setting

This commit is contained in:
MikeMaximus
2018-03-12 14:49:18 -06:00
parent 8e26e97fd4
commit 2f66855166
8 changed files with 44 additions and 41 deletions
+13 -13
View File
@@ -32,6 +32,7 @@ Partial Class frmSettings
Me.chkTimeTracking = New System.Windows.Forms.CheckBox() Me.chkTimeTracking = New System.Windows.Forms.CheckBox()
Me.chkShowDetectionTips = New System.Windows.Forms.CheckBox() Me.chkShowDetectionTips = New System.Windows.Forms.CheckBox()
Me.grpFolderOptions = New System.Windows.Forms.GroupBox() Me.grpFolderOptions = New System.Windows.Forms.GroupBox()
Me.chkUseGameID = New System.Windows.Forms.CheckBox()
Me.btnBackupFolder = New System.Windows.Forms.Button() Me.btnBackupFolder = New System.Windows.Forms.Button()
Me.lblBackupFolder = New System.Windows.Forms.Label() Me.lblBackupFolder = New System.Windows.Forms.Label()
Me.txtBackupFolder = New System.Windows.Forms.TextBox() Me.txtBackupFolder = New System.Windows.Forms.TextBox()
@@ -67,7 +68,6 @@ Partial Class frmSettings
Me.chkSessionTracking = New System.Windows.Forms.CheckBox() Me.chkSessionTracking = New System.Windows.Forms.CheckBox()
Me.lstSettings = New System.Windows.Forms.ListBox() Me.lstSettings = New System.Windows.Forms.ListBox()
Me.btnResetMessages = New System.Windows.Forms.Button() Me.btnResetMessages = New System.Windows.Forms.Button()
Me.chkUseNames = New System.Windows.Forms.CheckBox()
Me.grpStartup.SuspendLayout() Me.grpStartup.SuspendLayout()
Me.grpFolderOptions.SuspendLayout() Me.grpFolderOptions.SuspendLayout()
Me.grp7zGeneral.SuspendLayout() Me.grp7zGeneral.SuspendLayout()
@@ -175,7 +175,7 @@ Partial Class frmSettings
' '
'grpFolderOptions 'grpFolderOptions
' '
Me.grpFolderOptions.Controls.Add(Me.chkUseNames) Me.grpFolderOptions.Controls.Add(Me.chkUseGameID)
Me.grpFolderOptions.Controls.Add(Me.btnBackupFolder) Me.grpFolderOptions.Controls.Add(Me.btnBackupFolder)
Me.grpFolderOptions.Controls.Add(Me.lblBackupFolder) Me.grpFolderOptions.Controls.Add(Me.lblBackupFolder)
Me.grpFolderOptions.Controls.Add(Me.txtBackupFolder) Me.grpFolderOptions.Controls.Add(Me.txtBackupFolder)
@@ -187,6 +187,16 @@ Partial Class frmSettings
Me.grpFolderOptions.TabStop = False Me.grpFolderOptions.TabStop = False
Me.grpFolderOptions.Text = "Files and Folders" Me.grpFolderOptions.Text = "Files and Folders"
' '
'chkUseGameID
'
Me.chkUseGameID.AutoSize = True
Me.chkUseGameID.Location = New System.Drawing.Point(9, 65)
Me.chkUseGameID.Name = "chkUseGameID"
Me.chkUseGameID.Size = New System.Drawing.Size(205, 17)
Me.chkUseGameID.TabIndex = 3
Me.chkUseGameID.Text = "Use Game ID for folder and file names"
Me.chkUseGameID.UseVisualStyleBackColor = True
'
'btnBackupFolder 'btnBackupFolder
' '
Me.btnBackupFolder.Location = New System.Drawing.Point(313, 17) Me.btnBackupFolder.Location = New System.Drawing.Point(313, 17)
@@ -531,16 +541,6 @@ Partial Class frmSettings
Me.btnResetMessages.Text = "&Reset Warnings" Me.btnResetMessages.Text = "&Reset Warnings"
Me.btnResetMessages.UseVisualStyleBackColor = True Me.btnResetMessages.UseVisualStyleBackColor = True
' '
'chkUseNames
'
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 'frmSettings
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -629,5 +629,5 @@ Partial Class frmSettings
Friend WithEvents chkSupressBackup As CheckBox Friend WithEvents chkSupressBackup As CheckBox
Friend WithEvents btnResetMessages As Button Friend WithEvents btnResetMessages As Button
Friend WithEvents chkBackupOnLaunch As CheckBox Friend WithEvents chkBackupOnLaunch As CheckBox
Friend WithEvents chkUseNames As CheckBox Friend WithEvents chkUseGameID As CheckBox
End Class End Class
+3 -3
View File
@@ -52,7 +52,7 @@ Public Class frmSettings
oSettings.AutoSaveLog = chkAutoSaveLog.Checked oSettings.AutoSaveLog = chkAutoSaveLog.Checked
oSettings.DisableConfirmation = chkBackupConfirm.Checked oSettings.DisableConfirmation = chkBackupConfirm.Checked
oSettings.CreateSubFolder = chkCreateFolder.Checked oSettings.CreateSubFolder = chkCreateFolder.Checked
oSettings.UseNames = chkUseNames.Checked oSettings.UseGameID = chkUseGameID.Checked
oSettings.ShowOverwriteWarning = chkOverwriteWarning.Checked oSettings.ShowOverwriteWarning = chkOverwriteWarning.Checked
oSettings.RestoreOnLaunch = chkRestoreNotify.Checked oSettings.RestoreOnLaunch = chkRestoreNotify.Checked
oSettings.AutoRestore = chkAutoRestore.Checked oSettings.AutoRestore = chkAutoRestore.Checked
@@ -179,7 +179,7 @@ Public Class frmSettings
chkAutoSaveLog.Checked = oSettings.AutoSaveLog chkAutoSaveLog.Checked = oSettings.AutoSaveLog
chkBackupConfirm.Checked = oSettings.DisableConfirmation chkBackupConfirm.Checked = oSettings.DisableConfirmation
chkCreateFolder.Checked = oSettings.CreateSubFolder chkCreateFolder.Checked = oSettings.CreateSubFolder
chkUseNames.Checked = oSettings.UseNames chkUseGameID.Checked = oSettings.UseGameID
chkOverwriteWarning.Checked = oSettings.ShowOverwriteWarning chkOverwriteWarning.Checked = oSettings.ShowOverwriteWarning
chkRestoreNotify.Checked = oSettings.RestoreOnLaunch chkRestoreNotify.Checked = oSettings.RestoreOnLaunch
chkAutoRestore.Checked = oSettings.AutoRestore chkAutoRestore.Checked = oSettings.AutoRestore
@@ -280,7 +280,7 @@ Public Class frmSettings
chkAutoMark.Text = frmSettings_chkAutoMark chkAutoMark.Text = frmSettings_chkAutoMark
chkOverwriteWarning.Text = frmSettings_chkOverwriteWarning chkOverwriteWarning.Text = frmSettings_chkOverwriteWarning
chkCreateFolder.Text = frmSettings_chkCreateFolder chkCreateFolder.Text = frmSettings_chkCreateFolder
chkUseNames.Text = frmSettings_chkUseNames chkUseGameID.Text = frmSettings_chkUseGameID
chkBackupConfirm.Text = frmSettings_chkBackupConfirm chkBackupConfirm.Text = frmSettings_chkBackupConfirm
btnCancel.Text = frmSettings_btnCancel btnCancel.Text = frmSettings_btnCancel
btnSave.Text = frmSettings_btnSave btnSave.Text = frmSettings_btnSave
+3 -3
View File
@@ -104,10 +104,10 @@ Public Class mgrBackup
Private Function GetFileName(ByVal oGame As clsGame) As String Private Function GetFileName(ByVal oGame As clsGame) As String
Dim sName As String Dim sName As String
If oSettings.UseNames Then If oSettings.UseGameID Then
sName = oGame.FileSafeName
Else
sName = oGame.ID sName = oGame.ID
Else
sName = oGame.FileSafeName
End If End If
Return sName Return sName
+4 -4
View File
@@ -75,7 +75,7 @@ Public Class mgrSQLite
"BackupFolder TEXT NOT NULL, StartWithWindows BOOLEAN NOT NULL, TimeTracking BOOLEAN NOT NULL, " & "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, " & "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, " & "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, UseNames BOOLEAN NOT NULL);" "SupressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID 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);"
@@ -783,12 +783,12 @@ Public Class mgrSQLite
"BackupFolder TEXT NOT NULL, StartWithWindows BOOLEAN NOT NULL, TimeTracking BOOLEAN NOT NULL, " & "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, " & "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, " & "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, UseNames BOOLEAN NOT NULL);" "SupressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL);"
sSQL &= "INSERT INTO settings_new(SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " & sSQL &= "INSERT INTO settings_new(SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " &
"BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " & "BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " &
"AutoRestore, AutoMark, SessionTracking, SupressMessages, BackupOnLaunch, UseNames) SELECT SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " & "AutoRestore, AutoMark, SessionTracking, SupressMessages, BackupOnLaunch, UseGameID) SELECT SettingsID, MonitorOnStartup, StartToTray, ShowDetectionToolTips, DisableConfirmation, CreateSubFolder, ShowOverwriteWarning, RestoreOnLaunch, " &
"BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " & "BackupFolder, StartWithWindows, TimeTracking, SupressBackup, SupressBackupThreshold, CompressionLevel, Custom7zArguments, Custom7zLocation, SyncFields, AutoSaveLog, " &
"AutoRestore, AutoMark, SessionTracking, 0, 1, 1 FROM settings;" & "AutoRestore, AutoMark, SessionTracking, 0, 1, 0 FROM settings;" &
"DROP TABLE settings; ALTER TABLE settings_new RENAME TO 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, " & 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, " & "AbsolutePath BOOLEAN NOT NULL, FolderSave BOOLEAN NOT NULL, FileType TEXT, TimeStamp BOOLEAN NOT NULL, ExcludeList TEXT NOT NULL, " &
+7 -7
View File
@@ -23,7 +23,7 @@ Public Class mgrSettings
Private eMessages As eSupressMessages = eSupressMessages.None Private eMessages As eSupressMessages = eSupressMessages.None
Private bAutoSaveLog As Boolean = False Private bAutoSaveLog As Boolean = False
Private bBackupOnLaunch As Boolean = True Private bBackupOnLaunch As Boolean = True
Private bUseNames As Boolean = False Private bUseGameID As Boolean = False
<Flags()> Public Enum eSupressMessages <Flags()> Public Enum eSupressMessages
None = 0 None = 0
@@ -276,12 +276,12 @@ Public Class mgrSettings
End Set End Set
End Property End Property
Property UseNames As Boolean Property UseGameID As Boolean
Get Get
Return bUseNames Return bUseGameID
End Get End Get
Set(value As Boolean) Set(value As Boolean)
bUseNames = value bUseGameID = value
End Set End Set
End Property End Property
@@ -301,7 +301,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, @StartWithWindows, " sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @StartWithWindows, "
sSQL &= "@TimeTracking, @SupressBackup, @SupressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, " sSQL &= "@TimeTracking, @SupressBackup, @SupressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, "
sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SupressMessages, @BackupOnLaunch, @UseNames)" sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SupressMessages, @BackupOnLaunch, @UseGameID)"
hshParams.Add("MonitorOnStartup", MonitorOnStartup) hshParams.Add("MonitorOnStartup", MonitorOnStartup)
hshParams.Add("StartToTray", StartToTray) hshParams.Add("StartToTray", StartToTray)
@@ -325,7 +325,7 @@ Public Class mgrSettings
hshParams.Add("SessionTracking", SessionTracking) hshParams.Add("SessionTracking", SessionTracking)
hshParams.Add("SupressMessages", SupressMessages) hshParams.Add("SupressMessages", SupressMessages)
hshParams.Add("BackupOnLaunch", BackupOnLaunch) hshParams.Add("BackupOnLaunch", BackupOnLaunch)
hshParams.Add("UseNames", UseNames) hshParams.Add("UseGameID", UseGameID)
oDatabase.RunParamQuery(sSQL, hshParams) oDatabase.RunParamQuery(sSQL, hshParams)
End Sub End Sub
@@ -362,7 +362,7 @@ Public Class mgrSettings
SessionTracking = CBool(dr("SessionTracking")) SessionTracking = CBool(dr("SessionTracking"))
SupressMessages = CInt(dr("SupressMessages")) SupressMessages = CInt(dr("SupressMessages"))
BackupOnLaunch = CBool(dr("BackupOnLaunch")) BackupOnLaunch = CBool(dr("BackupOnLaunch"))
UseNames = CBool(dr("UseNames")) UseGameID = CBool(dr("UseGameID"))
Next Next
oDatabase.Disconnect() oDatabase.Disconnect()
+3 -3
View File
@@ -4543,11 +4543,11 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Use Name instead of ID for folder and file names. ''' Looks up a localized string similar to Use Game ID for folder and file names.
'''</summary> '''</summary>
Friend ReadOnly Property frmSettings_chkUseNames() As String Friend ReadOnly Property frmSettings_chkUseGameID() As String
Get Get
Return ResourceManager.GetString("frmSettings_chkUseNames", resourceCulture) Return ResourceManager.GetString("frmSettings_chkUseGameID", resourceCulture)
End Get End Get
End Property End Property
+2 -2
View File
@@ -2164,7 +2164,7 @@
<data name="frmMain_ProcessStarted" xml:space="preserve"> <data name="frmMain_ProcessStarted" xml:space="preserve">
<value>[PARAM] has been started.</value> <value>[PARAM] has been started.</value>
</data> </data>
<data name="frmSettings_chkUseNames" xml:space="preserve"> <data name="frmSettings_chkUseGameID" xml:space="preserve">
<value>Use Name instead of ID for folder and file names</value> <value>Use Game ID for folder and file names</value>
</data> </data>
</root> </root>
+9 -6
View File
@@ -2,7 +2,7 @@ Game Backup Monitor v1.1.0 Readme
http://mikemaximus.github.io/gbm-web/ http://mikemaximus.github.io/gbm-web/
gamebackupmonitor@gmail.com gamebackupmonitor@gmail.com
March 8th, 2018 March 12th, 2018
New in 1.1.0 New in 1.1.0
@@ -19,7 +19,10 @@ All Platforms:
- Core Design Changes (Game Configuration) - Core Design Changes (Game Configuration)
- Game ID is now exposed to the user and can be changed. This feature is mainly for developer and contributer usage. - Game ID is now exposed to the user and can be changed. This feature is mainly for developer and contributer usage.
- Game ID is generated automatically by GBM or acquired from an import, the user doesn't need to set it unless they want to. - Game ID is generated automatically by GBM or acquired from an import, the user doesn't need to set it unless they want to.
- Game ID is now used to name game backup files and folders. - Game ID (instead of Game Name) can now be used to name backup files and folders.
- GBM will continue to use the name by default for ease of use.
- This behavior can be toggled in the "Backup and Restore" section of Settings.
- Using the game Name for backup files has a minor risk associated with it. See "Known Issue #2 and #5" for more details.
- Game Name can now contain any character. - Game Name can now contain any character.
- When a game is deleted via Game Manager (or sync), all backup manifest entries for that particular game are now deleted. The backup files themselves are not. - When a game is deleted via Game Manager (or sync), all backup manifest entries for that particular game are now deleted. The backup files themselves are not.
- The Game Manager now syncs changes to the remote database immediately, instead of only when closed. - The Game Manager now syncs changes to the remote database immediately, instead of only when closed.
@@ -73,15 +76,15 @@ Known Issues:
- The local backup manifest data for the changed game(s) on that PC will be lost. GBM will see any backups for the changed game(s) as new and will handle them accordingly. - The local backup manifest data for the changed game(s) on that PC will be lost. GBM will see any backups for the changed game(s) as new and will handle them accordingly.
- Any processes assigned to the changed games(s) on that PC will be lost. - Any processes assigned to the changed games(s) on that PC will be lost.
Once your PCs are back in sync, this will no longer be an issue unless you are constantly changing your Game IDs, which is not recommended. Once your PCs are back in sync, this will no longer be an issue unless you are constantly changing your Game IDs, which is not recommended.
2. Backup files made prior to v1.1.0 are not being renamed or removed when a new backup is created. 2. Backup files are not being renamed or removed when a new backup is created.
- This is due to file name now being generated by the Game ID and not the name. - This happens on the first backup after toggling between using the Name or ID for your file names. It's best to choose one setting and stick with it.
- Only backups made prior to v1.1.0 are affected by this issue.
- After new backup files are created, these files can be deleted at the user's discretion.
3. Configurations on the official game list are no longer fully compatible with older GBM versions. 3. Configurations on the official game list are no longer fully compatible with older GBM versions.
- Technically they will work. But any game imported with a special character in it's name, such as a colon, will not create backup files correctly. - Technically they will work. But any game imported with a special character in it's name, such as a colon, will not create backup files correctly.
- These characters can be manually removed from the game name after importing, then the configurations will function properly. - These characters can be manually removed from the game name after importing, then the configurations will function properly.
4. The error "The requested operation requires elevation" occurs when GBM tries to launch a process associated with a game. 4. The error "The requested operation requires elevation" occurs when GBM tries to launch a process associated with a game.
- This means the process you're trying to launch with GBM requires administrator privilege. - This means the process you're trying to launch with GBM requires administrator privilege.
- Click the blue "user" icon on the bottom left of the GBM window to quickly switch to administrator mode. - Click the blue "user" icon on the bottom left of the GBM window to quickly switch to administrator mode.
5. Game configurations using the same name, and configurations that end up with the same name when special characters are stripped will overwrite each other's backup files.
- For most users this should be a non-issue. Toggle "Use Game ID for folder and file names" to on in the Settings screen if this is a problem for you.
The entire version history of GBM releases is available at http://mikemaximus.github.io/gbm-web/versionhistory.html The entire version history of GBM releases is available at http://mikemaximus.github.io/gbm-web/versionhistory.html