From 2f668551662482a21b540f4e753ed56da6a5934c Mon Sep 17 00:00:00 2001 From: MikeMaximus Date: Mon, 12 Mar 2018 14:49:18 -0600 Subject: [PATCH] Changes to new setting --- GBM/Forms/frmSettings.Designer.vb | 26 +++++++++++++------------- GBM/Forms/frmSettings.vb | 6 +++--- GBM/Managers/mgrBackup.vb | 6 +++--- GBM/Managers/mgrSQLite.vb | 8 ++++---- GBM/Managers/mgrSettings.vb | 14 +++++++------- GBM/My Project/Resources.Designer.vb | 6 +++--- GBM/My Project/Resources.resx | 4 ++-- GBM/readme.txt | 15 +++++++++------ 8 files changed, 44 insertions(+), 41 deletions(-) diff --git a/GBM/Forms/frmSettings.Designer.vb b/GBM/Forms/frmSettings.Designer.vb index 73ee18e..1b1ad24 100644 --- a/GBM/Forms/frmSettings.Designer.vb +++ b/GBM/Forms/frmSettings.Designer.vb @@ -32,6 +32,7 @@ Partial Class frmSettings Me.chkTimeTracking = New System.Windows.Forms.CheckBox() Me.chkShowDetectionTips = New System.Windows.Forms.CheckBox() Me.grpFolderOptions = New System.Windows.Forms.GroupBox() + Me.chkUseGameID = New System.Windows.Forms.CheckBox() Me.btnBackupFolder = New System.Windows.Forms.Button() Me.lblBackupFolder = New System.Windows.Forms.Label() Me.txtBackupFolder = New System.Windows.Forms.TextBox() @@ -67,7 +68,6 @@ 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.chkUseNames = New System.Windows.Forms.CheckBox() Me.grpStartup.SuspendLayout() Me.grpFolderOptions.SuspendLayout() Me.grp7zGeneral.SuspendLayout() @@ -175,7 +175,7 @@ Partial Class frmSettings ' 'grpFolderOptions ' - Me.grpFolderOptions.Controls.Add(Me.chkUseNames) + Me.grpFolderOptions.Controls.Add(Me.chkUseGameID) Me.grpFolderOptions.Controls.Add(Me.btnBackupFolder) Me.grpFolderOptions.Controls.Add(Me.lblBackupFolder) Me.grpFolderOptions.Controls.Add(Me.txtBackupFolder) @@ -187,6 +187,16 @@ Partial Class frmSettings Me.grpFolderOptions.TabStop = False 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 ' Me.btnBackupFolder.Location = New System.Drawing.Point(313, 17) @@ -531,16 +541,6 @@ Partial Class frmSettings Me.btnResetMessages.Text = "&Reset Warnings" 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 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -629,5 +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 + Friend WithEvents chkUseGameID As CheckBox End Class diff --git a/GBM/Forms/frmSettings.vb b/GBM/Forms/frmSettings.vb index e6f4094..798d600 100644 --- a/GBM/Forms/frmSettings.vb +++ b/GBM/Forms/frmSettings.vb @@ -52,7 +52,7 @@ Public Class frmSettings oSettings.AutoSaveLog = chkAutoSaveLog.Checked oSettings.DisableConfirmation = chkBackupConfirm.Checked oSettings.CreateSubFolder = chkCreateFolder.Checked - oSettings.UseNames = chkUseNames.Checked + oSettings.UseGameID = chkUseGameID.Checked oSettings.ShowOverwriteWarning = chkOverwriteWarning.Checked oSettings.RestoreOnLaunch = chkRestoreNotify.Checked oSettings.AutoRestore = chkAutoRestore.Checked @@ -179,7 +179,7 @@ Public Class frmSettings chkAutoSaveLog.Checked = oSettings.AutoSaveLog chkBackupConfirm.Checked = oSettings.DisableConfirmation chkCreateFolder.Checked = oSettings.CreateSubFolder - chkUseNames.Checked = oSettings.UseNames + chkUseGameID.Checked = oSettings.UseGameID chkOverwriteWarning.Checked = oSettings.ShowOverwriteWarning chkRestoreNotify.Checked = oSettings.RestoreOnLaunch chkAutoRestore.Checked = oSettings.AutoRestore @@ -280,7 +280,7 @@ Public Class frmSettings chkAutoMark.Text = frmSettings_chkAutoMark chkOverwriteWarning.Text = frmSettings_chkOverwriteWarning chkCreateFolder.Text = frmSettings_chkCreateFolder - chkUseNames.Text = frmSettings_chkUseNames + chkUseGameID.Text = frmSettings_chkUseGameID chkBackupConfirm.Text = frmSettings_chkBackupConfirm btnCancel.Text = frmSettings_btnCancel btnSave.Text = frmSettings_btnSave diff --git a/GBM/Managers/mgrBackup.vb b/GBM/Managers/mgrBackup.vb index 9e25a3a..708e4ba 100644 --- a/GBM/Managers/mgrBackup.vb +++ b/GBM/Managers/mgrBackup.vb @@ -104,10 +104,10 @@ Public Class mgrBackup Private Function GetFileName(ByVal oGame As clsGame) As String Dim sName As String - If oSettings.UseNames Then - sName = oGame.FileSafeName - Else + If oSettings.UseGameID Then sName = oGame.ID + Else + sName = oGame.FileSafeName End If Return sName diff --git a/GBM/Managers/mgrSQLite.vb b/GBM/Managers/mgrSQLite.vb index 2b58eee..81f2cee 100644 --- a/GBM/Managers/mgrSQLite.vb +++ b/GBM/Managers/mgrSQLite.vb @@ -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, UseNames BOOLEAN NOT NULL);" + "SupressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID 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, 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, " & "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, " & - "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;" 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, " & diff --git a/GBM/Managers/mgrSettings.vb b/GBM/Managers/mgrSettings.vb index f6721da..bd5e608 100644 --- a/GBM/Managers/mgrSettings.vb +++ b/GBM/Managers/mgrSettings.vb @@ -23,7 +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 + Private bUseGameID As Boolean = False Public Enum eSupressMessages None = 0 @@ -276,12 +276,12 @@ Public Class mgrSettings End Set End Property - Property UseNames As Boolean + Property UseGameID As Boolean Get - Return bUseNames + Return bUseGameID End Get Set(value As Boolean) - bUseNames = value + bUseGameID = value End Set End Property @@ -301,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, @UseNames)" + sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SupressMessages, @BackupOnLaunch, @UseGameID)" hshParams.Add("MonitorOnStartup", MonitorOnStartup) hshParams.Add("StartToTray", StartToTray) @@ -325,7 +325,7 @@ Public Class mgrSettings hshParams.Add("SessionTracking", SessionTracking) hshParams.Add("SupressMessages", SupressMessages) hshParams.Add("BackupOnLaunch", BackupOnLaunch) - hshParams.Add("UseNames", UseNames) + hshParams.Add("UseGameID", UseGameID) oDatabase.RunParamQuery(sSQL, hshParams) End Sub @@ -362,7 +362,7 @@ Public Class mgrSettings SessionTracking = CBool(dr("SessionTracking")) SupressMessages = CInt(dr("SupressMessages")) BackupOnLaunch = CBool(dr("BackupOnLaunch")) - UseNames = CBool(dr("UseNames")) + UseGameID = CBool(dr("UseGameID")) Next oDatabase.Disconnect() diff --git a/GBM/My Project/Resources.Designer.vb b/GBM/My Project/Resources.Designer.vb index 558ec1a..c904e1b 100644 --- a/GBM/My Project/Resources.Designer.vb +++ b/GBM/My Project/Resources.Designer.vb @@ -4543,11 +4543,11 @@ Namespace My.Resources End Property ''' - ''' 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. ''' - Friend ReadOnly Property frmSettings_chkUseNames() As String + Friend ReadOnly Property frmSettings_chkUseGameID() As String Get - Return ResourceManager.GetString("frmSettings_chkUseNames", resourceCulture) + Return ResourceManager.GetString("frmSettings_chkUseGameID", resourceCulture) End Get End Property diff --git a/GBM/My Project/Resources.resx b/GBM/My Project/Resources.resx index 9abb3d1..0e1ac6f 100644 --- a/GBM/My Project/Resources.resx +++ b/GBM/My Project/Resources.resx @@ -2164,7 +2164,7 @@ [PARAM] has been started. - - Use Name instead of ID for folder and file names + + Use Game ID for folder and file names \ No newline at end of file diff --git a/GBM/readme.txt b/GBM/readme.txt index f3bdad0..68a10fd 100644 --- a/GBM/readme.txt +++ b/GBM/readme.txt @@ -2,7 +2,7 @@ Game Backup Monitor v1.1.0 Readme http://mikemaximus.github.io/gbm-web/ gamebackupmonitor@gmail.com -March 8th, 2018 +March 12th, 2018 New in 1.1.0 @@ -19,7 +19,10 @@ All Platforms: - 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 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. - 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. @@ -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. - 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. -2. Backup files made prior to v1.1.0 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. - - 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. +2. Backup files are not being renamed or removed when a new backup is created. + - 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. 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. - 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. - 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. +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 \ No newline at end of file