diff --git a/GBM/Classes/clsSavedPath.vb b/GBM/Classes/clsSavedPath.vb
new file mode 100644
index 0000000..8954924
--- /dev/null
+++ b/GBM/Classes/clsSavedPath.vb
@@ -0,0 +1,22 @@
+Public Class clsSavedPath
+ Private sPathName As String = String.Empty
+ Private sPath As String = String.Empty
+
+ Property PathName As String
+ Get
+ Return sPathName
+ End Get
+ Set(value As String)
+ sPathName = value
+ End Set
+ End Property
+
+ Property Path As String
+ Get
+ Return sPath
+ End Get
+ Set(value As String)
+ sPath = value
+ End Set
+ End Property
+End Class
diff --git a/GBM/Forms/frmAddWizard.vb b/GBM/Forms/frmAddWizard.vb
index 7c89555..19eba8f 100644
--- a/GBM/Forms/frmAddWizard.vb
+++ b/GBM/Forms/frmAddWizard.vb
@@ -425,8 +425,8 @@ Public Class frmAddWizard
End If
End If
- sNewPath = mgrCommon.OpenFileBrowser(frmAddWizard_ChooseProcess, "exe",
- frmAddWizard_Executable, sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFileBrowser("Wizard_Process_Path", frmAddWizard_ChooseProcess, "exe",
+ frmAddWizard_Executable, sDefaultFolder, False, False)
If sNewPath <> String.Empty Then txtProcessPath.Text = sNewPath
End Sub
@@ -442,7 +442,7 @@ Public Class frmAddWizard
End If
End If
- sNewPath = mgrCommon.OpenFolderBrowser(frmAddWizard_ChooseSavePath, sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFolderBrowser("Wizard_Save_Path", frmAddWizard_ChooseSavePath, sDefaultFolder, False, False)
If sNewPath <> String.Empty Then txtSavePath.Text = sNewPath
End Sub
diff --git a/GBM/Forms/frmGameManager.vb b/GBM/Forms/frmGameManager.vb
index 3dcc6f2..125bfc4 100644
--- a/GBM/Forms/frmGameManager.vb
+++ b/GBM/Forms/frmGameManager.vb
@@ -288,8 +288,8 @@ Public Class frmGameManager
End If
End If
- sNewPath = mgrCommon.OpenFileBrowser(frmGameManager_ChooseExe, "exe",
- frmGameManager_Executable, sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFileBrowser("GM_Process", frmGameManager_ChooseExe, "exe",
+ frmGameManager_Executable, sDefaultFolder, False, False)
If sNewPath <> String.Empty Then
txtAppPath.Text = Path.GetDirectoryName(sNewPath)
@@ -309,7 +309,7 @@ Public Class frmGameManager
End If
End If
- sNewPath = mgrCommon.OpenFolderBrowser(frmGameManager_ChooseExePath, sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFolderBrowser("GM_Process_Path", frmGameManager_ChooseExePath, sDefaultFolder, False, False)
If sNewPath <> String.Empty Then txtAppPath.Text = sNewPath
End Sub
@@ -325,7 +325,7 @@ Public Class frmGameManager
End If
End If
- sNewPath = mgrCommon.OpenFolderBrowser(frmGameManager_ChooseSaveFolder, sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFolderBrowser("GM_Save_Path", frmGameManager_ChooseSaveFolder, sDefaultFolder, False, False)
If sNewPath <> String.Empty Then
txtSavePath.Text = sNewPath
@@ -346,11 +346,11 @@ Public Class frmGameManager
'Unix Handler
If Not mgrCommon.IsUnix Then
- sNewPath = mgrCommon.OpenFileBrowser(frmGameManager_ChooseCustomIcon, "ico",
- frmGameManager_Icon, sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFileBrowser("GM_Icon", frmGameManager_ChooseCustomIcon, "ico",
+ frmGameManager_Icon, sDefaultFolder, False, False)
Else
- sNewPath = mgrCommon.OpenFileBrowser(frmGameManager_ChooseCustomIcon, "png",
- "PNG", sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFileBrowser("GM_Icon", frmGameManager_ChooseCustomIcon, "png",
+ "PNG", sDefaultFolder, False, False)
End If
If sNewPath <> String.Empty Then
@@ -1410,7 +1410,7 @@ Public Class frmGameManager
Private Sub ImportGameListFile()
Dim sLocation As String
- sLocation = mgrCommon.OpenFileBrowser(frmGameManager_ChooseImportXML, "xml", frmGameManager_XML, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), False)
+ sLocation = mgrCommon.OpenFileBrowser("XML_Import", frmGameManager_ChooseImportXML, "xml", frmGameManager_XML, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), False)
If sLocation <> String.Empty Then
If mgrMonitorList.DoImport(sLocation) Then
@@ -1423,7 +1423,7 @@ Public Class frmGameManager
Private Sub ExportGameList()
Dim sLocation As String
- sLocation = mgrCommon.SaveFileBrowser(frmGameManager_ChooseExportXML, "xml", frmGameManager_XML, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), frmGameManager_DefaultExportFileName & " " & Date.Now.ToString("dd-MMM-yyyy"))
+ sLocation = mgrCommon.SaveFileBrowser("XML_Export", frmGameManager_ChooseExportXML, "xml", frmGameManager_XML, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), frmGameManager_DefaultExportFileName & " " & Date.Now.ToString("dd-MMM-yyyy"))
If sLocation <> String.Empty Then
mgrMonitorList.ExportMonitorList(sLocation)
diff --git a/GBM/Forms/frmIncludeExclude.vb b/GBM/Forms/frmIncludeExclude.vb
index 23909fd..276cd51 100644
--- a/GBM/Forms/frmIncludeExclude.vb
+++ b/GBM/Forms/frmIncludeExclude.vb
@@ -108,7 +108,7 @@ Public Class frmIncludeExclude
End If
End If
- sNewPath = mgrCommon.OpenFolderBrowser(frmIncludeExclude_BrowseSaveFolder, sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFolderBrowser("IE_Save_Path", frmIncludeExclude_BrowseSaveFolder, sDefaultFolder, False, False)
If sNewPath <> String.Empty Then txtRootFolder.Text = sNewPath
End Sub
diff --git a/GBM/Forms/frmMain.vb b/GBM/Forms/frmMain.vb
index 52f7ab6..b21e742 100644
--- a/GBM/Forms/frmMain.vb
+++ b/GBM/Forms/frmMain.vb
@@ -1249,7 +1249,7 @@ Public Class frmMain
Private Sub SaveLog()
Dim sLocation As String
- sLocation = mgrCommon.SaveFileBrowser(frmMain_ChooseLogFile, "txt", frmMain_Text, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), frmMain_DefaultLogFileName & " " & Date.Now.ToString("dd-MMM-yyyy"))
+ sLocation = mgrCommon.SaveFileBrowser("Log_File", frmMain_ChooseLogFile, "txt", frmMain_Text, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), frmMain_DefaultLogFileName & " " & Date.Now.ToString("dd-MMM-yyyy"))
If sLocation <> String.Empty Then
mgrCommon.SaveText(txtLog.Text, sLocation)
diff --git a/GBM/Forms/frmSettings.vb b/GBM/Forms/frmSettings.vb
index d5cd44d..a2ff9b3 100644
--- a/GBM/Forms/frmSettings.vb
+++ b/GBM/Forms/frmSettings.vb
@@ -336,13 +336,13 @@ Public Class frmSettings
Private Sub btnBackupFolder_Click(sender As System.Object, e As System.EventArgs) Handles btnBackupFolder.Click
Dim sNewFolder As String
- sNewFolder = mgrCommon.OpenFolderBrowser(frmSettings_BrowseFolder, oSettings.BackupFolder, True)
+ sNewFolder = mgrCommon.OpenFolderBrowser("Settings_Backup_Path", frmSettings_BrowseFolder, oSettings.BackupFolder, True, False)
If sNewFolder <> String.Empty Then txtBackupFolder.Text = sNewFolder
End Sub
Private Sub btn7zLocation_Click(sender As Object, e As EventArgs) Handles btn7zLocation.Click
Dim sNewLocation As String
- sNewLocation = mgrCommon.OpenFileBrowser(frmSettings_Browse7za, "exe", frmSettings_7zaFileType, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), False)
+ sNewLocation = mgrCommon.OpenFileBrowser("7z_Browse", frmSettings_Browse7za, "exe", frmSettings_7zaFileType, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), False)
If sNewLocation <> String.Empty Then
txt7zLocation.Text = sNewLocation
GetUtilityInfo(txt7zLocation.Text)
diff --git a/GBM/Forms/frmStartUpWizard.vb b/GBM/Forms/frmStartUpWizard.vb
index f3375eb..30b875c 100644
--- a/GBM/Forms/frmStartUpWizard.vb
+++ b/GBM/Forms/frmStartUpWizard.vb
@@ -215,7 +215,7 @@ Public Class frmStartUpWizard
End If
End If
- sNewPath = mgrCommon.OpenFolderBrowser(frmStartUpWizard_BrowseFolder, sDefaultFolder, True)
+ sNewPath = mgrCommon.OpenFolderBrowser("Wizard_Backup_Path", frmStartUpWizard_BrowseFolder, sDefaultFolder, True, False)
If sNewPath <> String.Empty Then txtBackupPath.Text = sNewPath
End Sub
diff --git a/GBM/Forms/frmVariableManager.vb b/GBM/Forms/frmVariableManager.vb
index 7a3d1fa..da90901 100644
--- a/GBM/Forms/frmVariableManager.vb
+++ b/GBM/Forms/frmVariableManager.vb
@@ -54,7 +54,7 @@ Public Class frmVariableManager
End If
End If
- sNewPath = mgrCommon.OpenFolderBrowser(frmVariableManager_PathBrowse, sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFolderBrowser("VM_Path", frmVariableManager_PathBrowse, sDefaultFolder, False, False)
If sNewPath <> String.Empty Then txtPath.Text = sNewPath
End Sub
diff --git a/GBM/Game Backup Monitor.vbproj b/GBM/Game Backup Monitor.vbproj
index b4ace13..0f8aa1c 100644
--- a/GBM/Game Backup Monitor.vbproj
+++ b/GBM/Game Backup Monitor.vbproj
@@ -121,6 +121,7 @@
+
@@ -220,6 +221,7 @@
+
diff --git a/GBM/Managers/mgrCommon.vb b/GBM/Managers/mgrCommon.vb
index dc59026..111b753 100644
--- a/GBM/Managers/mgrCommon.vb
+++ b/GBM/Managers/mgrCommon.vb
@@ -61,30 +61,66 @@ Public Class mgrCommon
End If
End Function
- Public Shared Function SaveFileBrowser(ByVal sTitle As String, ByVal sExtension As String, ByVal sFileType As String, ByVal sDefaultFolder As String, ByVal sDefaultFile As String) As String
+ Public Shared Function SaveFileBrowser(ByVal sName As String, ByVal sTitle As String, ByVal sExtension As String, ByVal sFileType As String, ByVal sDefaultFolder As String,
+ ByVal sDefaultFile As String, Optional ByVal bSavedPath As Boolean = True) As String
Dim fbBrowser As New SaveFileDialog
+ Dim oSavedPath As New clsSavedPath
+
fbBrowser.Title = sTitle
fbBrowser.DefaultExt = sExtension
fbBrowser.Filter = FormatString(mgrCommon_FilesFilter, New String() {sFileType, sExtension, sExtension})
- fbBrowser.InitialDirectory = sDefaultFolder
fbBrowser.FileName = sDefaultFile
+ fbBrowser.InitialDirectory = sDefaultFolder
- If fbBrowser.ShowDialog() = Windows.Forms.DialogResult.OK Then
- Return fbBrowser.FileName
+ If bSavedPath Then
+ oSavedPath = mgrSavedPath.GetPathByName(sName)
+ If oSavedPath.Path <> String.Empty Then
+ If Directory.Exists(oSavedPath.Path) Then
+ fbBrowser.InitialDirectory = oSavedPath.Path
+ End If
+ End If
End If
- Return String.Empty
+ If fbBrowser.ShowDialog() = Windows.Forms.DialogResult.OK Then
+ If bSavedPath Then
+ oSavedPath.PathName = sName
+ oSavedPath.Path = Path.GetDirectoryName(fbBrowser.FileName)
+ mgrSavedPath.AddUpdatePath(oSavedPath)
+ End If
+
+ Return fbBrowser.FileName
+ End If
+
+ Return String.Empty
End Function
- Public Shared Function OpenFileBrowser(ByVal sTitle As String, ByVal sExtension As String, ByVal sFileType As String, ByVal sDefaultFolder As String, ByVal bMulti As Boolean) As String
+ Public Shared Function OpenFileBrowser(ByVal sName As String, ByVal sTitle As String, ByVal sExtension As String, ByVal sFileType As String, ByVal sDefaultFolder As String,
+ ByVal bMulti As Boolean, Optional ByVal bSavedPath As Boolean = True) As String
Dim fbBrowser As New OpenFileDialog
+ Dim oSavedPath As New clsSavedPath
+
fbBrowser.Title = sTitle
fbBrowser.DefaultExt = sExtension
fbBrowser.Filter = FormatString(mgrCommon_FilesFilter, New String() {sFileType, sExtension, sExtension})
- fbBrowser.InitialDirectory = sDefaultFolder
fbBrowser.Multiselect = bMulti
+ fbBrowser.InitialDirectory = sDefaultFolder
+
+ If bSavedPath Then
+ oSavedPath = mgrSavedPath.GetPathByName(sName)
+ If oSavedPath.Path <> String.Empty Then
+ If Directory.Exists(oSavedPath.Path) Then
+ fbBrowser.InitialDirectory = oSavedPath.Path
+ End If
+ End If
+ End If
If fbBrowser.ShowDialog() = Windows.Forms.DialogResult.OK Then
+ If bSavedPath Then
+ oSavedPath.PathName = sName
+ oSavedPath.Path = Path.GetDirectoryName(fbBrowser.FileName)
+ mgrSavedPath.AddUpdatePath(oSavedPath)
+ End If
+
If bMulti Then
Dim sFileNames As String = String.Empty
For Each sFileName As String In fbBrowser.FileNames
@@ -100,12 +136,31 @@ Public Class mgrCommon
Return String.Empty
End Function
- Public Shared Function OpenFolderBrowser(ByVal sTitle As String, ByVal sDefaultFolder As String, ByVal bEnableNewFolder As Boolean) As String
+ Public Shared Function OpenFolderBrowser(ByVal sName As String, ByVal sTitle As String, ByVal sDefaultFolder As String, ByVal bEnableNewFolder As Boolean,
+ Optional ByVal bSavedPath As Boolean = True) As String
Dim fbBrowser As New FolderBrowserDialog
+ Dim oSavedPath As New clsSavedPath
+
fbBrowser.Description = sTitle
fbBrowser.SelectedPath = sDefaultFolder
fbBrowser.ShowNewFolderButton = bEnableNewFolder
+
+ If bSavedPath Then
+ oSavedPath = mgrSavedPath.GetPathByName(sName)
+ If oSavedPath.Path <> String.Empty Then
+ If Directory.Exists(oSavedPath.Path) Then
+ fbBrowser.SelectedPath = oSavedPath.Path
+ End If
+ End If
+ End If
+
If fbBrowser.ShowDialog() = Windows.Forms.DialogResult.OK Then
+ If bSavedPath Then
+ oSavedPath.PathName = sName
+ oSavedPath.Path = fbBrowser.SelectedPath
+ mgrSavedPath.AddUpdatePath(oSavedPath)
+ End If
+
Return fbBrowser.SelectedPath
End If
diff --git a/GBM/Managers/mgrPath.vb b/GBM/Managers/mgrPath.vb
index f607651..433a82d 100644
--- a/GBM/Managers/mgrPath.vb
+++ b/GBM/Managers/mgrPath.vb
@@ -335,7 +335,7 @@ Public Class mgrPath
Dim sDefaultFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Dim sNewPath As String
- sNewPath = mgrCommon.OpenFolderBrowser(mgrPath_ChoosePath, sDefaultFolder, False)
+ sNewPath = mgrCommon.OpenFolderBrowser("Manual_Game_Location", mgrPath_ChoosePath, sDefaultFolder, False)
Return sNewPath
End Function
diff --git a/GBM/Managers/mgrSQLite.vb b/GBM/Managers/mgrSQLite.vb
index 3990d8c..cb7d4c2 100644
--- a/GBM/Managers/mgrSQLite.vb
+++ b/GBM/Managers/mgrSQLite.vb
@@ -76,6 +76,9 @@ Public Class mgrSQLite
"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);"
+ 'Add Tables (SavedPath)
+ sSql &= "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);"
+
'Add Tables (Monitor List)
sSql &= "CREATE TABLE monitorlist (MonitorID TEXT NOT NULL UNIQUE, 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, " &
@@ -639,6 +642,28 @@ Public Class mgrSQLite
End If
End If
+ '1.02 Upgrade
+ If GetDatabaseVersion() < 102 Then
+ If eDatabase = Database.Local Then
+ 'Backup DB before starting
+ BackupDB("v101")
+
+ 'Add Table (SavedPath)
+ sSQL = "CREATE TABLE savedpath (PathName TEXT NOT NULL PRIMARY KEY, Path TEXT NOT NULL);"
+ sSQL &= "PRAGMA user_version=102"
+
+ RunParamQuery(sSQL, New Hashtable)
+ End If
+ If eDatabase = Database.Remote Then
+ 'Backup DB before starting
+ BackupDB("v101")
+
+ sSQL = "PRAGMA user_version=102"
+
+ RunParamQuery(sSQL, New Hashtable)
+ End If
+ End If
+
End Sub
Public Function GetDBSize() As Long
diff --git a/GBM/Managers/mgrSavedPath.vb b/GBM/Managers/mgrSavedPath.vb
new file mode 100644
index 0000000..d4e64f4
--- /dev/null
+++ b/GBM/Managers/mgrSavedPath.vb
@@ -0,0 +1,54 @@
+Public Class mgrSavedPath
+
+
+ Private Shared Function MapToObject(ByVal dr As DataRow) As clsSavedPath
+ Dim oSavedPath As New clsSavedPath
+
+ oSavedPath.PathName = CStr(dr("PathName"))
+ oSavedPath.Path = CStr(dr("Path"))
+
+ Return oSavedPath
+ End Function
+
+ Private Shared Function SetCoreParameters(ByVal oSavedPath As clsSavedPath) As Hashtable
+ Dim hshParams As New Hashtable
+
+ hshParams.Add("PathName", oSavedPath.PathName)
+ hshParams.Add("Path", oSavedPath.Path)
+
+ Return hshParams
+ End Function
+
+ Public Shared Function GetPathByName(ByVal sPathName As String) As clsSavedPath
+ Dim oDatabase As New mgrSQLite(mgrSQLite.Database.Local)
+ Dim oData As DataSet
+ Dim sSQL As String
+ Dim hshParams As New Hashtable
+ Dim oSavedPath As New clsSavedPath
+
+ sSQL = "SELECT PathName, Path from savedpath WHERE PathName=@PathName;"
+
+ hshParams.Add("PathName", sPathName)
+
+ oData = oDatabase.ReadParamData(sSQL, hshParams)
+
+ For Each dr As DataRow In oData.Tables(0).Rows
+ oSavedPath = MapToObject(dr)
+ Next
+
+ Return oSavedPath
+ End Function
+
+ Public Shared Sub AddUpdatePath(ByVal oSavedPath As clsSavedPath)
+ Dim oDatabase As New mgrSQLite(mgrSQLite.Database.Local)
+ Dim sSQL As String
+ Dim hshParams As Hashtable
+
+ sSQL = "INSERT OR REPLACE INTO savedpath (PathName, Path) VALUES (@PathName, @Path);"
+
+ hshParams = SetCoreParameters(oSavedPath)
+
+ oDatabase.RunParamQuery(sSQL, hshParams)
+ End Sub
+
+End Class
diff --git a/GBM/My Project/AssemblyInfo.vb b/GBM/My Project/AssemblyInfo.vb
index ed587ad..0e26d81 100644
--- a/GBM/My Project/AssemblyInfo.vb
+++ b/GBM/My Project/AssemblyInfo.vb
@@ -14,7 +14,7 @@ Imports System.Runtime.InteropServices
-
+
@@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below:
'
-
-
+
+
\ No newline at end of file