diff --git a/GUIs.ZooFlow/ClassInit.vb b/GUIs.ZooFlow/ClassInit.vb index 69cb533f..297e17cb 100644 --- a/GUIs.ZooFlow/ClassInit.vb +++ b/GUIs.ZooFlow/ClassInit.vb @@ -228,8 +228,18 @@ Public Class ClassInit For Each oRow As DataRow In My.Tables.DTIDB_CATALOG_USER.Rows If oRow.Item("CAT_TITLE") = ClassConstants.USER_CATALOG_APPLICATION_THEME Then - Dim oPaletteName As String = oRow.ItemEx("CAT_STRING", "Digital Data") - UserLookAndFeel.Default.SetSkinStyle(SkinStyle.Basic, oPaletteName) + Dim oThemeName As String = oRow.ItemEx("CAT_STRING", "Digital Data") + + If oThemeName.Contains("|") Then + Dim oSkin = oThemeName.Split("|").ElementAt(0) + Dim oPalette = oThemeName.Split("|").ElementAt(1) + + MyApplication.Skin = oSkin + MyApplication.Palette = oPalette + Else + MyApplication.Skin = oThemeName + MyApplication.Palette = "" + End If End If Next diff --git a/GUIs.ZooFlow/MyApplication.vb b/GUIs.ZooFlow/MyApplication.vb index 6e76e085..4877de5f 100644 --- a/GUIs.ZooFlow/MyApplication.vb +++ b/GUIs.ZooFlow/MyApplication.vb @@ -45,6 +45,9 @@ Namespace My ''' Example: My.Application.User ''' Partial Friend Class MyApplication + Public Property Skin As String = "" + Public Property Palette As String = "" + Public Property Settings As New State.SettingsState Public Property User As New State.UserState Public Property Service As New State.ServiceState diff --git a/GUIs.ZooFlow/Search/frmFlowSearch1.vb b/GUIs.ZooFlow/Search/frmFlowSearch1.vb index 92bd4867..fb0ac1bb 100644 --- a/GUIs.ZooFlow/Search/frmFlowSearch1.vb +++ b/GUIs.ZooFlow/Search/frmFlowSearch1.vb @@ -282,7 +282,16 @@ Public Class frmFlowSearch1 If txtSearchInput.Text = String.Empty Then Return End If - Await Search_GO() + + Dim oHandle = SplashScreenManager.ShowOverlayForm(Me) + + Try + Await Search_GO() + Catch ex As Exception + Logger.Error(ex) + Finally + SplashScreenManager.CloseOverlayForm(oHandle) + End Try End If End Function Private Function GetResultWindowString(SearchContent As String) As String diff --git a/GUIs.ZooFlow/frmConfigBasic.Designer.vb b/GUIs.ZooFlow/frmConfigBasic.Designer.vb index edd8228b..b7642c48 100644 --- a/GUIs.ZooFlow/frmConfigBasic.Designer.vb +++ b/GUIs.ZooFlow/frmConfigBasic.Designer.vb @@ -29,6 +29,7 @@ Partial Class frmConfigBasic Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem() Me.bsiInfo = New DevExpress.XtraBars.BarStaticItem() Me.SkinPaletteRibbonGalleryBarItem1 = New DevExpress.XtraBars.SkinPaletteRibbonGalleryBarItem() + Me.SkinRibbonGalleryBarItem1 = New DevExpress.XtraBars.SkinRibbonGalleryBarItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -56,9 +57,9 @@ Partial Class frmConfigBasic 'RibbonControl1 ' Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.bsiInfo, Me.SkinPaletteRibbonGalleryBarItem1}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.bsiInfo, Me.SkinPaletteRibbonGalleryBarItem1, Me.SkinRibbonGalleryBarItem1}) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl1.MaxItemId = 10 + Me.RibbonControl1.MaxItemId = 11 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] @@ -99,6 +100,12 @@ Partial Class frmConfigBasic Me.SkinPaletteRibbonGalleryBarItem1.Id = 9 Me.SkinPaletteRibbonGalleryBarItem1.Name = "SkinPaletteRibbonGalleryBarItem1" ' + 'SkinRibbonGalleryBarItem1 + ' + Me.SkinRibbonGalleryBarItem1.Caption = "SkinRibbonGalleryBarItem1" + Me.SkinRibbonGalleryBarItem1.Id = 10 + Me.SkinRibbonGalleryBarItem1.Name = "SkinRibbonGalleryBarItem1" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2}) @@ -115,6 +122,7 @@ Partial Class frmConfigBasic 'RibbonPageGroup2 ' Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far + Me.RibbonPageGroup2.ItemLinks.Add(Me.SkinRibbonGalleryBarItem1) Me.RibbonPageGroup2.ItemLinks.Add(Me.SkinPaletteRibbonGalleryBarItem1) Me.RibbonPageGroup2.Name = "RibbonPageGroup2" Me.RibbonPageGroup2.Text = "Oberflächen Design" @@ -258,4 +266,5 @@ Partial Class frmConfigBasic Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem Friend WithEvents SkinPaletteRibbonGalleryBarItem1 As DevExpress.XtraBars.SkinPaletteRibbonGalleryBarItem Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents SkinRibbonGalleryBarItem1 As DevExpress.XtraBars.SkinRibbonGalleryBarItem End Class diff --git a/GUIs.ZooFlow/frmConfigBasic.vb b/GUIs.ZooFlow/frmConfigBasic.vb index 4b8683f9..1efdc702 100644 --- a/GUIs.ZooFlow/frmConfigBasic.vb +++ b/GUIs.ZooFlow/frmConfigBasic.vb @@ -20,6 +20,8 @@ Public Class frmConfigBasic Dim oItem = SkinPaletteRibbonGalleryBarItem1.Gallery.GetAllItems(). Where(Function(item) item.Value = orow.ItemEx("CAT_STRING", String.Empty)). FirstOrDefault() + + If Not IsNothing(oItem) Then SkinPaletteRibbonGalleryBarItem1.Gallery.SetItemCheck(oItem, True) End If @@ -105,10 +107,36 @@ Public Class frmConfigBasic End Sub Private Sub SkinPaletteRibbonGalleryBarItem1_GalleryItemClick(sender As Object, e As DevExpress.XtraBars.Ribbon.GalleryItemClickEventArgs) Handles SkinPaletteRibbonGalleryBarItem1.GalleryItemClick - Dim oName = e.Item.Value + UpdateThemeSettings() + End Sub + Private Sub SkinRibbonGalleryBarItem1_GalleryItemClick(sender As Object, e As DevExpress.XtraBars.Ribbon.GalleryItemClickEventArgs) Handles SkinRibbonGalleryBarItem1.GalleryItemClick + Dim oDefaultPalette = SkinPaletteRibbonGalleryBarItem1.Gallery.GetAllItems().FirstOrDefault() + + If oDefaultPalette IsNot Nothing Then + SkinPaletteRibbonGalleryBarItem1.Gallery.FocusedItem = oDefaultPalette + End If + + UpdateThemeSettings() + End Sub + + Private Sub UpdateThemeSettings() Try - Dim oUpd = $"UPDATE TBIDB_CATALOG_USER SET CHANGED_WHO = '{My.Application.User.UserName}', CAT_STRING = '{oName}' + Dim oPalette = SkinPaletteRibbonGalleryBarItem1.Gallery.GetCheckedItem() + Dim oSkin = SkinRibbonGalleryBarItem1.Gallery.GetCheckedItem() + Dim oThemeString = "" + + If oSkin Is Nothing Then + Exit Sub + End If + + oThemeString = oSkin.Value + + If oPalette IsNot Nothing Then + oThemeString &= "|" & oPalette.Value + End If + + Dim oUpd = $"UPDATE TBIDB_CATALOG_USER SET CHANGED_WHO = '{My.Application.User.UserName}', CAT_STRING = '{oThemeString}' WHERE CAT_TITLE = '{ClassConstants.USER_CATALOG_APPLICATION_THEME}'" If My.Database.ExecuteNonQuery(oUpd, DigitalData.Modules.EDMI.API.Constants.DatabaseType.IDB) = True Then bsiInfo.Caption = "Application Theme saved!" diff --git a/GUIs.ZooFlow/frmFlowForm.vb b/GUIs.ZooFlow/frmFlowForm.vb index 1642891e..9684fc2c 100644 --- a/GUIs.ZooFlow/frmFlowForm.vb +++ b/GUIs.ZooFlow/frmFlowForm.vb @@ -212,6 +212,12 @@ Public Class frmFlowForm Logger = My.LogConfig.GetLogger() ErrorHandler = New BaseErrorHandler(My.LogConfig, Logger, Me) + If My.Application.Palette = "" Then + UserLookAndFeel.Default.SetSkinStyle(My.Application.Skin) + Else + UserLookAndFeel.Default.SetSkinStyle(My.Application.Skin, My.Application.Palette) + End If + ' === Setup Timers === AddHandler TimerRefreshData.Tick, AddressOf TimerRefreshData_Tick TimerRefreshData.Enabled = True diff --git a/GUIs.ZooFlow/modCurrent.vb b/GUIs.ZooFlow/modCurrent.vb index a2849bfd..e45181a5 100644 --- a/GUIs.ZooFlow/modCurrent.vb +++ b/GUIs.ZooFlow/modCurrent.vb @@ -3,6 +3,10 @@ Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Config Module modCurrent + Public Property APPLICATION_THEME = "" + Public Property APPLICATION_PALETTE = "" + + Public Property CURR_MISSING_PATTERN_NAME = "Email To" Public Property CURR_MISSING_SEARCH_STRING = String.Empty Public Property CURR_MISSING_MANUAL_VALUE = String.Empty