From bdb8127a51236a2cccddc30a5ebde625eb5de53e Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 28 Feb 2022 13:00:10 +0100 Subject: [PATCH] Windows: Add extensive logging for FileDrop --- Windows/FileDrop.vb | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/Windows/FileDrop.vb b/Windows/FileDrop.vb index 0c0e38f6..42b7bfbb 100644 --- a/Windows/FileDrop.vb +++ b/Windows/FileDrop.vb @@ -54,7 +54,11 @@ Partial Public Class FileDrop End Function Public Function GetFileFormat(pEvent As DragEventArgs) As FileFormat + Logger.Debug("Determining FileFormat") + If IsThunderbird(pEvent) Then + Logger.Debug("File is a Thunderbird File") + If IsThunderbirdAttachment(pEvent) Then Return FileFormat.ThunderbirdAttachment @@ -67,6 +71,8 @@ Partial Public Class FileDrop End If If IsOutlook(pEvent) Then + Logger.Debug("File is an Outlook File") + If IsOutlookAttachment(pEvent) Then Return FileFormat.OutlookAttachment @@ -79,6 +85,8 @@ Partial Public Class FileDrop End If If IsNormalFile(pEvent) Then + Logger.Debug("File is a normal File") + Return FileFormat.LocalFile Else @@ -88,7 +96,13 @@ Partial Public Class FileDrop Public Function GetFiles(pEvent As DragEventArgs) As List(Of DroppedFile) Try + Dim oFormats As List(Of String) = GetFileFormats(pEvent) + Dim oFormatString = String.Join(", ", oFormats) + Logger.Debug("Available Formats: [{0}]", oFormatString) + Dim oFormat = GetFileFormat(pEvent) + Logger.Debug("Format: [{0}]", oFormat.ToString) + Dim oFiles As New List(Of DroppedFile) Select Case oFormat @@ -115,9 +129,12 @@ Partial Public Class FileDrop End Select + Logger.Debug("Handled [{0}] dropped files.", oFiles.Count) + Return oFiles Catch ex As Exception + Logger.Warn("Error while handling dropped files.") Logger.Error(ex) Return Nothing @@ -165,10 +182,15 @@ Partial Public Class FileDrop End While End Using - Return oBuilder.ToString + Dim oFileName As String = oBuilder.ToString + Logger.Debug("Outlook filename is [{0}]", oFileName) + + Return oFileName End Function Private Function GetOutlookFileContents_FromDragEvent(pEvent As DragEventArgs) As List(Of Byte()) + Logger.Debug("Getting file contents") + Using oStream As IO.MemoryStream = pEvent.Data.GetData("FileContents", True) If oStream Is Nothing Then Return Nothing @@ -185,6 +207,9 @@ Partial Public Class FileDrop End Function Private Function GetOutlookFileContents_FromInterop(pEvent As DragEventArgs) As List(Of Byte()) + Logger.Debug("Getting file contents") + Logger.Debug("Creating Outlook Application") + Dim oApp As Outlook.Application Try oApp = New Outlook.Application() @@ -197,6 +222,8 @@ Partial Public Class FileDrop Dim oMailItem As Outlook.MailItem For oIndex As Integer = 1 To oApp.ActiveExplorer.Selection.Count Try + Logger.Debug("Fetching mail [{0}]") + oMailItem = oApp.ActiveExplorer.Selection.Item(oIndex) Dim oSubject As String = ConvertTextToSlug(oMailItem.Subject) @@ -229,8 +256,11 @@ Partial Public Class FileDrop Return oResults Catch ex As Exception Logger.Error(ex) + End Try Next + + Return Nothing End Function Public Function GetFormat(pEvent As DragEventArgs, pFormat As String, pAutoConvert As Boolean) As Object