DocumentViewer: Make toolbar buttons configurable

This commit is contained in:
Jonathan Jenne 2024-01-12 11:19:10 +01:00
parent d5911fa9be
commit 30b06d050d

View File

@ -51,6 +51,8 @@ Public Class DocumentViewer
Private _Annotations As Annotations
Private _AnnotationsPending As Boolean = False
Private _ToolbarSettings As New ToolbarSettings
Private _hide_file_info_from_user As Boolean = False
Private _FileStream As Stream
@ -65,6 +67,16 @@ Public Class DocumentViewer
UpdateMainUi()
End Sub
Public Class ToolbarSettings
Public Property ShowPrintButton As Boolean = True
Public Property ShowFitWidthButton As Boolean = True
Public Property ShowFitPageButton As Boolean = True
Public Property ShowZoomButton As Boolean = True
Public Property ShowRotateButton As Boolean = True
Public Property ShowFlipButton As Boolean = True
Public Property ShowSearchButton As Boolean = True
Public Property ShowSettingButton As Boolean = True
End Class
Public Property FileLoaded As Boolean = False
Public ReadOnly Property AnnotationsSaved As Boolean
@ -78,7 +90,7 @@ Public Class DocumentViewer
''' </summary>
''' <param name="pLogConfig">A LogConfig object</param>
''' <param name="pLicenseKey">The GDPicture.NET License Key</param>
Public Sub Init(pLogConfig As LogConfig, pLicenseKey As String)
Public Sub Init(pLogConfig As LogConfig, pLicenseKey As String, pToolbarSettings As ToolbarSettings)
_logConfig = pLogConfig
_logger = pLogConfig.GetLogger()
_email = New Email2(pLogConfig)
@ -86,11 +98,16 @@ Public Class DocumentViewer
_licenseManager.RegisterKEY(_licenseKey)
_Annotations = New Annotations(pLogConfig)
_Search = New Search(pLogConfig, GdViewer)
_ToolbarSettings = pToolbarSettings
Dim oConfigPath = ConfigPath()
_Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath)
End Sub
Public Sub Init(pLogConfig As LogConfig, pLicenseKey As String)
Init(pLogConfig, pLicenseKey, New ToolbarSettings())
End Sub
''' <summary>
''' Load a file from a path and display it
''' </summary>
@ -646,27 +663,31 @@ Public Class DocumentViewer
Select Case _ViewerMode
Case ViewerMode.GDPicture
buttonPrint.Enabled = True
buttonFitWidth.Enabled = True
buttonFitPage.Enabled = True
buttonZoomIn.Enabled = True
buttonZoomOut.Enabled = True
buttonRotateLeft.Enabled = True
buttonRotateRight.Enabled = True
buttonFlipX.Enabled = True
buttonFlipY.Enabled = True
buttonPrint.Enabled = _ToolbarSettings.ShowPrintButton
buttonFitWidth.Enabled = _ToolbarSettings.ShowFitWidthButton
buttonFitPage.Enabled = _ToolbarSettings.ShowFitPageButton
buttonZoomIn.Enabled = _ToolbarSettings.ShowZoomButton
buttonZoomOut.Enabled = _ToolbarSettings.ShowZoomButton
buttonRotateLeft.Enabled = _ToolbarSettings.ShowRotateButton
buttonRotateRight.Enabled = _ToolbarSettings.ShowRotateButton
buttonFlipX.Enabled = _ToolbarSettings.ShowFlipButton
buttonFlipY.Enabled = _ToolbarSettings.ShowFlipButton
buttonSettings.Enabled = _ToolbarSettings.ShowSettingButton
txtSearch.Enabled = _ToolbarSettings.ShowSearchButton
btnSearch2.Enabled = _ToolbarSettings.ShowSearchButton
btnNextHighlight.Enabled = _ToolbarSettings.ShowSearchButton
btnPrevHighlight.Enabled = _ToolbarSettings.ShowSearchButton
buttonFirstPage.Enabled = True
buttonPrevPage.Enabled = True
buttonNextPage.Enabled = True
buttonLastPage.Enabled = True
buttonSettings.Enabled = True
txtCurrentPage.Enabled = True
Case ViewerMode.RichText
buttonFitPage.Enabled = True
buttonZoomIn.Enabled = True
buttonZoomOut.Enabled = True
buttonFitWidth.Enabled = True
buttonFitWidth.Enabled = _ToolbarSettings.ShowFitWidthButton
buttonFitPage.Enabled = _ToolbarSettings.ShowFitPageButton
buttonZoomIn.Enabled = _ToolbarSettings.ShowZoomButton
buttonZoomOut.Enabled = _ToolbarSettings.ShowZoomButton
buttonNextPage.Enabled = True
buttonPrevPage.Enabled = True
@ -679,6 +700,10 @@ Public Class DocumentViewer
buttonLastPage.Enabled = False
buttonSettings.Enabled = False
txtCurrentPage.Enabled = False
txtSearch.Enabled = False
btnSearch2.Enabled = False
btnNextHighlight.Enabled = False
btnPrevHighlight.Enabled = False
Case ViewerMode.Excel
buttonPrint.Enabled = False
@ -696,6 +721,10 @@ Public Class DocumentViewer
buttonLastPage.Enabled = False
buttonSettings.Enabled = False
txtCurrentPage.Enabled = False
txtSearch.Enabled = False
btnSearch2.Enabled = False
btnNextHighlight.Enabled = False
btnPrevHighlight.Enabled = False
End Select
End Sub