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,15 +584,18 @@ Public Class DocumentViewer End Sub Private Sub btnFitWidth_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitWidth.ItemClick - If _ViewerMode = ViewerMode.GDPicture Then - GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer - ElseIf _ViewerMode = ViewerMode.RichText Then - Dim oCmd As New FitWidthCommand(RichEditControl1) - oCmd.Execute() - End If + 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.ZoomModeFitToViewer ElseIf _ViewerMode = ViewerMode.RichText Then @@ -583,6 +604,15 @@ Public Class DocumentViewer End If End Sub + Private Sub FitToWidth() + If _ViewerMode = ViewerMode.GDPicture Then + GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer + ElseIf _ViewerMode = ViewerMode.RichText Then + Dim oCmd As New FitWidthCommand(RichEditControl1) + oCmd.Execute() + End If + End Sub + Private Sub RichEditControl1_SizeChanged(sender As Object, e As EventArgs) Handles RichEditControl1.SizeChanged Dim oControlWidth = RichEditControl1.Width - 100 Dim oPageWidth = Units.DocumentsToPixelsF(RichEditControl1.Document.Sections(0).Page.Width, RichEditControl1.DpiX) 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