From 308b26556c15fad4365719c7b373870c88b6a5c8 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 6 May 2022 13:29:06 +0200 Subject: [PATCH 1/4] Zooflow: Implement prefix for Config and Logging, Remove halbgar dev config --- .../Administration/frmAdmin_Start.Designer.vb | 29 +++----- GUIs.ZooFlow/Administration/frmAdmin_Start.vb | 57 --------------- GUIs.ZooFlow/App.config | 3 + GUIs.ZooFlow/ApplicationEvents.vb | 70 ++++++++++++++----- GUIs.ZooFlow/ClassInit.vb | 21 ++++-- GUIs.ZooFlow/ClassModules.vb | 4 +- .../{ClassConfig.vb => SystemConfig.vb} | 22 +----- .../Config/{ClassUIConfig.vb => UIConfig.vb} | 2 +- GUIs.ZooFlow/Modules/Globix/State.vb | 2 +- GUIs.ZooFlow/My Project/Settings.Designer.vb | 9 +++ GUIs.ZooFlow/My Project/Settings.settings | 3 + GUIs.ZooFlow/MyApplication.vb | 8 +-- GUIs.ZooFlow/ZooFlow.vbproj | 4 +- GUIs.ZooFlow/frmServiceConfig.vb | 11 ++- 14 files changed, 112 insertions(+), 133 deletions(-) rename GUIs.ZooFlow/Config/{ClassConfig.vb => SystemConfig.vb} (70%) rename GUIs.ZooFlow/Config/{ClassUIConfig.vb => UIConfig.vb} (97%) diff --git a/GUIs.ZooFlow/Administration/frmAdmin_Start.Designer.vb b/GUIs.ZooFlow/Administration/frmAdmin_Start.Designer.vb index db5f7877..8d656b94 100644 --- a/GUIs.ZooFlow/Administration/frmAdmin_Start.Designer.vb +++ b/GUIs.ZooFlow/Administration/frmAdmin_Start.Designer.vb @@ -60,8 +60,6 @@ Partial Class frmAdmin_Start Me.btnEditRecord = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem26 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem27 = New DevExpress.XtraBars.BarButtonItem() - Me.btnDatabaseConnection = New DevExpress.XtraBars.BarButtonItem() - Me.btnSecondServiceConnection = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -114,6 +112,7 @@ Partial Class frmAdmin_Start Me.RibbonGroup_ClipboardWatcher_DocSearch = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonGroup_ClipboardWatcher_Profile = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPage_ClipboardWatcher = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.btnSecondServiceConnection = New DevExpress.XtraBars.BarButtonItem() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TreeListMenu, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.MainTreeImages, System.ComponentModel.ISupportInitialize).BeginInit() @@ -136,7 +135,7 @@ Partial Class frmAdmin_Start 'RibbonControl1 ' Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.labelStatus, Me.labelError, Me.BarButtonItemAddAttribute, Me.BarButtonItemRefreshAttribute, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarButtonItem12, Me.BarButtonItem13, Me.BarButtonItem14, Me.BarButtonItem15, Me.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem18, Me.BarButtonItem19, Me.BarButtonItem20, Me.BarButtonItem21, Me.BarButtonItem22, Me.BarButtonItem23, Me.BarButtonItem24, Me.BarButtonItem25, Me.btnAddRecord, Me.btnEditRecord, Me.BarButtonItem26, Me.BarButtonItem27, Me.btnDatabaseConnection, Me.btnSecondServiceConnection}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.labelStatus, Me.labelError, Me.BarButtonItemAddAttribute, Me.BarButtonItemRefreshAttribute, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarButtonItem12, Me.BarButtonItem13, Me.BarButtonItem14, Me.BarButtonItem15, Me.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem18, Me.BarButtonItem19, Me.BarButtonItem20, Me.BarButtonItem21, Me.BarButtonItem22, Me.BarButtonItem23, Me.BarButtonItem24, Me.BarButtonItem25, Me.btnAddRecord, Me.btnEditRecord, Me.BarButtonItem26, Me.BarButtonItem27}) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) Me.RibbonControl1.MaxItemId = 39 Me.RibbonControl1.Name = "RibbonControl1" @@ -374,20 +373,6 @@ Partial Class frmAdmin_Start Me.BarButtonItem27.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.text1 Me.BarButtonItem27.Name = "BarButtonItem27" ' - 'btnDatabaseConnection - ' - Me.btnDatabaseConnection.Caption = "Datenbank konfigurieren" - Me.btnDatabaseConnection.Id = 37 - Me.btnDatabaseConnection.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.managedatasource3 - Me.btnDatabaseConnection.Name = "btnDatabaseConnection" - ' - 'btnSecondServiceConnection - ' - Me.btnSecondServiceConnection.Caption = "Dienstkonfiguration umschalten" - Me.btnSecondServiceConnection.Id = 38 - Me.btnSecondServiceConnection.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.switchrowcolumns - Me.btnSecondServiceConnection.Name = "btnSecondServiceConnection" - ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup2, Me.RibbonPageGroup1}) @@ -399,8 +384,6 @@ Partial Class frmAdmin_Start Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem27) Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem9) - Me.RibbonPageGroup2.ItemLinks.Add(Me.btnDatabaseConnection) - Me.RibbonPageGroup2.ItemLinks.Add(Me.btnSecondServiceConnection) Me.RibbonPageGroup2.Name = "RibbonPageGroup2" Me.RibbonPageGroup2.Text = "Daten" ' @@ -835,6 +818,13 @@ Partial Class frmAdmin_Start Me.RibbonPage_ClipboardWatcher.Name = "RibbonPage_ClipboardWatcher" Me.RibbonPage_ClipboardWatcher.Text = "Clipboard Watcher" ' + 'btnSecondServiceConnection + ' + Me.btnSecondServiceConnection.Caption = "Dienstkonfiguration umschalten" + Me.btnSecondServiceConnection.Id = 38 + Me.btnSecondServiceConnection.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.switchrowcolumns + Me.btnSecondServiceConnection.Name = "btnSecondServiceConnection" + ' 'frmAdmin_Start ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -959,6 +949,5 @@ Partial Class frmAdmin_Start Friend WithEvents RibbonPage_ClipboardWatcher As DevExpress.XtraBars.Ribbon.RibbonPage Friend WithEvents BarButtonItem26 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem27 As DevExpress.XtraBars.BarButtonItem - Friend WithEvents btnDatabaseConnection As DevExpress.XtraBars.BarButtonItem Friend WithEvents btnSecondServiceConnection As DevExpress.XtraBars.BarButtonItem End Class diff --git a/GUIs.ZooFlow/Administration/frmAdmin_Start.vb b/GUIs.ZooFlow/Administration/frmAdmin_Start.vb index 0e36230d..988fbd03 100644 --- a/GUIs.ZooFlow/Administration/frmAdmin_Start.vb +++ b/GUIs.ZooFlow/Administration/frmAdmin_Start.vb @@ -30,13 +30,6 @@ Public Class frmAdmin_Start DetailForm = New ClassDetailForm(My.LogConfig) AddHandler DetailForm.DetailFormClosed, AddressOf DetailForm_Closed - 'If My.SystemConfig.ConnectionString = String.Empty Then - ' If ShowDatabaseSettings() = False Then - ' MsgBox("Die Datenbank verbindung wurde nicht konfiguriert. Die Administration kann nicht verwendet werden.", MsgBoxStyle.Critical, Text) - ' Exit Sub - ' End If - 'End If - DetailForm.LoadData() TreeListMenu.ExpandAll() End Sub @@ -290,54 +283,4 @@ Public Class frmAdmin_Start Dim oForm As New frmAdmin_UserImport() oForm.ShowDialog() End Sub - - Private Sub btnDatabaseConnection_ItemClick(sender As Object, e As ItemClickEventArgs) Handles btnDatabaseConnection.ItemClick - ShowDatabaseSettings() - End Sub - - Private Function ShowDatabaseSettings() As Boolean - Dim oForm As New frmSQLConfig(My.LogConfig) With { - .ConnectionString = My.SystemConfig.ConnectionString, - .FormTitle = "ECM Datenbank" - } - Dim oResult = oForm.ShowDialog() - - If oResult = DialogResult.OK Then - My.SystemConfig.ConnectionString = oForm.ConnectionString - My.SystemConfigManager.Save() - - Return True - Else - Return False - End If - End Function - - Private Sub btnSecondServiceConnection_ItemClick(sender As Object, e As ItemClickEventArgs) Handles btnSecondServiceConnection.ItemClick - If My.SystemConfig.AppServerConfigDevelopment = String.Empty Then - Dim oAnswer = MsgBox("Es ist keine zweite Dienstkonfiguration vorhanden. Wollen Sie nun eine hinterlegen?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, Text) - If oAnswer = MsgBoxResult.Yes Then - Dim oForm As New frmServiceConfig() With { - .ServiceAddress = "", - .ServiceOnline = False - } - - oForm.ShowDialog() - - My.SystemConfig.AppServerConfigDevelopment = oForm.ServiceAddress - My.SystemConfigManager.Save() - Else - ' Cancel - Exit Sub - End If - End If - - Dim oServiceAddress = My.SystemConfig.AppServerConfig - If My.Application.Service.Client.ServerAddress = My.SystemConfig.AppServerConfig Then - oServiceAddress = My.SystemConfig.AppServerConfigDevelopment - Else - oServiceAddress = My.SystemConfig.AppServerConfig - End If - - My.Application.Service.Client = New Modules.EDMI.API.Client(My.LogConfig, oServiceAddress) - End Sub End Class \ No newline at end of file diff --git a/GUIs.ZooFlow/App.config b/GUIs.ZooFlow/App.config index 61f306be..c913810d 100644 --- a/GUIs.ZooFlow/App.config +++ b/GUIs.ZooFlow/App.config @@ -22,6 +22,9 @@ True + + DEV + diff --git a/GUIs.ZooFlow/ApplicationEvents.vb b/GUIs.ZooFlow/ApplicationEvents.vb index bcd81a97..ffd692cc 100644 --- a/GUIs.ZooFlow/ApplicationEvents.vb +++ b/GUIs.ZooFlow/ApplicationEvents.vb @@ -1,4 +1,5 @@ -Imports DigitalData.Modules.Config +Imports System.IO.Path +Imports DigitalData.Modules.Config Imports DigitalData.Modules.EDMI.API Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging.LogConfig @@ -12,25 +13,57 @@ Namespace My ' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn die Anwendung bereits aktiv ist. ' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst. Partial Friend Class MyApplication - Private _Logger As Logger - - Private UserAppDataPath As String = Windows.Forms.Application.UserAppDataPath - Private BaseLocalUserConfigPath As String = Windows.Forms.Application.LocalUserAppDataPath - Private CommonAppDataPath As String = Windows.Forms.Application.CommonAppDataPath - Private StartupPath As String = Windows.Forms.Application.StartupPath - - + Private Logger As Logger + + Private ReadOnly CommonAppDataPath As String = Windows.Forms.Application.CommonAppDataPath + Private ReadOnly StartupPath As String = Windows.Forms.Application.StartupPath + + Private ReadOnly Property Prefix + Get + Return My.Settings.UserConfig_Prefix + End Get + End Property + + Private ReadOnly Property HasPrefix + Get + Return TypeOf Prefix Is String AndAlso Prefix.Length > 0 + End Get + End Property + + Public ReadOnly Property UserAppDataPath As String + Get + If HasPrefix Then + Return Combine(Windows.Forms.Application.UserAppDataPath, Prefix) + Else + Return Windows.Forms.Application.UserAppDataPath + End If + End Get + End Property + + Public ReadOnly Property LocalUserConfigPath As String + Get + If HasPrefix Then + Return Combine(Windows.Forms.Application.LocalUserAppDataPath, Prefix) + Else + Return Windows.Forms.Application.LocalUserAppDataPath + End If + End Get + End Property Public Sub App_Startup() Handles Me.Startup - Dim oLogConfig As New LogConfig(LogPath:=PathType.AppData, CompanyName:="Digital Data", ProductName:="ZooFlow", FileKeepRangeInDays:=30) With {.Debug = True} + Dim oLogConfig As New LogConfig(LogPath:=PathType.CustomPath, + CustomLogPath:=Combine(LocalUserConfigPath, "Log"), + CompanyName:="Digital Data", + ProductName:="ZooFlow", + FileKeepRangeInDays:=30) With {.Debug = True} ' System Config files like Service Url will be saved in %LocalAppdata% so they will remain on the machine - Dim oConfigManager As New ConfigManager(Of ClassConfig)(oLogConfig, UserAppDataPath, CommonAppDataPath, StartupPath) + Dim oConfigManager As New ConfigManager(Of SystemConfig)(oLogConfig, UserAppDataPath, CommonAppDataPath, StartupPath) ' Layout files will be saved in %Appdata% (Roaming) so they will be syncronized with the user profile Dim oUIConfigPath = IO.Path.Combine(UserAppDataPath, ClassConstants.FOLDER_NAME_LAYOUT) Dim oUIConfigAlternatePath = IO.Path.Combine(UserAppDataPath, ClassConstants.FOLDER_NAME_LAYOUT) - Dim oUIConfigManager As New ConfigManager(Of ClassUIConfig)(oLogConfig, oUIConfigPath, oUIConfigPath, oUIConfigAlternatePath) + Dim oUIConfigManager As New ConfigManager(Of UIConfig)(oLogConfig, oUIConfigPath, oUIConfigPath, oUIConfigAlternatePath) LogConfig = oLogConfig LogConfig.Debug = True @@ -38,8 +71,8 @@ Namespace My SystemConfigManager = oConfigManager UIConfigManager = oUIConfigManager - _Logger = LogConfig.GetLogger() - _Logger.Debug("Starting ZooFlow...") + Logger = LogConfig.GetLogger() + Logger.Debug("Starting ZooFlow...") If oConfigManager.Config.AppServerConfig <> String.Empty Then Try @@ -55,7 +88,7 @@ Namespace My My.Application.Service.Client.Connect() End If Catch ex As Exception - _Logger.Warn($"Could not initialize the AppServer: {ex.Message}") + Logger.Warn($"Could not initialize the AppServer: {ex.Message}") End Try End If @@ -68,12 +101,13 @@ Namespace My End Sub Public Sub App_Shutdown(sender As Object, e As EventArgs) Handles Me.Shutdown - _Logger.Debug("Shutting down Zooflow..") + Logger.Debug("Shutting down Zooflow..") End Sub Private Sub MyApplication_UnhandledException(sender As Object, e As UnhandledExceptionEventArgs) Handles Me.UnhandledException - _Logger.Warn("Unhandled exception occurred: [{0}]", e.Exception.Message) - _Logger.Error(e.Exception) + Logger.Warn("Unhandled exception occurred: [{0}]", e.Exception.Message) + Logger.Error(e.Exception) End Sub + End Class End Namespace \ No newline at end of file diff --git a/GUIs.ZooFlow/ClassInit.vb b/GUIs.ZooFlow/ClassInit.vb index 24b4c676..147e5d1a 100644 --- a/GUIs.ZooFlow/ClassInit.vb +++ b/GUIs.ZooFlow/ClassInit.vb @@ -118,15 +118,26 @@ Public Class ClassInit If oResult <> DialogResult.OK Then Throw New InitException("Could not initialize IDB-Service!") End If + + My.SystemConfig.AppServerConfig = oForm.ServiceAddress + My.SystemConfigManager.Save() End If ' These Properties need to be set directly on - My.Application.Service.Address = My.SystemConfig.AppServerConfig - My.Application.Service.Client = New Client(LogConfig, My.SystemConfig.AppServerConfig) + MyApplication.Service.Address = My.SystemConfig.AppServerConfig + + Dim oClient = New Client(LogConfig, My.SystemConfig.AppServerConfig) + MyApplication.Service.Client = oClient + My.Application.Service.Client = oClient + + If oClient Is Nothing Then + Throw New InitException("Could not initialize IDB-Service!") + End If - If Not IsNothing(My.Application.Service.Client) Then - My.Application.Service.Client.Connect() + Dim oConnectionResult = My.Application.Service.Client.Connect() + If oConnectionResult = False Then + Throw New InitException("Could not connect to Service!") End If Catch ex As Exception Logger.Error(ex) @@ -136,7 +147,7 @@ Public Class ClassInit Private Sub InitializeDatabaseWithFallback(MyApplication As My.MyApplication) Try Logger.Debug("Loading client config..") - Dim oClientConfig = MyApplication.Service.Client.ClientConfig + Dim oClientConfig = My.Application.Service.Client.ClientConfig Logger.Debug("Establishing ECM connection..") Dim oECMConnectionString = oClientConfig.ConnectionStringECM diff --git a/GUIs.ZooFlow/ClassModules.vb b/GUIs.ZooFlow/ClassModules.vb index 79a96141..48aec367 100644 --- a/GUIs.ZooFlow/ClassModules.vb +++ b/GUIs.ZooFlow/ClassModules.vb @@ -18,9 +18,9 @@ Public Class ClassModules Private Const REGNODE_MANUFACTURER = "Digital Data" Private Const REGPATH_BASE = "SOFTWARE\\WOW6432Node" - Private Config As ClassConfig + Private Config As SystemConfig - Public Sub New(pLogConfig As LogConfig, pConfig As ClassConfig) + Public Sub New(pLogConfig As LogConfig, pConfig As SystemConfig) MyBase.New(pLogConfig) Config = pConfig End Sub diff --git a/GUIs.ZooFlow/Config/ClassConfig.vb b/GUIs.ZooFlow/Config/SystemConfig.vb similarity index 70% rename from GUIs.ZooFlow/Config/ClassConfig.vb rename to GUIs.ZooFlow/Config/SystemConfig.vb index d293d5d2..aed1cb31 100644 --- a/GUIs.ZooFlow/Config/ClassConfig.vb +++ b/GUIs.ZooFlow/Config/SystemConfig.vb @@ -21,31 +21,11 @@ Imports DigitalData.Modules.Config.ConfigAttributes ''' ''' After changing a config value, My.ConfigManager.Save() must be called to persist the change in the config file ''' -Public Class ClassConfig - Public Function GetConnectionStringBuilder(ConnectionString As String) As SqlClient.SqlConnectionStringBuilder - Try - If ConnectionString = String.Empty Then - Return Nothing - End If - - Dim oBuilder As New SqlClient.SqlConnectionStringBuilder(ConnectionString) - Return oBuilder - Catch ex As Exception - Return Nothing - End Try - End Function - - +Public Class SystemConfig ' === Service Configuration === - - Public Property ConnectionString As String = String.Empty - Public Property AppServerConfig As String = String.Empty - - Public Property AppServerConfigDevelopment As String = String.Empty - ' === Logging Configuration Public Property LogDebug As Boolean = False diff --git a/GUIs.ZooFlow/Config/ClassUIConfig.vb b/GUIs.ZooFlow/Config/UIConfig.vb similarity index 97% rename from GUIs.ZooFlow/Config/ClassUIConfig.vb rename to GUIs.ZooFlow/Config/UIConfig.vb index 6301f076..7e59e344 100644 --- a/GUIs.ZooFlow/Config/ClassUIConfig.vb +++ b/GUIs.ZooFlow/Config/UIConfig.vb @@ -1,4 +1,4 @@ -Public Class ClassUIConfig +Public Class UIConfig Public Property FlowForm As New FlowFormConfig Public Property SearchForm As New SearchFormConfig Public Property Globix As New GlobixConfig diff --git a/GUIs.ZooFlow/Modules/Globix/State.vb b/GUIs.ZooFlow/Modules/Globix/State.vb index 9d5e710f..ec3e27f6 100644 --- a/GUIs.ZooFlow/Modules/Globix/State.vb +++ b/GUIs.ZooFlow/Modules/Globix/State.vb @@ -18,7 +18,7 @@ Namespace Globix Public Property Folderwatchstarted As Boolean = False Public Property ScanFolderwatchstarted As Boolean = False Public Property DTEXCLUDE_FILES As DataTable - Public Property PATH_FileExclusions As String = Path.Combine(Application.UserAppDataPath(), "FileExclusions.xml") + Public Property PATH_FileExclusions As String = Path.Combine(My.Application.UserAppDataPath, "FileExclusions.xml") End Class End Namespace diff --git a/GUIs.ZooFlow/My Project/Settings.Designer.vb b/GUIs.ZooFlow/My Project/Settings.Designer.vb index b4064d29..0733cca8 100644 --- a/GUIs.ZooFlow/My Project/Settings.Designer.vb +++ b/GUIs.ZooFlow/My Project/Settings.Designer.vb @@ -95,6 +95,15 @@ Partial Friend NotInheritable Class Settings Me("IDBOBJID") = value End Set End Property + + _ + Public ReadOnly Property UserConfig_Prefix() As String + Get + Return CType(Me("UserConfig_Prefix"),String) + End Get + End Property End Class Namespace My diff --git a/GUIs.ZooFlow/My Project/Settings.settings b/GUIs.ZooFlow/My Project/Settings.settings index 428b14b9..05598171 100644 --- a/GUIs.ZooFlow/My Project/Settings.settings +++ b/GUIs.ZooFlow/My Project/Settings.settings @@ -24,5 +24,8 @@ + + DEV + \ No newline at end of file diff --git a/GUIs.ZooFlow/MyApplication.vb b/GUIs.ZooFlow/MyApplication.vb index ac42be0e..109c97df 100644 --- a/GUIs.ZooFlow/MyApplication.vb +++ b/GUIs.ZooFlow/MyApplication.vb @@ -11,15 +11,15 @@ Namespace My ''' Module Extension - Property SystemConfigManager As ConfigManager(Of ClassConfig) - ReadOnly Property SystemConfig As ClassConfig + Property SystemConfigManager As ConfigManager(Of SystemConfig) + ReadOnly Property SystemConfig As SystemConfig Get Return SystemConfigManager.Config End Get End Property - Property UIConfigManager As ConfigManager(Of ClassUIConfig) - ReadOnly Property UIConfig As ClassUIConfig + Property UIConfigManager As ConfigManager(Of UIConfig) + ReadOnly Property UIConfig As UIConfig Get Return UIConfigManager.Config End Get diff --git a/GUIs.ZooFlow/ZooFlow.vbproj b/GUIs.ZooFlow/ZooFlow.vbproj index 6e70e140..e61bb074 100644 --- a/GUIs.ZooFlow/ZooFlow.vbproj +++ b/GUIs.ZooFlow/ZooFlow.vbproj @@ -419,10 +419,10 @@ - + - + frmSettings.vb diff --git a/GUIs.ZooFlow/frmServiceConfig.vb b/GUIs.ZooFlow/frmServiceConfig.vb index ee2259df..a4553fdf 100644 --- a/GUIs.ZooFlow/frmServiceConfig.vb +++ b/GUIs.ZooFlow/frmServiceConfig.vb @@ -1,4 +1,5 @@ -Imports DigitalData.Modules.EDMI.API +Imports System.ComponentModel +Imports DigitalData.Modules.EDMI.API Imports DigitalData.Modules.Logging Public Class frmServiceConfig @@ -67,5 +68,11 @@ Public Class frmServiceConfig End Try End Sub - + Private Sub frmServiceConfig_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing + If ServiceAddress <> "" And ServiceOnline = True Then + DialogResult = DialogResult.OK + Else + DialogResult = DialogResult.Cancel + End If + End Sub End Class \ No newline at end of file From 54f875af09d39077ab3af7766cc748fd67a53a8e Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 6 May 2022 13:51:36 +0200 Subject: [PATCH 2/4] Fix file exclusion path to respect userconfig_prefix --- Controls.SQLEditor/SQLEditor.vbproj.bak | 199 ---------- Controls.SQLEditor/frmSQLEditor.resx.bak | 367 ------------------ .../Modules/Globix/ClassExclusions.vb | 10 +- GUIs.ZooFlow/Modules/Globix/State.vb | 1 - .../Modules/Globix/frmGlobixBasicConfig.vb | 29 +- GUIs.ZooFlow/frmFlowForm.vb | 2 +- 6 files changed, 23 insertions(+), 585 deletions(-) delete mode 100644 Controls.SQLEditor/SQLEditor.vbproj.bak delete mode 100644 Controls.SQLEditor/frmSQLEditor.resx.bak diff --git a/Controls.SQLEditor/SQLEditor.vbproj.bak b/Controls.SQLEditor/SQLEditor.vbproj.bak deleted file mode 100644 index 3ec5cb1e..00000000 --- a/Controls.SQLEditor/SQLEditor.vbproj.bak +++ /dev/null @@ -1,199 +0,0 @@ - - - - - Debug - AnyCPU - {3E7BC8A9-91EF-49B8-8110-2C01F664C24A} - Library - - - DigitalData.Controls.SQLEditor - DigitalData.Controls.SQLEditor - 512 - Windows - v4.6.1 - true - true - - - AnyCPU - true - full - true - true - bin\Debug\ - DigitalData.Controls.SQLEditor.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - AnyCPU - pdbonly - false - true - true - bin\Release\ - DigitalData.Controls.SQLEditor.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - - - - - - - - - - - - - ..\packages\NLog.4.7.10\lib\net45\NLog.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - frmSQLEditor.vb - - - Form - - - - True - Application.myapp - True - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - frmSQLEditor.vb - - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {d20a6bf2-c7c6-4a7a-b34d-fa27d775a049} - Common - - - {eaf0ea75-5fa7-485d-89c7-b2d843b03a96} - Database - - - {d3c8cfed-d6f6-43a8-9bdf-454145d0352f} - Language - - - {903b2d7d-3b80-4be9-8713-7447b704e1b0} - Logging - - - {7c3b0c7e-59fe-4e1a-a655-27ae119f9444} - Patterns - - - - \ No newline at end of file diff --git a/Controls.SQLEditor/frmSQLEditor.resx.bak b/Controls.SQLEditor/frmSQLEditor.resx.bak deleted file mode 100644 index f53ea551..00000000 --- a/Controls.SQLEditor/frmSQLEditor.resx.bak +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFUCAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAxNiAxNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNiI+DQogIDxz - dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuTWFza3tmaWxsOiM3MDcwNzA7fQoJLnN0MHtvcGFjaXR5OjAu - NTt9Cjwvc3R5bGU+DQogIDxnIGlkPSJJbnNpZGVfQm9yZGVyIj4NCiAgICA8cGF0aCBkPSJNOS41LDJD - NywyLDUsNCw1LDYuNWMwLDEsMC4zLDEuOSwwLjksMi42bC00LjQsNC40bDEsMWw0LjQtNC40QzcuNiwx - MC43LDguNSwxMSw5LjUsMTFDMTIsMTEsMTQsOSwxNCw2LjUgICBTMTIsMiw5LjUsMnogTTkuNSwxMEM3 - LjYsMTAsNiw4LjQsNiw2LjVTNy42LDMsOS41LDNTMTMsNC42LDEzLDYuNVMxMS40LDEwLDkuNSwxMHoi - IGNsYXNzPSJNYXNrIiAvPg0KICA8L2c+DQogIDxnIGlkPSJMYXllcl8yIiAvPg0KPC9zdmc+Cw== - - - - 17, 17 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAACQCAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z - ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz - OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp - dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkNoZWNrIj4NCiAgICA8cG9seWdvbiBwb2ludHM9IjI3 - LDUgMTEsMjEgNSwxNSAyLDE4IDExLDI3IDMwLDggICIgY2xhc3M9IkdyZWVuIiAvPg0KICA8L2c+DQo8 - L3N2Zz4L - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFoEAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ - LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD - MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh - Y2l0eTowLjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iVXBkYXRlRGF0YUV4dHJhY3QiPg0KICAgIDxwYXRo - IGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0YzAsMi4yLTQuNSw0LTEwLDRT - NCwxMi4yLDQsMTB6IE0xNCwyMGMwLjUsMCwxLjEsMCwxLjYtMC4xICAgYzEuNi0yLjQsNC4zLTMuOSw3 - LjQtMy45YzAuMywwLDAuNywwLDEsMC4xYzAsMCwwLDAsMC0wLjF2LTRjMCwyLjItNC41LDQtMTAsNFM0 - LDE0LjIsNCwxMnY0QzQsMTguMiw4LjUsMjAsMTQsMjB6IE0xNCwyNEwxNCwyNCAgIGMwLjEtMC43LDAu - My0xLjQsMC41LTJjLTAuMiwwLTAuNCwwLTAuNSwwYy01LjUsMC0xMC0xLjgtMTAtNHY0YzAsMi4yLDQu - NSw0LDEwLDRWMjR6IiBjbGFzcz0iWWVsbG93IiAvPg0KICAgIDxwYXRoIGQ9Ik0zMCwxOHY2aC0wLjFI - MjRsMi41LTIuNUMyNS42LDIwLjYsMjQuNCwyMCwyMywyMGMtMi40LDAtNC40LDEuNy00LjksNGgtMmMw - LjUtMy40LDMuNC02LDYuOS02ICAgYzEuOSwwLDMuNywwLjgsNC45LDIuMUwzMCwxOHogTTIzLDMwYy0x - LjQsMC0yLjYtMC42LTMuNS0xLjVMMjIsMjZoLTUuOUgxNnY2bDIuMS0yLjFjMS4zLDEuMywzLDIuMSw0 - LjksMi4xYzMuNSwwLDYuNC0yLjYsNi45LTYgICBoLTJDMjcuNCwyOC4zLDI1LjQsMzAsMjMsMzB6IiBj - bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs= - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABIDAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ - LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD - MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh - Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw - MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu - bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iSGlnaEltcG9ydGFuY2UiPg0KICAg - IDxwYXRoIGQ9Ik0xNiwyQzguMywyLDIsOC4zLDIsMTZzNi4zLDE0LDE0LDE0czE0LTYuMywxNC0xNFMy - My43LDIsMTYsMnogTTE2LDI0Yy0xLjEsMC0yLTAuOS0yLTJzMC45LTIsMi0yczIsMC45LDIsMiAgIFMx - Ny4xLDI0LDE2LDI0eiBNMTgsMThoLTRWOGg0VjE4eiIgY2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9z - dmc+Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHICAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z - ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz - OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp - dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkNoZWNrQ2lyY2xlZCI+DQogICAgPHBhdGggZD0iTTE2 - LDRDOS40LDQsNCw5LjQsNCwxNmMwLDYuNiw1LjQsMTIsMTIsMTJzMTItNS40LDEyLTEyQzI4LDkuNCwy - Mi42LDQsMTYsNHogTTE0LDIybC02LTZsMi0ybDQsNGw4LThsMiwyICAgTDE0LDIyeiIgY2xhc3M9Ikdy - ZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAoEAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ - LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3 - RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh - Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm - aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iRWRpdENvbm5lY3Rpb24iPg0K - ICAgIDxwYXRoIGQ9Ik0xOCwyNS45QzE3LjQsMjYsMTYuNywyNiwxNiwyNnMtMS40LDAtMi0wLjFWMjho - LTR2NGg0aDRoNHYtNGgtNFYyNS45eiIgY2xhc3M9IkdyZWVuIiAvPg0KICAgIDxwYXRoIGQ9Ik02LDEw - VjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0YzAsMi4yLTQuNSw0LTEwLDRTNiwxMi4yLDYs - MTB6IE0xNiwxNmMtNS41LDAtMTAtMS44LTEwLTR2NCAgIGMwLDIuMiw0LjUsNCwxMCw0czEwLTEuOCwx - MC00di00QzI2LDE0LjIsMjEuNSwxNiwxNiwxNnogTTE2LDIyYy01LjUsMC0xMC0xLjgtMTAtNHY0YzAs - Mi4yLDQuNSw0LDEwLDRzMTAtMS44LDEwLTR2LTQgICBDMjYsMjAuMiwyMS41LDIyLDE2LDIyeiIgY2xh - c3M9IlllbGxvdyIgLz4NCiAgICA8ZyBjbGFzcz0ic3QxIj4NCiAgICAgIDxwYXRoIGQ9Ik0xMCwzMkgy - di00aDhWMzJ6IE0zMCwyOGgtOHY0aDhWMjh6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPC9nPg0KICA8 - L2c+DQo8L3N2Zz4L - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAoEAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ - LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3 - RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh - Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm - aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iRWRpdENvbm5lY3Rpb24iPg0K - ICAgIDxwYXRoIGQ9Ik0xOCwyNS45QzE3LjQsMjYsMTYuNywyNiwxNiwyNnMtMS40LDAtMi0wLjFWMjho - LTR2NGg0aDRoNHYtNGgtNFYyNS45eiIgY2xhc3M9IkdyZWVuIiAvPg0KICAgIDxwYXRoIGQ9Ik02LDEw - VjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0YzAsMi4yLTQuNSw0LTEwLDRTNiwxMi4yLDYs - MTB6IE0xNiwxNmMtNS41LDAtMTAtMS44LTEwLTR2NCAgIGMwLDIuMiw0LjUsNCwxMCw0czEwLTEuOCwx - MC00di00QzI2LDE0LjIsMjEuNSwxNiwxNiwxNnogTTE2LDIyYy01LjUsMC0xMC0xLjgtMTAtNHY0YzAs - Mi4yLDQuNSw0LDEwLDRzMTAtMS44LDEwLTR2LTQgICBDMjYsMjAuMiwyMS41LDIyLDE2LDIyeiIgY2xh - c3M9IlllbGxvdyIgLz4NCiAgICA8ZyBjbGFzcz0ic3QxIj4NCiAgICAgIDxwYXRoIGQ9Ik0xMCwzMkgy - di00aDhWMzJ6IE0zMCwyOGgtOHY0aDhWMjh6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPC9nPg0KICA8 - L2c+DQo8L3N2Zz4L - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGYCAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iRmllbGRfSGVhZGVycyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5l - dyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3 - O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+DQogIDxn - IGNsYXNzPSJzdDAiPg0KICAgIDxwYXRoIGQ9Ik0yMCwxOGgtOHYtNmg4VjE4eiBNMzAsMTJoLTh2Nmg4 - VjEyeiBNMjAsMjBoLTh2Nmg4VjIweiBNMTAsMjBIMnY2aDhWMjB6IE0zMCwyMGgtOHY2aDhWMjB6IiBj - bGFzcz0iQmxhY2siIC8+DQogIDwvZz4NCiAgPHBhdGggZD0iTTEyLDR2NmgxOFY0SDEyeiBNMTYsOGwt - Mi0yaDRMMTYsOHogTTIsMTJ2Nmg4di02SDJ6IE02LDE2bC0yLTJoNEw2LDE2eiIgY2xhc3M9IkJsdWUi - IC8+DQo8L3N2Zz4L - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJkDAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ - LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3 - RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh - Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm - aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iRmlsdGVyUXVlcnkiPg0KICAg - IDxwYXRoIGQ9Ik04LDEwSDB2Nmg4VjEweiBNOCwySDB2Nmg4VjJ6IE0xOCwyaC04djZoOFYyeiBNMTgs - MTBoLTh2Nmg4VjEweiIgY2xhc3M9IkdyZWVuIiAvPg0KICAgIDxnIGNsYXNzPSJzdDEiPg0KICAgICAg - PHBhdGggZD0iTTI4LDE2aC04di02aDhWMTZ6IE0yOCwyaC04djZoOFYyeiBNMCwyNGg4di02SDBWMjR6 - IE0xNC4zLDIxLjFjLTAuMi0wLjItMC4zLTAuNC0wLjMtMC43VjE4aC00djZoNy4yICAgIEwxNC4zLDIx - LjF6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPC9nPg0KICAgIDxwb2x5Z29uIHBvaW50cz0iMTYsMTgg - MzIsMTggMzIsMjAgMjYsMjYgMjYsMzIgMjIsMzIgMjIsMjYgMTYsMjAgICIgY2xhc3M9IlllbGxvdyIg - Lz4NCiAgPC9nPg0KPC9zdmc+Cw== - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPcEAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ - LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3 - RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh - Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm - aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iVGl0bGVfMV8iPg0KICAgIDxw - YXRoIGQ9Ik0yOSwxNEgxYy0wLjUsMC0xLDAuNS0xLDF2MTJjMCwwLjUsMC41LDEsMSwxaDI4YzAuNSww - LDEtMC41LDEtMVYxNUMzMCwxNC41LDI5LjUsMTQsMjksMTR6ICAgIE0yOCwyNkgyVjE2aDI2VjI2eiBN - MjIuOSwxMS4yQzIzLjcsMTAuNiwyNCwxMCwyNCw5YzAtMC42LTAuMi0xLjItMC43LTEuNmMtMC41LTAu - NC0xLjEtMC43LTEuOC0wLjhjMC42LTAuMiwxLjEtMC41LDEuNS0wLjkgICBjMC40LTAuNCwwLjYtMC45 - LDAuNi0xLjRjMC0wLjctMC4zLTEuMy0wLjktMS43QzIyLjEsMi4yLDIxLjEsMiwxOS45LDJIMTZ2OS45 - VjEyaDRDMjEuMiwxMiwyMi4zLDExLjgsMjIuOSwxMS4yeiBNMTguNCwzLjdoMC45ICAgYzEuMSwwLDEu - NywwLjQsMS43LDEuMWMwLDAuNC0wLjEsMC43LTAuNCwwLjlDMjAuNCw1LjksMjAsNiwxOS41LDZoLTEu - MVYzLjd6IE0xOC40LDEwLjJWNy42aDEuM2MwLjUsMCwwLjksMC4xLDEuMywwLjMgICBjMC4zLDAuMiww - LjUsMC42LDAuNSwwLjljMCwwLjQtMC4xLDAuNy0wLjUsMWMtMC4zLDAuMi0wLjgsMC40LTEuMywwLjRI - MTguNHogTTguOSw5LjhoMy4ybDAuNiwyLjNIMTVMMTEuOCwySDkuNEw2LjEsMTJoMi4yICAgTDguOSw5 - Ljh6IE0xMC40LDQuN2MwLjEtMC4zLDAuMS0wLjYsMC4xLTAuOWgwLjFjMCwwLjMsMC4xLDAuNiwwLjEs - MC45bDEsMy4zSDkuNEwxMC40LDQuN3oiIGlkPSJUaXRsZSIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+ - DQo8L3N2Zz4L - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOwDAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku - QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC - MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh - Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFT - b3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0 - YzAsMi4yLTQuNSw0LTEwLDRTNCwxMi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwx - OCAgIEMyNCwxOCwyNCwxOCwyNCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQu - NSw0LTEwLDRTNCwxNC4yLDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44 - ICAgYy0xLjcsMC41LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQs - MTAsNEMxNC40LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGgg - ZD0iTTI5LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEs - MC0xLjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo - NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L - - - \ No newline at end of file diff --git a/GUIs.ZooFlow/Modules/Globix/ClassExclusions.vb b/GUIs.ZooFlow/Modules/Globix/ClassExclusions.vb index c538a45b..ecc0d438 100644 --- a/GUIs.ZooFlow/Modules/Globix/ClassExclusions.vb +++ b/GUIs.ZooFlow/Modules/Globix/ClassExclusions.vb @@ -1,14 +1,16 @@ Public Class ClassExclusions - Public Function Load(ExclusionPath As String) As Boolean + Public Property FileExclusionPath As String = IO.Path.Combine(My.Application.UserAppDataPath, "FileExclusions.xml") + + Public Function Load() As Boolean Dim rowresult As String = "" Try 'if file doesn't exist, create the file with its default xml table - If Not IO.File.Exists(My.Application.Globix.PATH_FileExclusions) Then + If Not IO.File.Exists(FileExclusionPath) Then My.Application.Globix.DTEXCLUDE_FILES = CreateExclusionTable() - My.Application.Globix.DTEXCLUDE_FILES.WriteXml(My.Application.Globix.PATH_FileExclusions) + My.Application.Globix.DTEXCLUDE_FILES.WriteXml(FileExclusionPath) End If - My.Application.Globix.DTEXCLUDE_FILES = GetTablefromXML(ExclusionPath) + My.Application.Globix.DTEXCLUDE_FILES = GetTablefromXML(FileExclusionPath) Return True Catch ex As Exception diff --git a/GUIs.ZooFlow/Modules/Globix/State.vb b/GUIs.ZooFlow/Modules/Globix/State.vb index ec3e27f6..e140ca05 100644 --- a/GUIs.ZooFlow/Modules/Globix/State.vb +++ b/GUIs.ZooFlow/Modules/Globix/State.vb @@ -18,7 +18,6 @@ Namespace Globix Public Property Folderwatchstarted As Boolean = False Public Property ScanFolderwatchstarted As Boolean = False Public Property DTEXCLUDE_FILES As DataTable - Public Property PATH_FileExclusions As String = Path.Combine(My.Application.UserAppDataPath, "FileExclusions.xml") End Class End Namespace diff --git a/GUIs.ZooFlow/Modules/Globix/frmGlobixBasicConfig.vb b/GUIs.ZooFlow/Modules/Globix/frmGlobixBasicConfig.vb index b1f9b0e2..bd693d31 100644 --- a/GUIs.ZooFlow/Modules/Globix/frmGlobixBasicConfig.vb +++ b/GUIs.ZooFlow/Modules/Globix/frmGlobixBasicConfig.vb @@ -3,8 +3,10 @@ Imports DigitalData.Modules.Logging Public Class frmGlobixBasicConfig Private Logger As Logger - Private oFormLoad As Boolean = False - Private clsFW As ClassFolderwatcher + Private FormLoading As Boolean = False + Private FolderWatcher As ClassFolderwatcher + Private ReadOnly FileExclusions As New ClassExclusions() + Public Sub New() ' Dieser Aufruf ist für den Designer erforderlich. @@ -72,10 +74,10 @@ Public Class frmGlobixBasicConfig Logger.Error($"Unexpected error in Adding Folder to TBGI_FOLDERWATCH_USER [{oSql}]") End If If My.Application.Globix.Folderwatchstarted = True And FOLDER_TYPE = "DEFAULT" Then - clsFW.Restart_FolderWatch() + FolderWatcher.Restart_FolderWatch() End If If My.UIConfig.Globix.FolderWatchScanStarted = True And FOLDER_TYPE = "SCAN" Then - clsFW.Restart_FolderWatchSCAN() + FolderWatcher.Restart_FolderWatchSCAN() End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in CheckFolder:") @@ -85,9 +87,9 @@ Public Class frmGlobixBasicConfig Private Sub frmGlobixBasicConfig_Load(sender As Object, e As EventArgs) Handles Me.Load Logger = My.LogConfig.GetLogger() - clsFW = New ClassFolderwatcher(My.LogConfig) + FolderWatcher = New ClassFolderwatcher(My.LogConfig) Try - oFormLoad = True + FormLoading = True If My.Application.Globix.Folderwatchstarted = True Then ToggleSwitchHotfolder.IsOn = True Else @@ -104,7 +106,7 @@ Public Class frmGlobixBasicConfig Me.TextEditScanfolder.Text = My.Application.Globix.CURRENT_SCAN_FOLDERWATCH - oFormLoad = False + FormLoading = False Me.DataGridView1.DataSource = My.Application.Globix.DTEXCLUDE_FILES If My.Application.GlobixDropAreaStyle = "PROGRESSIVE" Then Me.PictureEdit1.EditValue = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources._1_LOGO_ZOO_FLOW_DROP3 @@ -120,14 +122,15 @@ Public Class frmGlobixBasicConfig Sub CheckFWHF_State() - clsFW.StartStop_FolderWatch() + FolderWatcher.StartStop_FolderWatch() End Sub Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click + My.Application.Globix.DTEXCLUDE_FILES.AcceptChanges() - My.Application.Globix.DTEXCLUDE_FILES.WriteXml(My.Application.Globix.PATH_FileExclusions) + My.Application.Globix.DTEXCLUDE_FILES.WriteXml(FileExclusions.FileExclusionPath) MsgBox("Changes saved.", MsgBoxStyle.Information) End Sub @@ -143,7 +146,7 @@ Public Class frmGlobixBasicConfig End Sub Private Sub ToggleSwitchHotfolder_Toggled(sender As Object, e As EventArgs) Handles ToggleSwitchHotfolder.Toggled Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch) - If oFormLoad = True Then + If FormLoading = True Then Exit Sub End If If oToggle.IsOn Then @@ -159,17 +162,17 @@ Public Class frmGlobixBasicConfig Private Sub ToggleSwitch1_Toggled(sender As Object, e As EventArgs) Handles ToggleSwitchScanfolder.Toggled Dim oToggle As ToggleSwitch = TryCast(sender, ToggleSwitch) - If oFormLoad = True Then + If FormLoading = True Then Exit Sub End If If oToggle.IsOn Then If My.Application.Globix.CURRENT_SCAN_FOLDERWATCH <> "" Then - clsFW.StartStop_FolderWatchSCAN() + FolderWatcher.StartStop_FolderWatchSCAN() Else ToggleSwitchScanfolder.IsOn = False End If Else - clsFW.StartStop_FolderWatchSCAN() + FolderWatcher.StartStop_FolderWatchSCAN() End If End Sub diff --git a/GUIs.ZooFlow/frmFlowForm.vb b/GUIs.ZooFlow/frmFlowForm.vb index 1e592c53..f5826938 100644 --- a/GUIs.ZooFlow/frmFlowForm.vb +++ b/GUIs.ZooFlow/frmFlowForm.vb @@ -308,7 +308,7 @@ Public Class frmFlowForm FolderWatch = New ClassFolderwatcher(My.LogConfig) Dim oFileExclusions As New ClassExclusions() - If oFileExclusions.Load(My.Application.Globix.PATH_FileExclusions) = False Then + If oFileExclusions.Load() = False Then If My.Application.User.Language = "de-DE" Then MsgBox("Die Ausschlusskriterien für Dateien in Folderwatch konnten nicht angelegt werden!", MsgBoxStyle.Information) Else From ec0fbb31395d1f6827f4e52b1029babb052769ad Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 6 May 2022 14:19:31 +0200 Subject: [PATCH 3/4] Set Prefix to PROD --- GUIs.ZooFlow/App.config | 2 +- GUIs.ZooFlow/My Project/Settings.Designer.vb | 2 +- GUIs.ZooFlow/My Project/Settings.settings | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/GUIs.ZooFlow/App.config b/GUIs.ZooFlow/App.config index c913810d..3b275055 100644 --- a/GUIs.ZooFlow/App.config +++ b/GUIs.ZooFlow/App.config @@ -23,7 +23,7 @@ True - DEV + PROD diff --git a/GUIs.ZooFlow/My Project/Settings.Designer.vb b/GUIs.ZooFlow/My Project/Settings.Designer.vb index 0733cca8..b3eed08f 100644 --- a/GUIs.ZooFlow/My Project/Settings.Designer.vb +++ b/GUIs.ZooFlow/My Project/Settings.Designer.vb @@ -98,7 +98,7 @@ Partial Friend NotInheritable Class Settings _ + Global.System.Configuration.DefaultSettingValueAttribute("PROD")> _ Public ReadOnly Property UserConfig_Prefix() As String Get Return CType(Me("UserConfig_Prefix"),String) diff --git a/GUIs.ZooFlow/My Project/Settings.settings b/GUIs.ZooFlow/My Project/Settings.settings index 05598171..bbfafb6f 100644 --- a/GUIs.ZooFlow/My Project/Settings.settings +++ b/GUIs.ZooFlow/My Project/Settings.settings @@ -25,7 +25,7 @@ - DEV + PROD \ No newline at end of file From 24fb1f00bc91854567daf3488b760a06994b33e3 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 6 May 2022 15:48:32 +0200 Subject: [PATCH 4/4] SQLEditor: Improve editor, add support for connections --- .../My Project/Resources.Designer.vb | 20 ++++ Controls.SQLEditor/My Project/Resources.resx | 14 ++- .../Resources/editdatasource2.svg | 17 +++ .../Resources/togglefieldcodes.svg | 13 +++ Controls.SQLEditor/SQLEditor.vbproj | 6 + Controls.SQLEditor/frmSQLEditor.Designer.vb | 85 +++++++++------ Controls.SQLEditor/frmSQLEditor.vb | 103 ++++++++++++------ GUIs.Test.TestGUI/frmStart.vb | 5 +- 8 files changed, 190 insertions(+), 73 deletions(-) create mode 100644 Controls.SQLEditor/Resources/editdatasource2.svg create mode 100644 Controls.SQLEditor/Resources/togglefieldcodes.svg diff --git a/Controls.SQLEditor/My Project/Resources.Designer.vb b/Controls.SQLEditor/My Project/Resources.Designer.vb index 7c8f1584..780b95e9 100644 --- a/Controls.SQLEditor/My Project/Resources.Designer.vb +++ b/Controls.SQLEditor/My Project/Resources.Designer.vb @@ -170,6 +170,16 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property editdatasource2() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("editdatasource2", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. ''' @@ -200,6 +210,16 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property togglefieldcodes() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("togglefieldcodes", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. ''' diff --git a/Controls.SQLEditor/My Project/Resources.resx b/Controls.SQLEditor/My Project/Resources.resx index f30ca6ae..1bd97810 100644 --- a/Controls.SQLEditor/My Project/Resources.resx +++ b/Controls.SQLEditor/My Project/Resources.resx @@ -139,18 +139,24 @@ ..\Resources\highimportance.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\actions_database.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\cleartablestyle.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\electronics_desktopmac.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\editdatasource2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\clearall.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\actions_database2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\actions_database.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\updatedataextract1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -169,7 +175,7 @@ ..\Resources\actions_database1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\cleartablestyle.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\togglefieldcodes.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a \ No newline at end of file diff --git a/Controls.SQLEditor/Resources/editdatasource2.svg b/Controls.SQLEditor/Resources/editdatasource2.svg new file mode 100644 index 00000000..6e46621c --- /dev/null +++ b/Controls.SQLEditor/Resources/editdatasource2.svg @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/Controls.SQLEditor/Resources/togglefieldcodes.svg b/Controls.SQLEditor/Resources/togglefieldcodes.svg new file mode 100644 index 00000000..31917a1e --- /dev/null +++ b/Controls.SQLEditor/Resources/togglefieldcodes.svg @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/Controls.SQLEditor/SQLEditor.vbproj b/Controls.SQLEditor/SQLEditor.vbproj index a66ced1a..3551da63 100644 --- a/Controls.SQLEditor/SQLEditor.vbproj +++ b/Controls.SQLEditor/SQLEditor.vbproj @@ -249,5 +249,11 @@ + + + + + + \ No newline at end of file diff --git a/Controls.SQLEditor/frmSQLEditor.Designer.vb b/Controls.SQLEditor/frmSQLEditor.Designer.vb index 428abeb2..20e84532 100644 --- a/Controls.SQLEditor/frmSQLEditor.Designer.vb +++ b/Controls.SQLEditor/frmSQLEditor.Designer.vb @@ -24,21 +24,22 @@ Partial Class frmSQLEditor Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() - Me.RibbonGalleryBarItem1 = New DevExpress.XtraBars.RibbonGalleryBarItem() + Me.GalleryPlaceholders = New DevExpress.XtraBars.RibbonGalleryBarItem() Me.SvgImageCollection1 = New DevExpress.Utils.SvgImageCollection(Me.components) Me.btnEditConnections = New DevExpress.XtraBars.BarButtonItem() Me.btnSave = New DevExpress.XtraBars.BarButtonItem() Me.btnExecuteSQL = New DevExpress.XtraBars.BarButtonItem() - Me.RibbonGalleryBarItem2 = New DevExpress.XtraBars.RibbonGalleryBarItem() + Me.GalleryConnection = New DevExpress.XtraBars.RibbonGalleryBarItem() Me.chkClearPlaceholders = New DevExpress.XtraBars.BarCheckItem() Me.btnClearPlaceholders = New DevExpress.XtraBars.BarButtonItem() + Me.chkShowPlaceholders = New DevExpress.XtraBars.BarCheckItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() - Me.RichEditControl1 = New DevExpress.XtraRichEdit.RichEditControl() + Me.txtSQLCommand = New DevExpress.XtraRichEdit.RichEditControl() Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl() Me.GridPlaceholders = New DevExpress.XtraGrid.GridControl() Me.ViewPlaceholders = New DevExpress.XtraGrid.Views.Grid.GridView() @@ -59,25 +60,26 @@ Partial Class frmSQLEditor 'RibbonControl1 ' Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.RibbonGalleryBarItem1, Me.btnEditConnections, Me.btnSave, Me.btnExecuteSQL, Me.RibbonGalleryBarItem2, Me.chkClearPlaceholders, Me.btnClearPlaceholders}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.GalleryPlaceholders, Me.btnEditConnections, Me.btnSave, Me.btnExecuteSQL, Me.GalleryConnection, Me.chkClearPlaceholders, Me.btnClearPlaceholders, Me.chkShowPlaceholders}) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl1.MaxItemId = 11 + Me.RibbonControl1.MaxItemId = 13 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) + Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] Me.RibbonControl1.Size = New System.Drawing.Size(1056, 158) Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 ' - 'RibbonGalleryBarItem1 + 'GalleryPlaceholders ' - Me.RibbonGalleryBarItem1.Caption = "RibbonGalleryBarItem1" + Me.GalleryPlaceholders.Caption = "RibbonGalleryBarItem1" ' ' ' - Me.RibbonGalleryBarItem1.Gallery.Images = Me.SvgImageCollection1 - Me.RibbonGalleryBarItem1.Gallery.ShowGroupCaption = True - Me.RibbonGalleryBarItem1.Gallery.ShowItemText = True - Me.RibbonGalleryBarItem1.Id = 1 - Me.RibbonGalleryBarItem1.Name = "RibbonGalleryBarItem1" + Me.GalleryPlaceholders.Gallery.Images = Me.SvgImageCollection1 + Me.GalleryPlaceholders.Gallery.ShowGroupCaption = True + Me.GalleryPlaceholders.Gallery.ShowItemText = True + Me.GalleryPlaceholders.Id = 1 + Me.GalleryPlaceholders.Name = "GalleryPlaceholders" ' 'SvgImageCollection1 ' @@ -104,17 +106,17 @@ Partial Class frmSQLEditor Me.btnExecuteSQL.ImageOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.updatedataextract3 Me.btnExecuteSQL.Name = "btnExecuteSQL" ' - 'RibbonGalleryBarItem2 + 'GalleryConnection ' - Me.RibbonGalleryBarItem2.Caption = "RibbonGalleryBarItem2" + Me.GalleryConnection.Caption = "RibbonGalleryBarItem2" ' ' ' - Me.RibbonGalleryBarItem2.Gallery.CheckDrawMode = DevExpress.XtraBars.Ribbon.Gallery.CheckDrawMode.ImageAndText - Me.RibbonGalleryBarItem2.Gallery.ItemCheckMode = DevExpress.XtraBars.Ribbon.Gallery.ItemCheckMode.SingleRadio - Me.RibbonGalleryBarItem2.Gallery.ShowItemText = True - Me.RibbonGalleryBarItem2.Id = 5 - Me.RibbonGalleryBarItem2.Name = "RibbonGalleryBarItem2" + Me.GalleryConnection.Gallery.CheckDrawMode = DevExpress.XtraBars.Ribbon.Gallery.CheckDrawMode.ImageAndText + Me.GalleryConnection.Gallery.ItemCheckMode = DevExpress.XtraBars.Ribbon.Gallery.ItemCheckMode.SingleRadio + Me.GalleryConnection.Gallery.ShowItemText = True + Me.GalleryConnection.Id = 5 + Me.GalleryConnection.Name = "GalleryConnection" ' 'chkClearPlaceholders ' @@ -130,6 +132,15 @@ Partial Class frmSQLEditor Me.btnClearPlaceholders.ImageOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.clearall Me.btnClearPlaceholders.Name = "btnClearPlaceholders" ' + 'chkShowPlaceholders + ' + Me.chkShowPlaceholders.BindableChecked = True + Me.chkShowPlaceholders.Caption = "Platzhalter anzeigen" + Me.chkShowPlaceholders.Checked = True + Me.chkShowPlaceholders.Id = 12 + Me.chkShowPlaceholders.ImageOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.togglefieldcodes + Me.chkShowPlaceholders.Name = "chkShowPlaceholders" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3, Me.RibbonPageGroup4, Me.RibbonPageGroup1}) @@ -147,13 +158,14 @@ Partial Class frmSQLEditor ' Me.RibbonPageGroup4.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far Me.RibbonPageGroup4.ImageOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.actions_database2 - Me.RibbonPageGroup4.ItemLinks.Add(Me.RibbonGalleryBarItem2) + Me.RibbonPageGroup4.ItemLinks.Add(Me.GalleryConnection) Me.RibbonPageGroup4.Name = "RibbonPageGroup4" Me.RibbonPageGroup4.Text = "Verbindungen" ' 'RibbonPageGroup1 ' - Me.RibbonPageGroup1.ItemLinks.Add(Me.RibbonGalleryBarItem1) + Me.RibbonPageGroup1.ItemLinks.Add(Me.GalleryPlaceholders) + Me.RibbonPageGroup1.ItemLinks.Add(Me.chkShowPlaceholders) Me.RibbonPageGroup1.ItemLinks.Add(Me.chkClearPlaceholders) Me.RibbonPageGroup1.ItemLinks.Add(Me.btnClearPlaceholders) Me.RibbonPageGroup1.Name = "RibbonPageGroup1" @@ -171,24 +183,25 @@ Partial Class frmSQLEditor Me.RibbonPage2.Name = "RibbonPage2" Me.RibbonPage2.Text = "RibbonPage2" ' - 'RichEditControl1 + 'txtSQLCommand ' - Me.RichEditControl1.Dock = System.Windows.Forms.DockStyle.Fill - Me.RichEditControl1.Location = New System.Drawing.Point(0, 0) - Me.RichEditControl1.MenuManager = Me.RibbonControl1 - Me.RichEditControl1.Name = "RichEditControl1" - Me.RichEditControl1.Size = New System.Drawing.Size(737, 508) - Me.RichEditControl1.TabIndex = 2 + Me.txtSQLCommand.Dock = System.Windows.Forms.DockStyle.Fill + Me.txtSQLCommand.Location = New System.Drawing.Point(0, 0) + Me.txtSQLCommand.MenuManager = Me.RibbonControl1 + Me.txtSQLCommand.Name = "txtSQLCommand" + Me.txtSQLCommand.Size = New System.Drawing.Size(802, 508) + Me.txtSQLCommand.TabIndex = 2 ' 'SplitContainerControl1 ' + Me.SplitContainerControl1.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2 Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 158) Me.SplitContainerControl1.Name = "SplitContainerControl1" ' 'SplitContainerControl1.Panel1 ' - Me.SplitContainerControl1.Panel1.Controls.Add(Me.RichEditControl1) + Me.SplitContainerControl1.Panel1.Controls.Add(Me.txtSQLCommand) Me.SplitContainerControl1.Panel1.Text = "Panel1" ' 'SplitContainerControl1.Panel2 @@ -196,7 +209,7 @@ Partial Class frmSQLEditor Me.SplitContainerControl1.Panel2.Controls.Add(Me.GridPlaceholders) Me.SplitContainerControl1.Panel2.Text = "Panel2" Me.SplitContainerControl1.Size = New System.Drawing.Size(1056, 508) - Me.SplitContainerControl1.SplitterPosition = 737 + Me.SplitContainerControl1.SplitterPosition = 802 Me.SplitContainerControl1.TabIndex = 4 ' 'GridPlaceholders @@ -206,7 +219,7 @@ Partial Class frmSQLEditor Me.GridPlaceholders.MainView = Me.ViewPlaceholders Me.GridPlaceholders.MenuManager = Me.RibbonControl1 Me.GridPlaceholders.Name = "GridPlaceholders" - Me.GridPlaceholders.Size = New System.Drawing.Size(309, 508) + Me.GridPlaceholders.Size = New System.Drawing.Size(244, 508) Me.GridPlaceholders.TabIndex = 0 Me.GridPlaceholders.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewPlaceholders}) ' @@ -242,10 +255,11 @@ Partial Class frmSQLEditor Me.Controls.Add(Me.SplitContainerControl1) Me.Controls.Add(Me.RibbonStatusBar1) Me.Controls.Add(Me.RibbonControl1) + Me.IconOptions.SvgImage = Global.DigitalData.Controls.SQLEditor.My.Resources.Resources.editdatasource2 Me.Name = "frmSQLEditor" Me.Ribbon = Me.RibbonControl1 Me.StatusBar = Me.RibbonStatusBar1 - Me.Text = "SQL Connector" + Me.Text = "SQL Designer" CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).EndInit() @@ -266,9 +280,9 @@ Partial Class frmSQLEditor Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage - Friend WithEvents RibbonGalleryBarItem1 As DevExpress.XtraBars.RibbonGalleryBarItem + Friend WithEvents GalleryPlaceholders As DevExpress.XtraBars.RibbonGalleryBarItem Friend WithEvents SvgImageCollection1 As DevExpress.Utils.SvgImageCollection - Friend WithEvents RichEditControl1 As DevExpress.XtraRichEdit.RichEditControl + Friend WithEvents txtSQLCommand As DevExpress.XtraRichEdit.RichEditControl Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl Friend WithEvents GridPlaceholders As DevExpress.XtraGrid.GridControl Friend WithEvents ViewPlaceholders As DevExpress.XtraGrid.Views.Grid.GridView @@ -278,8 +292,9 @@ Partial Class frmSQLEditor Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents colPattern As DevExpress.XtraGrid.Columns.GridColumn Friend WithEvents colValue As DevExpress.XtraGrid.Columns.GridColumn - Friend WithEvents RibbonGalleryBarItem2 As DevExpress.XtraBars.RibbonGalleryBarItem + Friend WithEvents GalleryConnection As DevExpress.XtraBars.RibbonGalleryBarItem Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents chkClearPlaceholders As DevExpress.XtraBars.BarCheckItem Friend WithEvents btnClearPlaceholders As DevExpress.XtraBars.BarButtonItem + Friend WithEvents chkShowPlaceholders As DevExpress.XtraBars.BarCheckItem End Class diff --git a/Controls.SQLEditor/frmSQLEditor.vb b/Controls.SQLEditor/frmSQLEditor.vb index a23ed4d2..57f4c008 100644 --- a/Controls.SQLEditor/frmSQLEditor.vb +++ b/Controls.SQLEditor/frmSQLEditor.vb @@ -15,6 +15,9 @@ Public Class frmSQLEditor Private ClearPlaceholdersAfterSuccessfulExecute As Boolean = False Private FormLoading As Boolean = False + Public Property SQLCommand As String = "" + Public Property SQLConnection As Integer = 0 + Public Enum PlaceholderCollection Globix Zooflow @@ -38,11 +41,29 @@ Public Class frmSQLEditor Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load FormLoading = True Try - Dim oConnectionGroups = LoadConnections() - RibbonGalleryBarItem2.Gallery.Groups.AddRange(oConnectionGroups.ToArray) + If SQLCommand <> String.Empty Then + txtSQLCommand.Document.Text = SQLCommand + End If + + Dim oConnectionGroup = LoadConnections() + Dim oSelectedItem = Nothing + + If SQLConnection > 0 Then + For Each oItem As GalleryItem In oConnectionGroup.Items + Dim oConnection = oItem.Tag + If SQLConnection = oConnection.id Then + oSelectedItem = oItem + End If + Next + End If + + GalleryConnection.Gallery.Groups.Add(oConnectionGroup) + GalleryConnection.Gallery.SetItemCheck(oSelectedItem, True) Dim oPlaceholderGroups = LoadPlaceholders() - RibbonGalleryBarItem1.Gallery.Groups.AddRange(oPlaceholderGroups.ToArray) + GalleryPlaceholders.Gallery.Groups.AddRange(oPlaceholderGroups.ToArray) + + ConfigureRichEditControl() @@ -54,12 +75,19 @@ Public Class frmSQLEditor End Sub - Private Sub RibbonGalleryBarItem1_GalleryItemClick(sender As Object, e As GalleryItemClickEventArgs) Handles RibbonGalleryBarItem1.GalleryItemClick + Private Sub RibbonGalleryBarItem1_GalleryItemClick(sender As Object, e As GalleryItemClickEventArgs) Handles GalleryPlaceholders.GalleryItemClick Dim oPlaceholder As Placeholder = e.Item.Tag - Dim pPosition = RichEditControl1.Document.CaretPosition - RichEditControl1.Document.InsertSingleLineText(pPosition, Patterns.WrapPatternValue(oPlaceholder.Module, oPlaceholder.Name)) + Dim pPosition = txtSQLCommand.Document.CaretPosition + txtSQLCommand.Document.InsertSingleLineText(pPosition, Patterns.WrapPatternValue(oPlaceholder.Module, oPlaceholder.Name)) End Sub + Private Sub RibbonGalleryBarItem2_GalleryItemClick(sender As Object, e As GalleryItemClickEventArgs) Handles GalleryConnection.GalleryItemClick + Dim oConnection As Connection = e.Item.Tag + SQLConnection = oConnection.Id + End Sub + + + Private Function LoadPlaceholders() As List(Of GalleryItemGroup) Dim oInternalPlaceholders = Placeholders.GetInternalGroup() Dim oUserPlaceholder = Placeholders.GetUserGroup() @@ -70,7 +98,7 @@ Public Class frmSQLEditor } End Function - Private Function LoadConnections() As List(Of GalleryItemGroup) + Private Function LoadConnections() As GalleryItemGroup Try Dim oSql = "SELECT GUID, Bezeichnung FROM [DD_ECM].[dbo].[TBDD_CONNECTION] WHERE AKTIV = 1" Dim oTable = Database.GetDatatable(oSql) @@ -82,28 +110,27 @@ Public Class frmSQLEditor .Name = oRow.Item("Bezeichnung")}) Next - Dim oGroup1 = New GalleryItemGroup() With {.Caption = "Verbindungen"} + Dim oConnectionGroup = New GalleryItemGroup() With {.Caption = "Verbindungen"} Dim oItems As New List(Of GalleryItem) For Each oConnection In oConnections oItems.Add(GetGalleryItem(oConnection)) Next - oGroup1.Items.AddRange(oItems.ToArray) - Dim oConnectionGroups = New List(Of GalleryItemGroup)() From {oGroup1} + oConnectionGroup.Items.AddRange(oItems.ToArray) - Return oConnectionGroups + Return oConnectionGroup Catch ex As Exception Return Nothing End Try End Function Private Sub ConfigureRichEditControl() - RichEditControl1.Options.Search.RegExResultMaxGuaranteedLength = 500 - RichEditControl1.ReplaceService(Of ISyntaxHighlightService)(New SQLSyntaxHighlightService(RichEditControl1.Document)) - RichEditControl1.ActiveViewType = DevExpress.XtraRichEdit.RichEditViewType.Simple - RichEditControl1.Document.Sections(0).Page.Width = DevExpress.Office.Utils.Units.InchesToDocumentsF(80.0F) + txtSQLCommand.Options.Search.RegExResultMaxGuaranteedLength = 500 + txtSQLCommand.ReplaceService(Of ISyntaxHighlightService)(New SQLSyntaxHighlightService(txtSQLCommand.Document)) + txtSQLCommand.ActiveViewType = DevExpress.XtraRichEdit.RichEditViewType.Simple + txtSQLCommand.Document.Sections(0).Page.Width = DevExpress.Office.Utils.Units.InchesToDocumentsF(80.0F) - RichEditControl1.Document.DefaultCharacterProperties.FontName = "Courier New" - RichEditControl1.Document.DefaultCharacterProperties.FontSize = 12 + txtSQLCommand.Document.DefaultCharacterProperties.FontName = "Courier New" + txtSQLCommand.Document.DefaultCharacterProperties.FontSize = 12 End Sub @@ -123,30 +150,27 @@ Public Class frmSQLEditor Private Property LastPatterns As New List(Of Pattern) - Private Sub RichEditControl1_ContentChanged(sender As Object, e As EventArgs) Handles RichEditControl1.ContentChanged - Dim oSqlText = RichEditControl1.Document.Text + Private Sub RichEditControl1_ContentChanged(sender As Object, e As EventArgs) Handles txtSQLCommand.ContentChanged + Dim oSqlText = txtSQLCommand.Document.Text Dim oPatterns = Patterns.GetAllPatterns(oSqlText) If oPatterns.Count = 0 Then - Exit Sub - End If - - If oPatterns.SequenceEqual(LastPatterns) Then - Exit Sub + GridPlaceholders.DataSource = New List(Of Placeholder) + ElseIf oPatterns.Count.Equals(LastPatterns.Count) Then + ' noop + Else + Dim oPlaceholders = oPatterns. + Select(Function(pattern) New Placeholder(pattern.Value, pattern.Value, pattern.Type, pattern.Value) With {.Pattern = pattern}). + ToList() + GridPlaceholders.DataSource = oPlaceholders End If - GridPlaceholders.DataSource = oPatterns.Select(Function(pattern) - Return New Placeholder(pattern.Value, pattern.Value, pattern.Type, pattern.Value) With {.Pattern = pattern} - End Function).ToList() - - LastPatterns = oPatterns - End Sub - Private Async Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExecuteSQL.ItemClick + Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExecuteSQL.ItemClick Try - Dim oSql = RichEditControl1.Document.Text + Dim oSql = txtSQLCommand.Document.Text Dim oPlaceholders As List(Of Placeholder) = GridPlaceholders.DataSource @@ -163,7 +187,16 @@ Public Class frmSQLEditor Next End If - Dim oDatatable = Await Database.GetDatatableAsync(oSql) + Dim oDatatable As DataTable + + If SQLConnection > 0 Then + Dim oConnectionString = Database.GetConnectionStringForId(SQLConnection) + oDatatable = Database.GetDatatableWithConnection(oSql, oConnectionString) + Else + oDatatable = Database.GetDatatable(oSql) + End If + + Dim oForm As New frmSQLResult(oDatatable) oForm.Show() @@ -189,4 +222,8 @@ Public Class frmSQLEditor Private Sub btnClearPlaceholders_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnClearPlaceholders.ItemClick ClearPlaceholders() End Sub + + Private Sub chkShowPlaceholders_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkShowPlaceholders.CheckedChanged + SplitContainerControl1.Collapsed = Not chkShowPlaceholders.Checked + End Sub End Class diff --git a/GUIs.Test.TestGUI/frmStart.vb b/GUIs.Test.TestGUI/frmStart.vb index 6dd134be..7af85fd6 100644 --- a/GUIs.Test.TestGUI/frmStart.vb +++ b/GUIs.Test.TestGUI/frmStart.vb @@ -47,7 +47,10 @@ Public Class frmStart End Sub Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click - Dim oForm As New frmSQLEditor(LogConfig, Database) + Dim oForm As New frmSQLEditor(LogConfig, Database) With { + .SQLCommand = "SELECT * FROM TBDD_USER WHERE EMAIL = '{#USER#EMAIL}'", + .SQLConnection = 1 + } oForm.Show() End Sub