From cf6fe81869d150343663e9b7805377e442d39b8b Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 8 Apr 2022 16:21:29 +0200 Subject: [PATCH] Add Config to DocumentViewer --- Controls.DocumentViewer/Config.vb | 10 +++++ Controls.DocumentViewer/DocumentViewer.vb | 40 ++++++++++++++++--- Controls.DocumentViewer/DocumentViewer.vbproj | 5 +++ 3 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 Controls.DocumentViewer/Config.vb diff --git a/Controls.DocumentViewer/Config.vb b/Controls.DocumentViewer/Config.vb new file mode 100644 index 00000000..54d76ae6 --- /dev/null +++ b/Controls.DocumentViewer/Config.vb @@ -0,0 +1,10 @@ +Public Class Config + Public Enum PageFitSetting + Undefined + FitPage + FitWidth + End Enum + + Public Property PageFit + +End Class diff --git a/Controls.DocumentViewer/DocumentViewer.vb b/Controls.DocumentViewer/DocumentViewer.vb index 4a99e297..a19a679e 100644 --- a/Controls.DocumentViewer/DocumentViewer.vb +++ b/Controls.DocumentViewer/DocumentViewer.vb @@ -10,6 +10,7 @@ Imports DevExpress.Office.Utils Imports GdPicture14 Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Messaging +Imports DigitalData.Modules.Config Public Class DocumentViewer Private Enum ZoomMode @@ -37,6 +38,7 @@ Public Class DocumentViewer Private _logConfig As LogConfig Private _logger As Logger Private _email As Email2 + Private _Config As ConfigManager(Of Config) Private _hide_file_info_from_user As Boolean = False Private _FilePath As String @@ -63,8 +65,15 @@ Public Class DocumentViewer _email = New Email2(pLogConfig) _licenseKey = pLicenseKey _licenseManager.RegisterKEY(_licenseKey) + + Dim oConfigPath = ConfigPath() + _Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath) End Sub + Private Function ConfigPath() As String + Return Path.Combine(Application.UserAppDataPath, "DocumentViewer") + End Function + ''' ''' Terminate Viewer, freeing up resources and deleting temp files ''' @@ -370,6 +379,15 @@ Public Class DocumentViewer Private Sub UpdateMainUi() + Select Case _Config?.Config?.PageFit + Case Config.PageFitSetting.FitPage + FitToPage() + + Case Config.PageFitSetting.FitWidth + FitToWidth() + + End Select + Select Case _ViewerMode Case ViewerMode.GDPicture buttonPrint.Enabled = True @@ -566,19 +584,31 @@ Public Class DocumentViewer End Sub Private Sub btnFitWidth_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitWidth.ItemClick + FitToWidth() + _Config.Config.PageFit = Config.PageFitSetting.FitWidth + _Config.Save() + End Sub + + Private Sub btnFitPage_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitPage.ItemClick + FitToPage() + _Config.Config.PageFit = Config.PageFitSetting.FitPage + _Config.Save() + End Sub + + Private Sub FitToPage() If _ViewerMode = ViewerMode.GDPicture Then - GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer + GdViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer ElseIf _ViewerMode = ViewerMode.RichText Then - Dim oCmd As New FitWidthCommand(RichEditControl1) + Dim oCmd As New FitToPageCommand(RichEditControl1) oCmd.Execute() End If End Sub - Private Sub btnFitPage_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitPage.ItemClick + Private Sub FitToWidth() If _ViewerMode = ViewerMode.GDPicture Then - GdViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer + GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer ElseIf _ViewerMode = ViewerMode.RichText Then - Dim oCmd As New FitToPageCommand(RichEditControl1) + Dim oCmd As New FitWidthCommand(RichEditControl1) oCmd.Execute() End If End Sub diff --git a/Controls.DocumentViewer/DocumentViewer.vbproj b/Controls.DocumentViewer/DocumentViewer.vbproj index 278153e4..faf4d6b4 100644 --- a/Controls.DocumentViewer/DocumentViewer.vbproj +++ b/Controls.DocumentViewer/DocumentViewer.vbproj @@ -114,6 +114,7 @@ + DocumentViewer.vb @@ -171,6 +172,10 @@ + + {44982f9b-6116-44e2-85d0-f39650b1ef99} + Config + {903B2D7D-3B80-4BE9-8713-7447B704E1B0} Logging