From 1e98befca117fef7c74a6f910c7a442f537b15c3 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 23 Aug 2021 11:22:21 +0200 Subject: [PATCH] DocumentViewer: Replace IndependentSoft with Limilabs.Mail --- Controls.DocumentViewer/DocumentViewer.vb | 69 +++++++------------ Controls.DocumentViewer/DocumentViewer.vbproj | 7 +- 2 files changed, 30 insertions(+), 46 deletions(-) diff --git a/Controls.DocumentViewer/DocumentViewer.vb b/Controls.DocumentViewer/DocumentViewer.vb index e6a81366..22bac6cf 100644 --- a/Controls.DocumentViewer/DocumentViewer.vb +++ b/Controls.DocumentViewer/DocumentViewer.vb @@ -1,14 +1,15 @@ -Imports System.ComponentModel +Imports System.IO +Imports System.ComponentModel Imports System.Globalization Imports System.Text.RegularExpressions -Imports DigitalData.Modules.Logging -Imports Independentsoft.Msg -Imports DevExpress.Spreadsheet -Imports GdPicture14 Imports DevExpress -Imports DevExpress.Office.Utils -Imports System.IO +Imports DevExpress.Spreadsheet Imports DevExpress.XtraRichEdit.Commands +Imports DevExpress.XtraRichEdit +Imports DevExpress.Office.Utils +Imports GdPicture14 +Imports DigitalData.Modules.Logging +Imports DigitalData.Modules.Messaging Public Class DocumentViewer Private Enum ZoomMode @@ -35,6 +36,7 @@ Public Class DocumentViewer Private _licenseManager As New GdPicture14.LicenseManager() Private _logConfig As LogConfig Private _logger As Logger + Private _email As Email2 Private _hide_file_info_from_user As Boolean = False Private _FilePath As String @@ -55,13 +57,13 @@ Public Class DocumentViewer ''' ''' Initialize the Viewer ''' - ''' A LogConfig object - ''' The GDPicture.NET License Key - Public Sub Init(LogConfig As LogConfig, LicenseKey As String) - _logConfig = LogConfig - _logger = LogConfig.GetLogger() - - _licenseKey = LicenseKey + ''' A LogConfig object + ''' The GDPicture.NET License Key + Public Sub Init(pLogConfig As LogConfig, pLicenseKey As String) + _logConfig = pLogConfig + _logger = pLogConfig.GetLogger() + _email = New Email2(pLogConfig) + _licenseKey = pLicenseKey _licenseManager.RegisterKEY(_licenseKey) End Sub @@ -186,23 +188,10 @@ Public Class DocumentViewer SpreadsheetControl1.Visible = False SpreadsheetControl1.Dock = DockStyle.None - 'ToolbarDocumentViewer.Visible = False - Select Case oExtension.ToUpper Case ".MSG" - Dim oMsg As New Message(FilePath) - ' TODO: Improve Encoding, maybe convert based on encoding - oMsg.Encoding = System.Text.Encoding.UTF32 - Dim oMime = oMsg.ConvertToMimeMessage() - Dim oTempFileName = IO.Path.GetTempFileName() - oMime.Save(oTempFileName, True) - - RichEditControl1.LoadDocument(oTempFileName, XtraRichEdit.DocumentFormat.Mht) - - _TempFiles.Add(oTempFileName) - - RichEditControl1.Visible = True - RichEditControl1.Dock = DockStyle.Fill + Dim oEmlPath As String = _email.Convert_ToEml(FilePath) + DoLoadFile(oEmlPath) Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT" RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension)) @@ -245,24 +234,18 @@ Public Class DocumentViewer SpreadsheetControl1.Visible = False SpreadsheetControl1.Dock = DockStyle.None - ' ToolbarDocumentViewer.Visible = False - Select Case Extension.ToUpper Case ".MSG" - Dim oMsg As New Message(Stream) - - ' TODO: Improve Encoding, maybe convert based on encoding - oMsg.Encoding = System.Text.Encoding.UTF32 - Dim oMime = oMsg.ConvertToMimeMessage() - Dim oTempFileName = IO.Path.GetTempFileName() - oMime.Save(oTempFileName, True) - - RichEditControl1.LoadDocument(oTempFileName, XtraRichEdit.DocumentFormat.Mht) - _TempFiles.Add(oTempFileName) + Dim oTempFileName = Path.Combine(IO.Path.GetTempPath(), Guid.NewGuid.ToString & ".msg") + Using oFileStream As New FileStream(oTempFileName, FileMode.Create) + Stream.Seek(0, SeekOrigin.Begin) + Stream.CopyTo(oFileStream) + Stream.Flush() + End Using - RichEditControl1.Visible = True - RichEditControl1.Dock = DockStyle.Fill + Dim oEmlPath As String = _email.Convert_ToEml(oTempFileName) + DoLoadFile(oEmlPath) Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT" RichEditControl1.LoadDocument(Stream, GetDocumentFormat(Extension)) diff --git a/Controls.DocumentViewer/DocumentViewer.vbproj b/Controls.DocumentViewer/DocumentViewer.vbproj index b828008e..336688a5 100644 --- a/Controls.DocumentViewer/DocumentViewer.vbproj +++ b/Controls.DocumentViewer/DocumentViewer.vbproj @@ -73,9 +73,6 @@ D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll - - P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\22_11_19\Independentsoft.Msg.dll - ..\packages\NLog.4.7.10\lib\net45\NLog.dll @@ -176,6 +173,10 @@ {903B2D7D-3B80-4BE9-8713-7447B704E1B0} Logging + + {af664d85-0a4b-4bab-a2f8-83110c06553a} + Messaging +