diff --git a/GBM/Forms/frmGameManager.Designer.vb b/GBM/Forms/frmGameManager.Designer.vb index 09f743d..0191fc4 100644 --- a/GBM/Forms/frmGameManager.Designer.vb +++ b/GBM/Forms/frmGameManager.Designer.vb @@ -103,6 +103,7 @@ Partial Class frmGameManager Me.cmsDeleteOne = New System.Windows.Forms.ToolStripMenuItem() Me.cmsDeleteAll = New System.Windows.Forms.ToolStripMenuItem() Me.btnProcesses = New System.Windows.Forms.Button() + Me.ttFullPath = New System.Windows.Forms.ToolTip(Me.components) Me.grpConfig.SuspendLayout() CType(Me.nudLimit, System.ComponentModel.ISupportInitialize).BeginInit() Me.grpExtra.SuspendLayout() @@ -892,6 +893,12 @@ Partial Class frmGameManager Me.btnProcesses.Text = "Processes..." Me.btnProcesses.UseVisualStyleBackColor = True ' + 'ttFullPath + ' + Me.ttFullPath.AutoPopDelay = 5000 + Me.ttFullPath.InitialDelay = 300 + Me.ttFullPath.ReshowDelay = 60 + ' 'frmGameManager ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -1022,4 +1029,5 @@ Partial Class frmGameManager Friend WithEvents chkRegEx As CheckBox Friend WithEvents btnGameID As Button Friend WithEvents btnProcesses As Button + Friend WithEvents ttFullPath As ToolTip End Class diff --git a/GBM/Forms/frmGameManager.resx b/GBM/Forms/frmGameManager.resx index aa8299a..30ad1df 100644 --- a/GBM/Forms/frmGameManager.resx +++ b/GBM/Forms/frmGameManager.resx @@ -123,4 +123,7 @@ 127, 17 + + 275, 17 + \ No newline at end of file diff --git a/GBM/Forms/frmGameManager.vb b/GBM/Forms/frmGameManager.vb index 3f16a01..10d9112 100644 --- a/GBM/Forms/frmGameManager.vb +++ b/GBM/Forms/frmGameManager.vb @@ -171,7 +171,9 @@ Public Class frmGameManager sPath = mgrPath.DetermineRelativePath(sAppPath, sSavePath) End If Else - sPath = mgrPath.ReverseSpecialPaths(sPath) + If Not oSettings.ShowResolvedPaths Then + sPath = mgrPath.ReverseSpecialPaths(sPath) + End If End If Return sPath @@ -862,6 +864,7 @@ Public Class frmGameManager Dim oData As KeyValuePair(Of String, String) = lstGames.SelectedItems(0) Dim oApp As clsGame = DirectCast(GameData(oData.Key), clsGame) + Dim sttPath As String 'Core txtID.Text = oApp.ID @@ -869,7 +872,14 @@ Public Class frmGameManager txtProcess.Text = oApp.ProcessName chkRegEx.Checked = oApp.IsRegEx txtParameter.Text = oApp.Parameter - txtSavePath.Text = oApp.TruePath + If oSettings.ShowResolvedPaths Then + txtSavePath.Text = oApp.Path + sttPath = oApp.TruePath + Else + txtSavePath.Text = oApp.TruePath + sttPath = oApp.Path + End If + If oApp.AbsolutePath Then ttFullPath.SetToolTip(txtSavePath, sttPath) txtFileType.Text = oApp.FileType txtExclude.Text = oApp.ExcludeList chkFolderSave.Checked = oApp.FolderSave @@ -1906,6 +1916,7 @@ Public Class frmGameManager End Sub Private Sub txtSavePath_TextChanged(sender As Object, e As EventArgs) Handles txtSavePath.TextChanged + ttFullPath.RemoveAll() VerifyCleanFolder() End Sub diff --git a/GBM/Forms/frmSettings.Designer.vb b/GBM/Forms/frmSettings.Designer.vb index 3f9a80a..fba3c43 100644 --- a/GBM/Forms/frmSettings.Designer.vb +++ b/GBM/Forms/frmSettings.Designer.vb @@ -73,6 +73,7 @@ Partial Class frmSettings Me.chkStartWindows = New System.Windows.Forms.CheckBox() Me.chkStartToTray = New System.Windows.Forms.CheckBox() Me.chkMonitorOnStartup = New System.Windows.Forms.CheckBox() + Me.chkShowResolvedPaths = New System.Windows.Forms.CheckBox() Me.grpFolderOptions.SuspendLayout() Me.grp7zGeneral.SuspendLayout() Me.pnlBackup.SuspendLayout() @@ -102,7 +103,7 @@ Partial Class frmSettings ' 'btnOptionalFields ' - Me.btnOptionalFields.Location = New System.Drawing.Point(6, 65) + Me.btnOptionalFields.Location = New System.Drawing.Point(6, 88) Me.btnOptionalFields.Name = "btnOptionalFields" Me.btnOptionalFields.Size = New System.Drawing.Size(216, 23) Me.btnOptionalFields.TabIndex = 3 @@ -443,7 +444,7 @@ Partial Class frmSettings Me.grpGameMonitoringOptions.Controls.Add(Me.lblMinutes) Me.grpGameMonitoringOptions.Controls.Add(Me.chkShowDetectionTips) Me.grpGameMonitoringOptions.Controls.Add(Me.nudSuppressBackupThreshold) - Me.grpGameMonitoringOptions.Location = New System.Drawing.Point(6, 115) + Me.grpGameMonitoringOptions.Location = New System.Drawing.Point(6, 141) Me.grpGameMonitoringOptions.Name = "grpGameMonitoringOptions" Me.grpGameMonitoringOptions.Size = New System.Drawing.Size(354, 65) Me.grpGameMonitoringOptions.TabIndex = 1 @@ -481,7 +482,7 @@ Partial Class frmSettings ' Me.grpLogOptions.Controls.Add(Me.chkDisableSyncMessages) Me.grpLogOptions.Controls.Add(Me.chkAutoSaveLog) - Me.grpLogOptions.Location = New System.Drawing.Point(6, 186) + Me.grpLogOptions.Location = New System.Drawing.Point(6, 212) Me.grpLogOptions.Name = "grpLogOptions" Me.grpLogOptions.Size = New System.Drawing.Size(354, 65) Me.grpLogOptions.TabIndex = 2 @@ -500,12 +501,13 @@ Partial Class frmSettings ' 'grpGameData ' + Me.grpGameData.Controls.Add(Me.chkShowResolvedPaths) Me.grpGameData.Controls.Add(Me.chkSessionTracking) Me.grpGameData.Controls.Add(Me.chkTimeTracking) Me.grpGameData.Controls.Add(Me.btnOptionalFields) Me.grpGameData.Location = New System.Drawing.Point(6, 12) Me.grpGameData.Name = "grpGameData" - Me.grpGameData.Size = New System.Drawing.Size(354, 97) + Me.grpGameData.Size = New System.Drawing.Size(354, 123) Me.grpGameData.TabIndex = 0 Me.grpGameData.TabStop = False Me.grpGameData.Text = "Game Data Options" @@ -598,6 +600,16 @@ Partial Class frmSettings Me.chkMonitorOnStartup.Text = "Start monitoring on launch" Me.chkMonitorOnStartup.UseVisualStyleBackColor = True ' + 'chkShowResolvedPaths + ' + Me.chkShowResolvedPaths.AutoSize = True + Me.chkShowResolvedPaths.Location = New System.Drawing.Point(6, 65) + Me.chkShowResolvedPaths.Name = "chkShowResolvedPaths" + Me.chkShowResolvedPaths.Size = New System.Drawing.Size(154, 17) + Me.chkShowResolvedPaths.TabIndex = 3 + Me.chkShowResolvedPaths.Text = "Show resolved save paths " + Me.chkShowResolvedPaths.UseVisualStyleBackColor = True + ' 'frmSettings ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -698,4 +710,5 @@ Partial Class frmSettings Friend WithEvents chkStartToTray As CheckBox Friend WithEvents chkMonitorOnStartup As CheckBox Friend WithEvents grpGameMonitoringOptions As GroupBox + Friend WithEvents chkShowResolvedPaths As CheckBox End Class diff --git a/GBM/Forms/frmSettings.vb b/GBM/Forms/frmSettings.vb index 59584ae..49a0443 100644 --- a/GBM/Forms/frmSettings.vb +++ b/GBM/Forms/frmSettings.vb @@ -60,6 +60,7 @@ Public Class frmSettings oSettings.AutoMark = chkAutoMark.Checked oSettings.TimeTracking = chkTimeTracking.Checked oSettings.SessionTracking = chkSessionTracking.Checked + oSettings.ShowResolvedPaths = chkShowResolvedPaths.Checked oSettings.SuppressBackup = chkSuppressBackup.Checked oSettings.SuppressBackupThreshold = nudSuppressBackupThreshold.Value oSettings.CompressionLevel = cboCompression.SelectedValue @@ -189,6 +190,7 @@ Public Class frmSettings txtBackupFolder.Text = oSettings.BackupFolder chkTimeTracking.Checked = oSettings.TimeTracking chkSessionTracking.Checked = oSettings.SessionTracking + chkShowResolvedPaths.Checked = oSettings.ShowResolvedPaths chkSuppressBackup.Checked = oSettings.SuppressBackup nudSuppressBackupThreshold.Value = oSettings.SuppressBackupThreshold nudSuppressBackupThreshold.Enabled = chkSuppressBackup.Checked @@ -322,6 +324,7 @@ Public Class frmSettings grpLogOptions.Text = frmSettings_grpLogOptions chkDisableSyncMessages.Text = frmSettings_chkDisableSyncMessages grpGameMonitoringOptions.Text = frmSettings_grpGameMonitoringOptions + chkShowResolvedPaths.Text = frmSettings_chkShowResolvedPaths 'Unix Handler If mgrCommon.IsUnix Then diff --git a/GBM/Managers/mgrSQLite.vb b/GBM/Managers/mgrSQLite.vb index 65db77a..7ead303 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, " & "SuppressBackup BOOLEAN NOT NULL, SuppressBackupThreshold 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, " & - "SuppressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL, DisableSyncMessages BOOLEAN NOT NULL);" + "SuppressMessages INTEGER NOT NULL, BackupOnLaunch BOOLEAN NOT NULL, UseGameID BOOLEAN NOT NULL, DisableSyncMessages BOOLEAN NOT NULL, ShowResolvedPaths BOOLEAN NOT NULL);" 'Add Tables (SavedPath) sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);" @@ -855,7 +855,10 @@ Public Class mgrSQLite 'Backup DB before starting BackupDB("v110") - sSQL = "PRAGMA user_version=115" + 'Add new setting + sSQL = "ALTER TABLE settings ADD COLUMN ShowResolvedPaths BOOLEAN NOT NULL DEFAULT 1;" + + sSQL &= "PRAGMA user_version=115" RunParamQuery(sSQL, New Hashtable) End If diff --git a/GBM/Managers/mgrSettings.vb b/GBM/Managers/mgrSettings.vb index d7706b1..c4c6311 100644 --- a/GBM/Managers/mgrSettings.vb +++ b/GBM/Managers/mgrSettings.vb @@ -25,6 +25,7 @@ Public Class mgrSettings Private bBackupOnLaunch As Boolean = True Private bUseGameID As Boolean = False Private bDisableSyncMessages As Boolean = True + Private bShowResolvedPaths As Boolean = True Public Enum eSuppressMessages None = 0 @@ -175,6 +176,15 @@ Public Class mgrSettings End Set End Property + Property ShowResolvedPaths As Boolean + Get + Return bShowResolvedPaths + End Get + Set(value As Boolean) + bShowResolvedPaths = value + End Set + End Property + ReadOnly Property Prepared7zArguments As String Get 'Prepare custom 7z arguments @@ -309,7 +319,7 @@ Public Class mgrSettings sSQL &= "@CreateSubFolder, @ShowOverwriteWarning, @RestoreOnLaunch, @BackupFolder, @StartWithWindows, " sSQL &= "@TimeTracking, @SuppressBackup, @SuppressBackupThreshold, @CompressionLevel, @Custom7zArguments, @Custom7zLocation, " sSQL &= "@SyncFields, @AutoSaveLog, @AutoRestore, @AutoMark, @SessionTracking, @SuppressMessages, @BackupOnLaunch, @UseGameID, " - sSQL &= "@DisableSyncMessages)" + sSQL &= "@DisableSyncMessages, @ShowResolvedPaths)" hshParams.Add("MonitorOnStartup", MonitorOnStartup) hshParams.Add("StartToTray", StartToTray) @@ -335,6 +345,7 @@ Public Class mgrSettings hshParams.Add("BackupOnLaunch", BackupOnLaunch) hshParams.Add("UseGameID", UseGameID) hshParams.Add("DisableSyncMessages", DisableSyncMessages) + hshParams.Add("ShowResolvedPaths", ShowResolvedPaths) oDatabase.RunParamQuery(sSQL, hshParams) End Sub @@ -374,6 +385,7 @@ Public Class mgrSettings BackupOnLaunch = CBool(dr("BackupOnLaunch")) UseGameID = CBool(dr("UseGameID")) DisableSyncMessages = CBool(dr("DisableSyncMessages")) + ShowResolvedPaths = CBool(dr("ShowResolvedPaths")) Next oDatabase.Disconnect() diff --git a/GBM/My Project/Resources.Designer.vb b/GBM/My Project/Resources.Designer.vb index 4ce4134..90b5240 100644 --- a/GBM/My Project/Resources.Designer.vb +++ b/GBM/My Project/Resources.Designer.vb @@ -4560,6 +4560,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Looks up a localized string similar to Show resolved save paths. + ''' + Friend ReadOnly Property frmSettings_chkShowResolvedPaths() As String + Get + Return ResourceManager.GetString("frmSettings_chkShowResolvedPaths", resourceCulture) + End Get + End Property + ''' ''' Looks up a localized string similar to Start to system tray. ''' diff --git a/GBM/My Project/Resources.resx b/GBM/My Project/Resources.resx index 65d3277..f3a1ed0 100644 --- a/GBM/My Project/Resources.resx +++ b/GBM/My Project/Resources.resx @@ -2221,4 +2221,7 @@ An error occured while building a list of environment variables.[BR][BR][PARAM] + + Show resolved save paths + \ No newline at end of file