From a35c46ccd0547a33bd07fd33b3ba3c45a106d830 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 12 Feb 2020 11:44:28 +0100 Subject: [PATCH 01/11] Update GUIs.ClipboardWatcher and GUIs.Common to Devexpress 19.2 --- GUIs.ClipboardWatcher/ClipboardWatcher.vbproj | 14 +- .../ClipboardWatcher.vbproj.bak | 179 ++++++++++++++ .../My Project/licenses.licx | 2 - .../My Project/licenses.licx.bak | 2 + GUIs.Common/Common.vbproj | 22 +- GUIs.Common/Common.vbproj.bak | 227 ++++++++++++++++++ GUIs.Common/My Project/licenses.licx | 4 - GUIs.Common/My Project/licenses.licx.bak | 4 + 8 files changed, 430 insertions(+), 24 deletions(-) create mode 100644 GUIs.ClipboardWatcher/ClipboardWatcher.vbproj.bak create mode 100644 GUIs.ClipboardWatcher/My Project/licenses.licx.bak create mode 100644 GUIs.Common/Common.vbproj.bak create mode 100644 GUIs.Common/My Project/licenses.licx.bak diff --git a/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj b/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj index b6d18b01..c32d8751 100644 --- a/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj +++ b/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj @@ -43,18 +43,18 @@ On - + False - D:\ProgramFiles\DevExpress 18.1\Components\Bin\Framework\DevExpress.Data.v18.1.dll + - + False - D:\ProgramFiles\DevExpress 18.1\Components\Bin\Framework\DevExpress.Utils.v18.1.dll + - - + + False - D:\ProgramFiles\DevExpress 18.1\Components\Bin\Framework\DevExpress.XtraEditors.v18.1.dll + diff --git a/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj.bak b/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj.bak new file mode 100644 index 00000000..b6d18b01 --- /dev/null +++ b/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj.bak @@ -0,0 +1,179 @@ + + + + + Debug + AnyCPU + {B7D465A2-AE31-4CDF-A8B2-34B42D3EA84E} + Library + DigitalData.Modules.ClipboardWatcher + DigitalData.Modules.ClipboardWatcher + 512 + Windows + v4.6.1 + + + true + full + true + true + bin\Debug\ + DigitalData.Modules.ClipboardWatcher.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + pdbonly + false + true + true + bin\Release\ + DigitalData.Modules.ClipboardWatcher.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + False + D:\ProgramFiles\DevExpress 18.1\Components\Bin\Framework\DevExpress.Data.v18.1.dll + + + False + D:\ProgramFiles\DevExpress 18.1\Components\Bin\Framework\DevExpress.Utils.v18.1.dll + + + + False + D:\ProgramFiles\DevExpress 18.1\Components\Bin\Framework\DevExpress.XtraEditors.v18.1.dll + + + + ..\packages\NLog.4.6.8\lib\net45\NLog.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmMatch.vb + + + Form + + + frmTreeView.vb + + + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + + + frmMatch.vb + + + frmTreeView.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + {D20A6BF2-C7C6-4A7A-B34D-FA27D775A049} + Common + + + {EAF0EA75-5FA7-485D-89C7-B2D843B03A96} + Database + + + {d3c8cfed-d6f6-43a8-9bdf-454145d0352f} + Language + + + {903b2d7d-3b80-4be9-8713-7447b704e1b0} + Logging + + + {7c3b0c7e-59fe-4e1a-a655-27ae119f9444} + Patterns + + + {81cac44f-3711-4c8f-ae98-e02a7448782a} + ZooFlow + + + {5efaef9b-90b9-4f05-9f70-f79ad77fff86} + Windows + + + + \ No newline at end of file diff --git a/GUIs.ClipboardWatcher/My Project/licenses.licx b/GUIs.ClipboardWatcher/My Project/licenses.licx index b39b3920..e69de29b 100644 --- a/GUIs.ClipboardWatcher/My Project/licenses.licx +++ b/GUIs.ClipboardWatcher/My Project/licenses.licx @@ -1,2 +0,0 @@ -DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ClipboardWatcher/My Project/licenses.licx.bak b/GUIs.ClipboardWatcher/My Project/licenses.licx.bak new file mode 100644 index 00000000..b39b3920 --- /dev/null +++ b/GUIs.ClipboardWatcher/My Project/licenses.licx.bak @@ -0,0 +1,2 @@ +DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.Common/Common.vbproj b/GUIs.Common/Common.vbproj index 277c7740..cfefdd29 100644 --- a/GUIs.Common/Common.vbproj +++ b/GUIs.Common/Common.vbproj @@ -43,17 +43,17 @@ On - - - - - - - - - - - + + + + + + + + + + + ..\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll diff --git a/GUIs.Common/Common.vbproj.bak b/GUIs.Common/Common.vbproj.bak new file mode 100644 index 00000000..277c7740 --- /dev/null +++ b/GUIs.Common/Common.vbproj.bak @@ -0,0 +1,227 @@ + + + + + Debug + AnyCPU + {D20A6BF2-C7C6-4A7A-B34D-FA27D775A049} + Library + DigitalData.GUIs.Common + DigitalData.GUIs.Common + 512 + Windows + v4.6.1 + + + true + full + true + true + bin\Debug\ + DigitalData.GUIs.Common.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + pdbonly + false + true + true + bin\Release\ + DigitalData.GUIs.Common.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + ..\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll + + + D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll + + + + ..\packages\NLog.4.6.8\lib\net45\NLog.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + + + + frmDataResultList.vb + + + Form + + + + + frmDocumentResultList.vb + + + Form + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmDataResultList.vb + + + frmDocumentResultList.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + {44982f9b-6116-44e2-85d0-f39650b1ef99} + Config + + + {EAF0EA75-5FA7-485D-89C7-B2D843B03A96} + Database + + + {d3c8cfed-d6f6-43a8-9bdf-454145d0352f} + Language + + + {903B2D7D-3B80-4BE9-8713-7447B704E1B0} + Logging + + + {81cac44f-3711-4c8f-ae98-e02a7448782a} + ZooFlow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GUIs.Common/My Project/licenses.licx b/GUIs.Common/My Project/licenses.licx index c2085548..e69de29b 100644 --- a/GUIs.Common/My Project/licenses.licx +++ b/GUIs.Common/My Project/licenses.licx @@ -1,4 +0,0 @@ -DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.Common/My Project/licenses.licx.bak b/GUIs.Common/My Project/licenses.licx.bak new file mode 100644 index 00000000..c2085548 --- /dev/null +++ b/GUIs.Common/My Project/licenses.licx.bak @@ -0,0 +1,4 @@ +DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a From 299c092c5fcac09ddd0f00610825bf17faaf20b5 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 12 Feb 2020 14:27:39 +0100 Subject: [PATCH 02/11] clean up profile treeview --- GUIs.ClipboardWatcher/My Project/licenses.licx | 1 + GUIs.ClipboardWatcher/frmMatch.vb | 12 ++++-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/GUIs.ClipboardWatcher/My Project/licenses.licx b/GUIs.ClipboardWatcher/My Project/licenses.licx index e69de29b..df67c51b 100644 --- a/GUIs.ClipboardWatcher/My Project/licenses.licx +++ b/GUIs.ClipboardWatcher/My Project/licenses.licx @@ -0,0 +1 @@ +DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ClipboardWatcher/frmMatch.vb b/GUIs.ClipboardWatcher/frmMatch.vb index 304d0428..0f0b1767 100644 --- a/GUIs.ClipboardWatcher/frmMatch.vb +++ b/GUIs.ClipboardWatcher/frmMatch.vb @@ -55,13 +55,6 @@ Public Class frmMatch _Params = Params End Sub - Public Sub ShowTreeView() - Dim oForm As New frmTreeView(_Params.MatchTreeView.Nodes) With { - .StartPosition = FormStartPosition.CenterScreen - } - oForm.ShowDialog() - End Sub - Private Async Sub frmMatch_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim oCreatedTiles = CreateTiles() @@ -205,7 +198,10 @@ Public Class frmMatch End Function Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click - ShowTreeView() + Dim oForm As New frmTreeView(_Params.MatchTreeView.Nodes) With { + .StartPosition = FormStartPosition.CenterScreen + } + oForm.ShowDialog() End Sub Private Async Sub TileControlMatch_ItemClick(sender As Object, e As TileItemEventArgs) Handles TileControlMatch.ItemClick From efd2d79df619737cbad0cce25447713d89aa5a68 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 12 Feb 2020 15:51:56 +0100 Subject: [PATCH 03/11] fix upcased extensions not being recognized --- Controls.DocumentViewer/DocumentViewer.vb | 7 ++++--- Controls.DocumentViewer/DocumentViewer.vbproj | 5 ++--- .../GUIs.Test.DocumentViewerTest.vbproj | 5 ++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Controls.DocumentViewer/DocumentViewer.vb b/Controls.DocumentViewer/DocumentViewer.vb index 8f6c60a2..491ca9cd 100644 --- a/Controls.DocumentViewer/DocumentViewer.vb +++ b/Controls.DocumentViewer/DocumentViewer.vb @@ -85,6 +85,7 @@ Public Class DocumentViewer GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter _logger.Info("Loading File {0}", filepath) + DoLoadFile(filepath) If _view_only Then @@ -113,10 +114,10 @@ Public Class DocumentViewer Private Sub DoLoadFile(FilePath As String) Try Dim oFileInfo = New IO.FileInfo(FilePath) - Dim oExtension As String = oFileInfo.Extension + Dim oExtension As String = oFileInfo.Extension.ToUpper Select Case oExtension - Case ".msg" + Case ".MSG" Dim oMsg As New Independentsoft.Msg.Message(FilePath) ' TODO: Improve Encoding, maybe convert based on encoding oMsg.Encoding = System.Text.Encoding.UTF32 @@ -130,7 +131,7 @@ Public Class DocumentViewer RichEditControl1.Visible = True RichEditControl1.Dock = DockStyle.Fill - Case ".eml" + Case ".EML" RichEditControl1.LoadDocument(FilePath, DevExpress.XtraRichEdit.DocumentFormat.Mht) RichEditControl1.Visible = True diff --git a/Controls.DocumentViewer/DocumentViewer.vbproj b/Controls.DocumentViewer/DocumentViewer.vbproj index 8a016afd..92b11fe5 100644 --- a/Controls.DocumentViewer/DocumentViewer.vbproj +++ b/Controls.DocumentViewer/DocumentViewer.vbproj @@ -63,9 +63,8 @@ D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll - - False - P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\14_11_19_MIME_UTF_ENCODING\Independentsoft.Msg.dll + + P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\Independentsoft.Msg.2.0.570.21482.dll diff --git a/GUIs.Test.DocumentViewerTest/GUIs.Test.DocumentViewerTest.vbproj b/GUIs.Test.DocumentViewerTest/GUIs.Test.DocumentViewerTest.vbproj index 3da771df..700af33c 100644 --- a/GUIs.Test.DocumentViewerTest/GUIs.Test.DocumentViewerTest.vbproj +++ b/GUIs.Test.DocumentViewerTest/GUIs.Test.DocumentViewerTest.vbproj @@ -50,9 +50,8 @@ D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll - - False - P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\14_11_19_MIME_UTF_ENCODING\Independentsoft.Msg.dll + + P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\Independentsoft.Msg.2.0.570.21482.dll From 4730a3f19cd9f04a33d6fa03cf95bc67cb6f531c Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 13 Feb 2020 12:06:57 +0100 Subject: [PATCH 04/11] Change ctor signatures to keep backwards compat with all products, simplify config loading --- Modules.Config/ConfigManager.vb | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/Modules.Config/ConfigManager.vb b/Modules.Config/ConfigManager.vb index 446190e2..41f5350b 100644 --- a/Modules.Config/ConfigManager.vb +++ b/Modules.Config/ConfigManager.vb @@ -74,7 +74,7 @@ Public Class ConfigManager(Of T) ''' The path to check for a computer config file, eg. ProgramData (Usually Application.CommonAppDataPath) ''' The path to check for a third config file. This is useful when running the Application in an environment where AppData/ProgramData directories are not available ''' Override values from ComputerConfig with UserConfig - Public Sub New(LogConfig As LogConfig, UserConfigPath As String, ComputerConfigPath As String, ApplicationStartupPath As String, Optional ForceUserConfig As Boolean = False) + Public Sub New(LogConfig As LogConfig, UserConfigPath As String, ComputerConfigPath As String, Optional ApplicationStartupPath As String = "", Optional ForceUserConfig As Boolean = False) _LogConfig = LogConfig _Logger = LogConfig.GetLogger() _File = New Filesystem.File(_LogConfig) @@ -100,8 +100,8 @@ Public Class ConfigManager(Of T) ''' ''' LogConfig instance ''' The path to check for a user config file, eg. AppData (Usually Application.UserAppDataPath or Application.LocalUserAppDataPath) - Public Sub New(LogConfig As LogConfig, ConfigPath As String, ApplicationStartupPath As String) - MyClass.New(LogConfig, ConfigPath, ConfigPath, ApplicationStartupPath, ForceUserConfig:=True) + Public Sub New(LogConfig As LogConfig, ConfigPath As String) + MyClass.New(LogConfig, ConfigPath, String.Empty, String.Empty, ForceUserConfig:=True) End Sub ''' @@ -168,14 +168,10 @@ Public Class ConfigManager(Of T) Dim oConfig = Activator.CreateInstance(_BlueprintType) ' try to load the special app config - ' returns nothing if app was not found or could not be loaded oConfig = LoadAppConfig(oConfig) - If oConfig Is Nothing Then - oConfig = Activator.CreateInstance(_BlueprintType) - ' then Try to load computer config - oConfig = LoadComputerConfig(oConfig) - End If + ' try to load the computer config + oConfig = LoadComputerConfig(oConfig) ' now try to load userconfig oConfig = LoadUserConfig(oConfig) @@ -190,12 +186,10 @@ Public Class ConfigManager(Of T) Catch ex As Exception _Logger.Error(ex) _Logger.Warn("ApplicationConfig could not be loaded!") - Return Nothing End Try Else _Logger.Debug("ApplicationConfig does not exist.") _ForceUserConfig = True - Return Nothing End If Return Config From 3d29afac5f73747e5a8f5cc2438fd1703bd567ba Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 13 Feb 2020 12:07:37 +0100 Subject: [PATCH 05/11] ConfigManager: Version 0.0.7.0 --- Modules.Config/My Project/AssemblyInfo.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules.Config/My Project/AssemblyInfo.vb b/Modules.Config/My Project/AssemblyInfo.vb index 2148da5d..dd00225b 100644 --- a/Modules.Config/My Project/AssemblyInfo.vb +++ b/Modules.Config/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + From f43da00ff2d88c4e0d64d579e60fcb0d3200ef68 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 13 Feb 2020 12:35:03 +0100 Subject: [PATCH 06/11] dont create AppConfigDirectory if its an empty string (default value) --- Modules.Config/ConfigManager.vb | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Modules.Config/ConfigManager.vb b/Modules.Config/ConfigManager.vb index 41f5350b..5d63f095 100644 --- a/Modules.Config/ConfigManager.vb +++ b/Modules.Config/ConfigManager.vb @@ -32,7 +32,7 @@ Public Class ConfigManager(Of T) GetType(GlobalSettingAttribute) } - Private _ForceUserConfig As Boolean = False + Private _WriteAllValuesToUserConfig As Boolean = False ''' ''' Returns the currently loaded config object @@ -85,8 +85,12 @@ Public Class ConfigManager(Of T) _UserDirectory = _File.CreateDirectory(UserConfigPath) _ComputerDirectory = _File.CreateDirectory(ComputerConfigPath) - _AppConfigDirectory = _File.CreateDirectory(ApplicationStartupPath) - _ForceUserConfig = ForceUserConfig + + If ApplicationStartupPath <> String.Empty Then + _AppConfigDirectory = _File.CreateDirectory(ApplicationStartupPath) + End If + + _WriteAllValuesToUserConfig = ForceUserConfig _UserConfigPath = Path.Combine(_UserDirectory, USER_CONFIG_NAME) _ComputerConfigPath = Path.Combine(_ComputerDirectory, COMPUTER_CONFIG_NAME) @@ -187,9 +191,10 @@ Public Class ConfigManager(Of T) _Logger.Error(ex) _Logger.Warn("ApplicationConfig could not be loaded!") End Try + _WriteAllValuesToUserConfig = False Else _Logger.Debug("ApplicationConfig does not exist.") - _ForceUserConfig = True + _WriteAllValuesToUserConfig = True End If Return Config @@ -204,9 +209,10 @@ Public Class ConfigManager(Of T) _Logger.Error(ex) _Logger.Warn("Computer config could not be loaded!") End Try + _WriteAllValuesToUserConfig = False Else _Logger.Debug("Computer config does not exist.") - _ForceUserConfig = True + _WriteAllValuesToUserConfig = True End If Return Config @@ -222,7 +228,7 @@ Public Class ConfigManager(Of T) Dim oExcludedAttributes As New List(Of Type) ' Copy values from user config to final config - If _ForceUserConfig Then + If _WriteAllValuesToUserConfig Then CopyValues(oUserConfig, Config, New List(Of Type)) Else CopyValues(oUserConfig, Config, _ExcludedAttributes) @@ -279,7 +285,7 @@ Public Class ConfigManager(Of T) ' If config was loaded from computer config, ' DO NOT save connection string, etc. to user config - If _ForceUserConfig = False And ForceAll = False Then + If _WriteAllValuesToUserConfig = False And ForceAll = False Then Data = FilterValues(Data, _ExcludedAttributes) End If From 22399f23de8191bb3ada03339b94131827797fd7 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 13 Feb 2020 13:30:50 +0100 Subject: [PATCH 07/11] catch appdirectory not existing --- Modules.Config/ConfigManager.vb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules.Config/ConfigManager.vb b/Modules.Config/ConfigManager.vb index 5d63f095..8cb829ae 100644 --- a/Modules.Config/ConfigManager.vb +++ b/Modules.Config/ConfigManager.vb @@ -84,18 +84,18 @@ Public Class ConfigManager(Of T) _Serializer = New XmlSerializer(_BlueprintType) _UserDirectory = _File.CreateDirectory(UserConfigPath) + _UserConfigPath = Path.Combine(_UserDirectory, USER_CONFIG_NAME) + _ComputerDirectory = _File.CreateDirectory(ComputerConfigPath) + _ComputerConfigPath = Path.Combine(_ComputerDirectory, COMPUTER_CONFIG_NAME) If ApplicationStartupPath <> String.Empty Then _AppConfigDirectory = _File.CreateDirectory(ApplicationStartupPath) + _AppConfigPath = Path.Combine(_AppConfigDirectory, APP_CONFIG_NAME) End If _WriteAllValuesToUserConfig = ForceUserConfig - _UserConfigPath = Path.Combine(_UserDirectory, USER_CONFIG_NAME) - _ComputerConfigPath = Path.Combine(_ComputerDirectory, COMPUTER_CONFIG_NAME) - _AppConfigPath = Path.Combine(_AppConfigDirectory, APP_CONFIG_NAME) - Config = LoadConfig() End Sub @@ -183,7 +183,7 @@ Public Class ConfigManager(Of T) End Function Private Function LoadAppConfig(ByVal Config As T) As T - If File.Exists(_AppConfigPath) Then + If Not String.IsNullOrEmpty(_AppConfigPath) AndAlso File.Exists(_AppConfigPath) Then Try Dim oAppConfig = ReadFromFile(_AppConfigPath) CopyValues(oAppConfig, Config) From ebbd5b2c8abd8a07341f1ab180b3de009c406b7e Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 13 Feb 2020 13:49:17 +0100 Subject: [PATCH 08/11] update guis.clipboardwatcher, guis.zooflow --- .../My Project/licenses.licx | 1 - .../My Project/licenses.licx.bak | 3 +- GUIs.ZooFlow/My Project/licenses.licx | 9 - GUIs.ZooFlow/My Project/licenses.licx.bak | 9 + GUIs.ZooFlow/ZooFlow.vbproj | 22 +- GUIs.ZooFlow/ZooFlow.vbproj.bak | 251 ++++++++++++++++++ 6 files changed, 272 insertions(+), 23 deletions(-) create mode 100644 GUIs.ZooFlow/My Project/licenses.licx.bak create mode 100644 GUIs.ZooFlow/ZooFlow.vbproj.bak diff --git a/GUIs.ClipboardWatcher/My Project/licenses.licx b/GUIs.ClipboardWatcher/My Project/licenses.licx index df67c51b..e69de29b 100644 --- a/GUIs.ClipboardWatcher/My Project/licenses.licx +++ b/GUIs.ClipboardWatcher/My Project/licenses.licx @@ -1 +0,0 @@ -DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ClipboardWatcher/My Project/licenses.licx.bak b/GUIs.ClipboardWatcher/My Project/licenses.licx.bak index b39b3920..df67c51b 100644 --- a/GUIs.ClipboardWatcher/My Project/licenses.licx.bak +++ b/GUIs.ClipboardWatcher/My Project/licenses.licx.bak @@ -1,2 +1 @@ -DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ZooFlow/My Project/licenses.licx b/GUIs.ZooFlow/My Project/licenses.licx index febe7ed9..e69de29b 100644 --- a/GUIs.ZooFlow/My Project/licenses.licx +++ b/GUIs.ZooFlow/My Project/licenses.licx @@ -1,9 +0,0 @@ -DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ZooFlow/My Project/licenses.licx.bak b/GUIs.ZooFlow/My Project/licenses.licx.bak new file mode 100644 index 00000000..febe7ed9 --- /dev/null +++ b/GUIs.ZooFlow/My Project/licenses.licx.bak @@ -0,0 +1,9 @@ +DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ZooFlow/ZooFlow.vbproj b/GUIs.ZooFlow/ZooFlow.vbproj index f08c2ae2..df1c0364 100644 --- a/GUIs.ZooFlow/ZooFlow.vbproj +++ b/GUIs.ZooFlow/ZooFlow.vbproj @@ -43,17 +43,17 @@ DigitalData.GUIs.ZooFlow.My.MyApplication - - - - - - - - - - - + + + + + + + + + + + ..\packages\NLog.4.6.8\lib\net45\NLog.dll diff --git a/GUIs.ZooFlow/ZooFlow.vbproj.bak b/GUIs.ZooFlow/ZooFlow.vbproj.bak new file mode 100644 index 00000000..f08c2ae2 --- /dev/null +++ b/GUIs.ZooFlow/ZooFlow.vbproj.bak @@ -0,0 +1,251 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {D0FB36EB-783D-40E1-B71E-A0B84B2FE567} + WinExe + DigitalData.GUIs.ZooFlow + DigitalData.GUIs.ZooFlow + v4.6.1 + ZooFlow.Program + 512 + On + Binary + Off + On + + + AnyCPU + true + full + false + bin\Debug\ + true + true + prompt + + + AnyCPU + pdbonly + true + bin\Release\ + false + true + prompt + + + WindowsForms + + + DigitalData.GUIs.ZooFlow.My.MyApplication + + + + + + + + + + + + + + + ..\packages\NLog.4.6.8\lib\net45\NLog.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmConfigDatabase.vb + + + Form + + + Form + + + frmAdmin.vb + + + frmFlowForm.vb + + + Form + + + frmSettings.vb + + + Form + + + frmSplash.vb + + + Form + + + True + Application.myapp + + + + + + frmConfigDatabase.vb + + + frmAdmin.vb + + + frmFlowForm.vb + + + frmSettings.vb + + + frmSplash.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.vb + + + True + Settings.settings + True + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + + + {b7d465a2-ae31-4cdf-a8b2-34b42d3ea84e} + ClipboardWatcher + + + {44982F9B-6116-44E2-85D0-F39650B1EF99} + Config + + + {EAF0EA75-5FA7-485D-89C7-B2D843B03A96} + Database + + + {991d0231-4623-496d-8bd0-9ca906029cbc} + Filesystem + + + {d3c8cfed-d6f6-43a8-9bdf-454145d0352f} + Language + + + {903B2D7D-3B80-4BE9-8713-7447B704E1B0} + Logging + + + {af664d85-0a4b-4bab-a2f8-83110c06553a} + Messaging + + + {7c3b0c7e-59fe-4e1a-a655-27ae119f9444} + Patterns + + + {81cac44f-3711-4c8f-ae98-e02a7448782a} + ZooFlow + + + {5efaef9b-90b9-4f05-9f70-f79ad77fff86} + Windows + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 81160400796bd7470c1a7c4a1023a3f8e4cfd664 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 3 Mar 2020 13:19:12 +0100 Subject: [PATCH 09/11] change mouse scroll behaviour --- .../DocumentViewer.Designer.vb | 12 +- Controls.DocumentViewer/DocumentViewer.resx | 134 +++++++++--------- Controls.DocumentViewer/DocumentViewer.vb | 2 +- 3 files changed, 74 insertions(+), 74 deletions(-) diff --git a/Controls.DocumentViewer/DocumentViewer.Designer.vb b/Controls.DocumentViewer/DocumentViewer.Designer.vb index a6496ade..22527f3c 100644 --- a/Controls.DocumentViewer/DocumentViewer.Designer.vb +++ b/Controls.DocumentViewer/DocumentViewer.Designer.vb @@ -103,7 +103,7 @@ Partial Class DocumentViewer Me.GdViewer.MagnifierZoomY = 2.0! Me.GdViewer.MouseButtonForMouseMode = GdPicture14.MouseButton.MouseButtonLeft Me.GdViewer.MouseMode = GdPicture14.ViewerMouseMode.MouseModePan - Me.GdViewer.MouseWheelMode = GdPicture14.ViewerMouseWheelMode.MouseWheelModeZoom + Me.GdViewer.MouseWheelMode = GdPicture14.ViewerMouseWheelMode.MouseWheelModeVerticalScroll Me.GdViewer.Name = "GdViewer" Me.GdViewer.PageBordersColor = System.Drawing.Color.Black Me.GdViewer.PageBordersPenSize = 1 @@ -195,7 +195,7 @@ Partial Class DocumentViewer ' Me.DefaultToolStripMenuItem.CheckOnClick = True Me.DefaultToolStripMenuItem.Name = "DefaultToolStripMenuItem" - Me.DefaultToolStripMenuItem.Size = New System.Drawing.Size(151, 22) + Me.DefaultToolStripMenuItem.Size = New System.Drawing.Size(180, 22) Me.DefaultToolStripMenuItem.Text = "Default" ' 'PanToolStripMenuItem @@ -204,28 +204,28 @@ Partial Class DocumentViewer Me.PanToolStripMenuItem.CheckOnClick = True Me.PanToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked Me.PanToolStripMenuItem.Name = "PanToolStripMenuItem" - Me.PanToolStripMenuItem.Size = New System.Drawing.Size(151, 22) + Me.PanToolStripMenuItem.Size = New System.Drawing.Size(180, 22) Me.PanToolStripMenuItem.Text = "Pan" ' 'AreaSelectionToolStripMenuItem ' Me.AreaSelectionToolStripMenuItem.CheckOnClick = True Me.AreaSelectionToolStripMenuItem.Name = "AreaSelectionToolStripMenuItem" - Me.AreaSelectionToolStripMenuItem.Size = New System.Drawing.Size(151, 22) + Me.AreaSelectionToolStripMenuItem.Size = New System.Drawing.Size(180, 22) Me.AreaSelectionToolStripMenuItem.Text = "Area selection" ' 'AreaZoomingToolStripMenuItem ' Me.AreaZoomingToolStripMenuItem.CheckOnClick = True Me.AreaZoomingToolStripMenuItem.Name = "AreaZoomingToolStripMenuItem" - Me.AreaZoomingToolStripMenuItem.Size = New System.Drawing.Size(151, 22) + Me.AreaZoomingToolStripMenuItem.Size = New System.Drawing.Size(180, 22) Me.AreaZoomingToolStripMenuItem.Text = "Area zooming" ' 'MagnifierToolStripMenuItem ' Me.MagnifierToolStripMenuItem.CheckOnClick = True Me.MagnifierToolStripMenuItem.Name = "MagnifierToolStripMenuItem" - Me.MagnifierToolStripMenuItem.Size = New System.Drawing.Size(151, 22) + Me.MagnifierToolStripMenuItem.Size = New System.Drawing.Size(180, 22) Me.MagnifierToolStripMenuItem.Text = "Magnifier" ' 'ToolStripSeparator6 diff --git a/Controls.DocumentViewer/DocumentViewer.resx b/Controls.DocumentViewer/DocumentViewer.resx index 22c8c65b..0c5f888b 100644 --- a/Controls.DocumentViewer/DocumentViewer.resx +++ b/Controls.DocumentViewer/DocumentViewer.resx @@ -124,13 +124,13 @@ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFhSURBVEhLvVVBToRAEESNF/+kv+AKNx5AQuBi5hMe3JDo - yQ+w8WR8iCfCgQ9sdsNBnLFrdtodBgmzu2IllanudHdN70IIppDnuSQqnEVRDE4mYqZp84MQ4pIGKF8c - bZAkyfWyBkLcLLzBSm8gpdQD7JPJMXCUwV2xVufQjDmA3N+jKPrCU9H3vbrNK+JKohinre2cG0ODbdvq - pyuO488sy15g8PPo/aWBmdlrAyYMuPBU8n/CXHoDOTDouk6Jh1dqqHTx3uyg7ZwbQ6O3aZppg6qqVF3X - ErfAqjhtbefcGBq9ZVmODZbkYIM5befceEr/zwZaGEBP3cjOufGUxkCdsMlFvnCHssbbjA/LmhIjE9AX - v/USe+Kj+WHGQBHj+e1DPTlEjoHb4iNlWv1gG8zhbIO5DVAbhuGVafWDu4H75nIMnLrBxvTPIk3THbVc - 7Ds9Qbcij2KDTWa4Jd6bNgdB8A1sed+Z/8S0TAAAAABJRU5ErkJggg== + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFhSURBVEhLvVVBToRAEESNF/+kv+BIuPEAEgIXM4/wsnLQ + kx9gvRkf4oVw4AWb3XAQZ+yanXaHQcLsrlhJZao73V3TuxCCKeR5LokKZ1EUg5OJmGna/CCEuKQByhdH + GyRJcr2sgRA3C2/wqDeQUuoB9snkGDjK4K5Yq3NoxhxA7u9RFH3hqej7Xt3mFXElUYzT1nbOjaHBtm31 + 0xXH8WeWZS8w+Hn0/tLAzOy1ARMGXHgq+T9hLr2BHBh0XafEwys1VLp4b3bQds6NodHbNM20QVVVqq5r + iVtgVZy2tnNuDI3esizHBktysMGctnNuPKX/ZwMtDKCnbmTn3HhKY6BO2OQiX7hDWeNtxodlTYmRCeiL + 33qJPXFlfpgxUMR4fvtQTw6RY+C2+EiZVj/YBnM422BuA9SGYXhlWv3gbuC+uRwDp26wMf2zSNN0Ry0X + +05P0K3Io9hgkxluifemzUEQfAOjsN87/RDFYwAAAABJRU5ErkJggg== @@ -154,87 +154,87 @@ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHASURBVEhLnZM9LwRRGIU38VVp/AGVRqPQIDMjVH4AnWRV - GhEh7IwoFIRGIqLTULIkmLsRHwUNCZGlUEtQ0hESwnXPeDeZuGfNrCd5cjP3vefM7uxOphx9ffkqxy/0 - u4EKvZy6b8qufniB0nP5K401ujb7mOMczks0mbbR/QYnp85Q9Nut01trD+I8clLxN+ZT7bGS3vkjPbtR - jFY2R04qyuNNKpeF4fPbuwZY2TzS5KWK4/nhMg0a47B5pMlLFceZUBc0aIzD5hB5qeI4Y+qJBWEcNofI - SxXHy6pPFoRx2DzS5KXKpnP6uJqGjN1TBX19+6RfzA+MFdfsHJQ6m9bByxoWiJtbPaf7JTuNUmdTusFB - 8eFfFi7uoptInQ37BngU2cUT7a+d65n1op7fvIpWXGOfPSqps0nziNIodTbN0/laFqhUqbPpGd6rY4FK - lTqbn7/pyhcLpXflS+o4f73JaUx8k51AHbJgWpGXKo7rh0MsmFbkpYrTMbFT3x6oRxZOEjnkpao8rr87 - wAqSRE4qknF9tcRKyonzEk2PG4TjLSPbb6ywJOY4J5HK6ZoqNDpBuGDKboyvMW+wj7kcJWQy3xcBuJab - Sv3YAAAAAElFTkSuQmCC + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHASURBVEhLnZM9LwRRGIU38VVp/AGNSqPQIDMjVH4AnaDS + iAhhZ0ShIDQSEZWKkiXB3I34KGhIiCyFWoKSjpAQrnvGu8nEPWtmPcmTm7nvPWd2Z3cypejpyVU4fr7X + DVToZdV9Q//qhxcoPZe70lija7OPOc7hvESTaRndr3Oy6gxFv906vbX2IM4jJxV/Yz7VHivpnj/SsxuF + aGVz5KSiNN6kclkYPr+9a4CVzSNNXqo4nh8u06AxDptHmrxUcZwJdUGDxjhsDpGXKo4zpp5YEMZhc4i8 + VHG8PvXJgjAOm0eavFTZtE8fV9KQsXMqr69vn/SL+YGx4pqdg1Jn0zx4WcUCcbOr53S/aLtR6myKNzgo + PPzL/MVddBOps2HfAI+if/FE+2vnema9oOc3r6IV19hnj0rqbNI8ojRKnU3jdK6aBcpV6my6hvdqWKBc + pc7m52+68sVC6V35kjrOX29yGhPfZCdQhyyYVuSliuP64RALphV5qeK0TezUtgbqkYWTRA55qSqN6+8O + sIIkkZOKZFxfLbGSUuK8RNPjBuF408j2GyssijnOSaR8Oqby9U4QLpiyG+NrzBvsYy5HCZnMN/I6uJAB + Y+kDAAAAAElFTkSuQmCC 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 - ZGBgYAAA+36Jhi0FcugAAAAASUVORK5CYII= + ZGBgYAAAFXGJG9oJLr4AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHCSURBVEhLYwCD+nomCINGwLZs0wmbss0hxmlnWKFC1AV2 - FZv/Q/EN2/JNKfb1+zmgUtQBtuXN/0AYZAmItijd9MyufHO5ff56AagSygC6BTC2TdGmN0AfdTpVbZaG - KiUPQIMHJ7asWPvFrmzzdJuKrWpQLaQBXD5AZ2tVbP5jU75ppVXpBhMGhv+MUO2EAT5DkdlwMY9Nf23L - N+yxr9jiQlQSB2kkC3tu/mtTuvmUbcWm8NDQVcxQ4zABuktxsZHF0Pl2pRtvAvNTumvxTm6osQiAVQOp - FsDZm54CcalF4Q4hqPHUtgDKLljzzrZ8YwPYApAAdXHLP+uKzfftKrakgS3A6Qo0NrIYOh/GtinbcNm+ + FZv/Q/EN2/JNKfb1+zmgUtQBtuVN/0AYZAmItijd9MyufHO5ff56AagSygC6BTC2TdGmN0AfdTpVbZaG + KiUPQIMHJ7asWPvFrmzzdJuKrWpQLaQBXD5AZ2tVbP5jU75ppVXpBhMGhv+MUO2EAT5DkdlwMfdNf23L + N+yxr9jiQlQSB2kkC3ts/mtTuvmUbcWm8NDQVcxQ4zABuktxsZHF0Pl2pRtvAvNTumvxTm6osQiAVQOp + FsDZm54CcalF4Q4hqPHUtgDKLljzzrZ8YwPYApAAdXHzP+uKzfftKrakgS3A6Qo0NrIYOh/GtinbcNm+ YlOsR+42drDhIACSpBiXbT5iU7kpAFiOsUCNRQB8LkJmI4uBsHz8/N/W5Rt32JVucIQahR3ANBBtQdam nzZlG1fYlW8whBqBH4A0EoP189d/ty3fPBVYVKhDtRIH0F2Kyd74FlSq2lZtl4RqIQ1gN3Tzf1C9YFu2 - sdKmYosgVCl5AGQYCi7ZcBeUhrFme3IA3NXlm8/alm6OxprUKAHWpZsOAl3uRcPWBQmVB0mAgQEAv7+J - hvKjV0wAAAAASUVORK5CYII= + sdKmYosgVCl5AGQYCi7ZcBeUhrFme3IA3NXlm8/alm6OxprUKAHWpZsOAl3uRcPWBQmVB0mAgQEAzT+J + GzCOALMAAAAASUVORK5CYII= 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 @@ -307,19 +307,19 @@ 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 diff --git a/Controls.DocumentViewer/DocumentViewer.vb b/Controls.DocumentViewer/DocumentViewer.vb index 491ca9cd..ad605706 100644 --- a/Controls.DocumentViewer/DocumentViewer.vb +++ b/Controls.DocumentViewer/DocumentViewer.vb @@ -116,7 +116,7 @@ Public Class DocumentViewer Dim oFileInfo = New IO.FileInfo(FilePath) Dim oExtension As String = oFileInfo.Extension.ToUpper - Select Case oExtension + Select Case oExtension.ToUpper Case ".MSG" Dim oMsg As New Independentsoft.Msg.Message(FilePath) ' TODO: Improve Encoding, maybe convert based on encoding From ea4673f161a0c7dfae3ba9de725bafed155abbdc Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 3 Mar 2020 13:19:22 +0100 Subject: [PATCH 10/11] version 1.0.0.1 --- Controls.DocumentViewer/My Project/AssemblyInfo.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Controls.DocumentViewer/My Project/AssemblyInfo.vb b/Controls.DocumentViewer/My Project/AssemblyInfo.vb index 631187fa..87c071a2 100644 --- a/Controls.DocumentViewer/My Project/AssemblyInfo.vb +++ b/Controls.DocumentViewer/My Project/AssemblyInfo.vb @@ -32,4 +32,4 @@ Imports System.Runtime.InteropServices ' - + From b995304ee33f43afad448f45dded9860caeb56c7 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 4 Mar 2020 14:44:18 +0100 Subject: [PATCH 11/11] WIP: PDF Attachment Extractor --- .../Form1.Designer.vb | 12 ++++++ GUIs.Test.DocumentViewerTest/Form1.vb | 41 +++++++++++++++++++ Modules.Jobs/EDMI/ZUGFeRD/PDFAttachments.vb | 9 ++++ Modules.Jobs/Jobs.vbproj | 1 + 4 files changed, 63 insertions(+) create mode 100644 Modules.Jobs/EDMI/ZUGFeRD/PDFAttachments.vb diff --git a/GUIs.Test.DocumentViewerTest/Form1.Designer.vb b/GUIs.Test.DocumentViewerTest/Form1.Designer.vb index c83cf8f2..b1a5abd3 100644 --- a/GUIs.Test.DocumentViewerTest/Form1.Designer.vb +++ b/GUIs.Test.DocumentViewerTest/Form1.Designer.vb @@ -27,6 +27,7 @@ Partial Class Form1 Me.Button1 = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() Me.Button3 = New System.Windows.Forms.Button() + Me.Button4 = New System.Windows.Forms.Button() Me.SuspendLayout() ' 'TextBox1 @@ -67,11 +68,21 @@ Partial Class Form1 Me.Button3.Text = "Load Form4" Me.Button3.UseVisualStyleBackColor = True ' + 'Button4 + ' + Me.Button4.Location = New System.Drawing.Point(12, 96) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(637, 23) + Me.Button4.TabIndex = 3 + Me.Button4.Text = "Extract Files from PDF" + Me.Button4.UseVisualStyleBackColor = True + ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Controls.Add(Me.Button4) Me.Controls.Add(Me.Button3) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Button1) @@ -87,4 +98,5 @@ Partial Class Form1 Friend WithEvents Button1 As Button Friend WithEvents Button2 As Button Friend WithEvents Button3 As Button + Friend WithEvents Button4 As Button End Class diff --git a/GUIs.Test.DocumentViewerTest/Form1.vb b/GUIs.Test.DocumentViewerTest/Form1.vb index 33cc0654..0aaf2df7 100644 --- a/GUIs.Test.DocumentViewerTest/Form1.vb +++ b/GUIs.Test.DocumentViewerTest/Form1.vb @@ -1,4 +1,5 @@ Imports DigitalData.Modules.Logging +Imports GdPicture14 Public Class Form1 Private oSubform As Form3 @@ -35,4 +36,44 @@ Public Class Form1 MsgBox(ex.Message) End Try End Sub + + Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click + Using oGdPicturePDF As GdPicturePDF = New GdPicturePDF() + If oGdPicturePDF.LoadFromFile(TextBox1.Text, False) = GdPictureStatus.OK Then + Dim embeddedFileCount As Integer = oGdPicturePDF.GetEmbeddedFileCount() + If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then + If embeddedFileCount > 0 Then + Dim FileName As String = oGdPicturePDF.GetEmbeddedFileName(0) + If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then + Dim FileSize As Integer = oGdPicturePDF.GetEmbeddedFileSize(0) + If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then + Dim FileData As Byte() = New Byte(FileSize) {} + Dim status As GdPictureStatus = oGdPicturePDF.ExtractEmbeddedFile(0, FileData) + If status = GdPictureStatus.OK Then + MessageBox.Show("The content of the first embedded file has been extracted successfully.", "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Information) + Dim oFileStream As System.IO.FileStream = Nothing + oFileStream = New System.IO.FileStream(FileName + "_content.dat", System.IO.FileMode.Create) + oFileStream.Write(FileData, 0, FileData.Length) + oFileStream.Close() + MessageBox.Show("The content of the embedded file has been saved successfully.", "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Information) + Else + MessageBox.Show("The embedded file has failed to extract. Status: " + status.ToString(), "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + Else + MessageBox.Show("An error occurred getting the file size. Status: " + oGdPicturePDF.GetStat().ToString(), "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + Else + MessageBox.Show("An error occurred getting the file name. Status: " + oGdPicturePDF.GetStat().ToString(), "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + Else + MessageBox.Show("This PDF file does not contain embedded files.", "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Information) + End If + Else + MessageBox.Show("An error occurred getting the number of embedded files. Status: " + oGdPicturePDF.GetStat().ToString(), "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + Else + MessageBox.Show("The file can't be loaded.", "Example: Emdedded files (Attachments)", MessageBoxButtons.OK, MessageBoxIcon.Error) + End If + End Using + End Sub End Class diff --git a/Modules.Jobs/EDMI/ZUGFeRD/PDFAttachments.vb b/Modules.Jobs/EDMI/ZUGFeRD/PDFAttachments.vb new file mode 100644 index 00000000..78708998 --- /dev/null +++ b/Modules.Jobs/EDMI/ZUGFeRD/PDFAttachments.vb @@ -0,0 +1,9 @@ +Public Class PDFAttachments + Public Sub New(GdPictureKey As String) + + End Sub + + Public Shared Function Extract(FileName As String) + Using oGDPicturePDF As New GDPicturePDF + End Function +End Class diff --git a/Modules.Jobs/Jobs.vbproj b/Modules.Jobs/Jobs.vbproj index 59c4bb25..8258ced9 100644 --- a/Modules.Jobs/Jobs.vbproj +++ b/Modules.Jobs/Jobs.vbproj @@ -88,6 +88,7 @@ +