Enhancement for issue #76

This commit is contained in:
Michael J. Seiferling
2017-06-14 10:16:29 -06:00
parent 1f291bbcd8
commit aa3237d0fa
14 changed files with 189 additions and 31 deletions
+22
View File
@@ -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
+3 -3
View File
@@ -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
+10 -10
View File
@@ -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)
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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)
+2 -2
View File
@@ -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)
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+2
View File
@@ -121,6 +121,7 @@
<Import Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<Compile Include="Classes\clsSavedPath.vb" />
<Compile Include="Classes\XML Serialize Classes\Tag.vb" />
<Compile Include="Classes\XML Serialize Classes\Game.vb" />
<Compile Include="Classes\clsGameTag.vb" />
@@ -220,6 +221,7 @@
<Compile Include="Managers\mgrMonitorList.vb" />
<Compile Include="Managers\mgrPath.vb" />
<Compile Include="Managers\mgrRestore.vb" />
<Compile Include="Managers\mgrSavedPath.vb" />
<Compile Include="Managers\mgrSettings.vb" />
<Compile Include="Managers\mgrBackup.vb" />
<Compile Include="Managers\mgrSQLite.vb" />
+63 -8
View File
@@ -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
+1 -1
View File
@@ -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
+25
View File
@@ -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
+54
View File
@@ -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
+3 -3
View File
@@ -14,7 +14,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("Game Backup Monitor")>
<Assembly: AssemblyCompany("Michael J. Seiferling")>
<Assembly: AssemblyProduct("Game Backup Monitor")>
<Assembly: AssemblyCopyright("Copyright © 2016 Michael J. Seiferling")>
<Assembly: AssemblyCopyright("Copyright © 2017 Michael J. Seiferling")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
@@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.1.*")>
<Assembly: AssemblyFileVersion("1.0.1.0")>
<Assembly: AssemblyVersion("1.0.2.*")>
<Assembly: AssemblyFileVersion("1.0.2.0")>
<Assembly: NeutralResourcesLanguageAttribute("en")>