From 84e29c2c0a79a71e0ea9aae8966cabd3db267341 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Mon, 13 Jun 2022 16:37:01 +0200 Subject: [PATCH 1/5] Zooflow: Save Tokens in Custom searches --- GUIs.Common/My Project/licenses.licx | 8 ++ GUIs.ZooFlow/My Project/Resources.Designer.vb | 10 ++ GUIs.ZooFlow/My Project/Resources.resx | 117 +++++++++--------- GUIs.ZooFlow/My Project/licenses.licx | 13 +- GUIs.ZooFlow/Resources/columnheaders.svg | 22 ++++ GUIs.ZooFlow/Search/SavedSearch.vb | 3 +- GUIs.ZooFlow/Search/SearchLoader.vb | 6 +- GUIs.ZooFlow/Search/SearchRunner.vb | 48 ++++--- GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb | 47 ++++++- GUIs.ZooFlow/Search/frmSearchFlow.vb | 45 ++++++- GUIs.ZooFlow/ZooFlow.vbproj | 1 + 11 files changed, 227 insertions(+), 93 deletions(-) create mode 100644 GUIs.ZooFlow/Resources/columnheaders.svg diff --git a/GUIs.Common/My Project/licenses.licx b/GUIs.Common/My Project/licenses.licx index e69de29b..0e4bab4e 100644 --- a/GUIs.Common/My Project/licenses.licx +++ b/GUIs.Common/My Project/licenses.licx @@ -0,0 +1,8 @@ +DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ZooFlow/My Project/Resources.Designer.vb b/GUIs.ZooFlow/My Project/Resources.Designer.vb index bf85f7ee..3bcb7fc3 100644 --- a/GUIs.ZooFlow/My Project/Resources.Designer.vb +++ b/GUIs.ZooFlow/My Project/Resources.Designer.vb @@ -800,6 +800,16 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property columnheaders() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("columnheaders", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' diff --git a/GUIs.ZooFlow/My Project/Resources.resx b/GUIs.ZooFlow/My Project/Resources.resx index 6743fa55..430607ec 100644 --- a/GUIs.ZooFlow/My Project/Resources.resx +++ b/GUIs.ZooFlow/My Project/Resources.resx @@ -148,6 +148,9 @@ ..\Resources\action_add_16xMD.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\StatusAnnotations_Stop_32xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\allowuserstoeditranges.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -199,6 +202,9 @@ ..\Resources\2_ZOO_FLOW_Abo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\ZooFlow_Sidebar_individuelle_suche.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\editquery.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -241,8 +247,8 @@ ..\Resources\Flow.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Checked-outforEdit_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\action_add_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\nextview.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -310,15 +316,9 @@ ..\Resources\actions_check3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\definednameuseinformula2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - ..\Resources\save5.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\alignverticalcenter.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - ..\Resources\updatedataextract.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -349,11 +349,11 @@ ..\Resources\ZooFlow_g-64 - Kopie.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\actions_addcircled1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\singlepageview.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\ZooFlow_G_DevExpress.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\documentproperties.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\1_LOGO_ZOO_FLOW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -367,8 +367,8 @@ ..\Resources\pagesetup1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\singlepageview.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\2_LUPE_INAKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\markcomplete.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -376,6 +376,9 @@ ..\Resources\new4.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\ZooFlow_G_DevExpress.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\save6.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -394,6 +397,9 @@ ..\Resources\doublenext1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\ZooFlow_drop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\GLOBIX_short.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -421,12 +427,12 @@ ..\Resources\managedatasource1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\Checked-outforEdit_Color_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\pagesetup.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\cancel.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\refresh_16xMD.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -442,15 +448,12 @@ ..\Resources\Editdatasetwithdesigner_8449.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\1_LOGO_ZOO_FLOW_DROP2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\definednameuseinformula1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\unlink.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - ..\Resources\2_LUPE_INAKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\CW_GEFUNDEN_klein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -469,12 +472,18 @@ ..\Resources\del5.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\actions_edit1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\new1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\ZooFlow_Sidebar_TOP_Drop.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\alignhorizontalcenter.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\FLOW_Sidebar_Search_aktiv.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -496,8 +505,8 @@ ..\Resources\managedatasource2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\cancel.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\alignverticalcenter.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\actions_check1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -511,9 +520,6 @@ ..\Resources\new3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\actions_deletecircled3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - ..\Resources\actions_check.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -526,8 +532,8 @@ ..\Resources\actions_calendar1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\switchrowcolumns.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\bo_category.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\actions_deletecircled5.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -538,12 +544,6 @@ ..\Resources\ZOOFLOW_DRAG_PROGRESSIVE.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\documentproperties.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - ..\Resources\StatusAnnotations_Information_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\Compare_RefreshScriptPreview.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -553,15 +553,12 @@ ..\Resources\actions_addcircled4.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\StatusAnnotations_Stop_32xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Checked-outforEdit_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\bell_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\save8.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - ..\Resources\save9.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -571,14 +568,14 @@ ..\Resources\bo_validation1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\action_add_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\actions_deletecircled3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\ZooFlow_Sidebar_TOP.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\ZooFlow_Sidebar_individuelle_suche.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\definednameuseinformula2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\actions_calendar.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -595,11 +592,14 @@ ..\Resources\FLOW_Sidebar_Task_inaktiv1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\actions_addcircled1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\ZooFlow_PM_DevExpress.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\actions_edit1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\StatusAnnotations_Information_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\del.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -613,8 +613,8 @@ ..\Resources\2_ZOO_FLOW_Abo_MouseOver.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\ZooFlow_drop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Checked-outforEdit_Color_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\about4.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -622,14 +622,17 @@ ..\Resources\undo.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\1_LOGO_ZOO_FLOW_DROP2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\switchrowcolumns.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\bo_document.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\bo_category.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\actions_addcircled3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\save8.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\servermode.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -643,8 +646,8 @@ ..\Resources\definednameuseinformula3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\actions_addcircled3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\unlink.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\1_LOGO_ZOO_FLOW1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -658,7 +661,7 @@ ..\Resources\del3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\alignhorizontalcenter.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\columnheaders.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/GUIs.ZooFlow/My Project/licenses.licx b/GUIs.ZooFlow/My Project/licenses.licx index 2f7886ce..6fd11126 100644 --- a/GUIs.ZooFlow/My Project/licenses.licx +++ b/GUIs.ZooFlow/My Project/licenses.licx @@ -1,9 +1,10 @@ -DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ZooFlow/Resources/columnheaders.svg b/GUIs.ZooFlow/Resources/columnheaders.svg new file mode 100644 index 00000000..3539a81d --- /dev/null +++ b/GUIs.ZooFlow/Resources/columnheaders.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/GUIs.ZooFlow/Search/SavedSearch.vb b/GUIs.ZooFlow/Search/SavedSearch.vb index 64355189..3f690357 100644 --- a/GUIs.ZooFlow/Search/SavedSearch.vb +++ b/GUIs.ZooFlow/Search/SavedSearch.vb @@ -5,8 +5,9 @@ Namespace SavedSearch Public MustInherit Class SavedSearch Public Property Name As String Public Property Description As String - Public Overridable Property GroupText As String = "" Public Property Image As SvgImage + Public Property Selected As Boolean + Public Overridable Property GroupText As String = "" Public ReadOnly Property DisplayName As String Get diff --git a/GUIs.ZooFlow/Search/SearchLoader.vb b/GUIs.ZooFlow/Search/SearchLoader.vb index 36227576..affc426e 100644 --- a/GUIs.ZooFlow/Search/SearchLoader.vb +++ b/GUIs.ZooFlow/Search/SearchLoader.vb @@ -30,7 +30,7 @@ Namespace Search Serializer = New XmlSerializer(GetType(SavedSearch.CustomSearchSerializable)) End Sub - Private Function GetSearchDirectoryPath() As String + Public Function GetSearchDirectoryPath() As String Dim oConfigPath As String = Config.UserConfigPath Dim oConfigDirectory As String = IO.Path.Combine(IO.Path.GetDirectoryName(oConfigPath), CUSTOM_SEARCH_DIRECTORY) @@ -54,8 +54,8 @@ Namespace Search } Try - Dim oDirectoryPath As String = GetSearchDirectoryPath() - Dim oFilePath As String = IO.Path.Combine(oDirectoryPath, Utils.ConvertTextToSlug(pTitle) & ".xml") + Dim oSlug = Utils.ConvertTextToSlug(pTitle) + Dim oFilePath As String = IO.Path.Combine(GetSearchDirectoryPath(), $"{oSlug}.xml") Dim oBuffer As Byte() = SerializeSearch(oSearch) File.WriteAllBytes(oFilePath, oBuffer) diff --git a/GUIs.ZooFlow/Search/SearchRunner.vb b/GUIs.ZooFlow/Search/SearchRunner.vb index 4811ba1c..2fde026a 100644 --- a/GUIs.ZooFlow/Search/SearchRunner.vb +++ b/GUIs.ZooFlow/Search/SearchRunner.vb @@ -47,6 +47,7 @@ Namespace Search End Get End Property + Private _ActiveSearchTokens As New List(Of SearchToken.Token) Private _ActiveDateAttribute As String = SEARCH_FACT_DATE_DEFAULT Private _ActiveTokenOperator As TokenOperator = TokenOperator.And @@ -56,6 +57,12 @@ Namespace Search End Get End Property + Public ReadOnly Property ActiveTokens As List(Of SearchToken.Token) + Get + Return _ActiveSearchTokens + End Get + End Property + Public Property BaseSearchSQL As String Public Property ExplicitDate As Boolean = False @@ -102,22 +109,20 @@ Namespace Search ''' Only search for Term. Used for sidebar quicksearch. ''' Public Async Function RunWithSearchTerm(pSearchTerm As String) As Task(Of SearchResult) - Return Await RunWithSearchTerm(New SearchOptions With {.SearchString = pSearchTerm}) + Return Await RunWithSearchOptions(New SearchOptions With {.SearchString = pSearchTerm}) End Function Public Async Function RunWithSearchTerm(pSearchTerm As String, pDateFrom As Date, pDateTo As Date, pSearchTitle As String) As Task(Of SearchResult) - Return Await RunWithSearchTerm(New SearchOptions With { - .SearchString = pSearchTerm, - .SearchTitle = pSearchTitle, - .DateFrom = pDateFrom, - .DateTo = pDateTo - }) + Return Await RunWithSearchOptions(New SearchOptions With { + .SearchString = pSearchTerm, + .SearchTitle = pSearchTitle, + .DateFrom = pDateFrom, + .DateTo = pDateTo + }) End Function Public Async Function RunWithTokens(pTokens As IEnumerable(Of Search.SearchToken.Token)) As Task(Of SearchResult) - Return Await RunWithSearchTerm(New SearchOptions With { - .SearchTokens = pTokens - }) + Return Await RunWithSearchOptions(New SearchOptions With {.SearchTokens = pTokens}) End Function Public Async Function RunWithTokens(pTokens As IEnumerable(Of Search.SearchToken.Token), pDateFrom As Date, pDateTo As Date, pSearchTitle As String) As Task(Of SearchResult) @@ -128,11 +133,11 @@ Namespace Search Return New SearchResult(0) End If - Return Await RunWithSearchTerm(New SearchOptions With { - .SearchTokens = pTokens, - .DateFrom = pDateFrom, - .DateTo = pDateTo - }) + Return Await RunWithSearchOptions(New SearchOptions With { + .SearchTokens = pTokens, + .DateFrom = pDateFrom, + .DateTo = pDateTo + }) End Function @@ -140,21 +145,24 @@ Namespace Search ' Return Await RunWithSearchTerm(pSearchTerm, pDateFrom, pDateTo, Nothing, Nothing) 'End Function - Private Async Function RunWithSearchTerm(pOptions As SearchOptions) As Task(Of SearchResult) + Private Async Function RunWithSearchOptions(pOptions As SearchOptions) As Task(Of SearchResult) Dim oDateConstraint = Await GetDateConstraint(pOptions.DateFrom, pOptions.DateTo) Dim oWindowTitle = GetResultWindowString(pOptions.SearchString, pOptions.SearchTitle) Dim oParams = GetParams(oWindowTitle) Dim oTokens = pOptions.SearchTokens Dim oSearchTerm = pOptions.SearchString - Dim oSQL + Dim oSQL = String.Empty If oTokens IsNot Nothing AndAlso oTokens.Count > 0 Then + _ActiveSearchTokens = oTokens Await InsertSearchTokens(oTokens) oSQL = $"EXEC PRIDB_SEARCH_GET_TOKEN_RESULT_DOCS {UserId}, '{oDateConstraint}', '{UserLanguage}'" ElseIf oSearchTerm IsNot Nothing Then + _ActiveSearchTokens.Clear() oSQL = $"EXEC PRIDB_SEARCH_GET_TEXT_RESULTS {UserId},'{pOptions.SearchString}','{oDateConstraint}', '{UserLanguage}'" Else + _ActiveSearchTokens.Clear() oSQL = $"EXEC PRIDB_SEARCH_GET_TEXT_RESULTS {UserId},'{String.Empty}','{oDateConstraint}', '{UserLanguage}'" End If @@ -168,9 +176,9 @@ Namespace Search Dim oRowCount = oDTDocResult.Rows.Count If oRowCount > 0 Then oParams.Results.Add(New DocumentResultList.DocumentResult() With { - .Title = SearchId, - .Datatable = oDTDocResult - }) + .Title = SearchId, + .Datatable = oDTDocResult + }) If oDTDocResult.Rows.Count = 1 Then oParams.ShowFileList = False diff --git a/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb b/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb index 436ff370..577921b7 100644 --- a/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb +++ b/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb @@ -55,12 +55,15 @@ Partial Class frmSearchFlow Me.RepositoryItemTrackBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemTrackBar() Me.BarEditItem2 = New DevExpress.XtraBars.BarEditItem() Me.RepositoryItemTrackBar2 = New DevExpress.XtraEditors.Repository.RepositoryItemTrackBar() + Me.BarCheckItem1 = New DevExpress.XtraBars.BarCheckItem() + Me.btnOpenSearchDirectory = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup5 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPage3 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RepositoryItemMarqueeProgressBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemMarqueeProgressBar() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() @@ -71,6 +74,7 @@ Partial Class frmSearchFlow Me.GridSearches = New DevExpress.XtraGrid.GridControl() Me.ViewSearches = New DevExpress.XtraGrid.Views.Tile.TileView() Me.colGroupText = New DevExpress.XtraGrid.Columns.TileViewColumn() + Me.colSelected = New DevExpress.XtraGrid.Columns.TileViewColumn() Me.DateEditFrom = New DevExpress.XtraEditors.DateEdit() Me.DateEditTo = New DevExpress.XtraEditors.DateEdit() Me.CheckEdit1 = New DevExpress.XtraEditors.ToggleSwitch() @@ -146,9 +150,9 @@ Partial Class frmSearchFlow ' Me.RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.lblResults, Me.chkOperatorAnd, Me.chkOperatorOr, Me.chkDatefilter2, Me.BarCheckItem4, Me.chkSearchEverywhere, Me.BarButtonItem1, Me.BarButtonItem2, Me.btnSaveSearch, Me.chkGridVertical, Me.chkGridHorizontal, Me.BarEditItem1, Me.BarEditItem2}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.lblResults, Me.chkOperatorAnd, Me.chkOperatorOr, Me.chkDatefilter2, Me.BarCheckItem4, Me.chkSearchEverywhere, Me.BarButtonItem1, Me.BarButtonItem2, Me.btnSaveSearch, Me.chkGridVertical, Me.chkGridHorizontal, Me.BarEditItem1, Me.BarEditItem2, Me.BarCheckItem1, Me.btnOpenSearchDirectory}) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl1.MaxItemId = 28 + Me.RibbonControl1.MaxItemId = 30 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1, Me.RibbonPage3}) Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemMarqueeProgressBar1, Me.RepositoryItemTrackBar1, Me.RepositoryItemTrackBar2}) @@ -275,6 +279,19 @@ Partial Class frmSearchFlow Me.RepositoryItemTrackBar2.Maximum = 5 Me.RepositoryItemTrackBar2.Name = "RepositoryItemTrackBar2" ' + 'BarCheckItem1 + ' + Me.BarCheckItem1.Caption = "Kanban Ansicht" + Me.BarCheckItem1.Id = 28 + Me.BarCheckItem1.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.columnheaders + Me.BarCheckItem1.Name = "BarCheckItem1" + ' + 'btnOpenSearchDirectory + ' + Me.btnOpenSearchDirectory.Caption = "Suchen Verzeichnis öffnen" + Me.btnOpenSearchDirectory.Id = 29 + Me.btnOpenSearchDirectory.Name = "btnOpenSearchDirectory" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup5}) @@ -306,7 +323,7 @@ Partial Class frmSearchFlow ' 'RibbonPage3 ' - Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3}) + Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3, Me.RibbonPageGroup4}) Me.RibbonPage3.Name = "RibbonPage3" Me.RibbonPage3.Text = "Layout" ' @@ -314,11 +331,18 @@ Partial Class frmSearchFlow ' Me.RibbonPageGroup3.ItemLinks.Add(Me.chkGridVertical) Me.RibbonPageGroup3.ItemLinks.Add(Me.chkGridHorizontal) + Me.RibbonPageGroup3.ItemLinks.Add(Me.BarCheckItem1) Me.RibbonPageGroup3.ItemLinks.Add(Me.BarEditItem1) Me.RibbonPageGroup3.ItemLinks.Add(Me.BarEditItem2) Me.RibbonPageGroup3.Name = "RibbonPageGroup3" Me.RibbonPageGroup3.Text = "RibbonPageGroup3" ' + 'RibbonPageGroup4 + ' + Me.RibbonPageGroup4.ItemLinks.Add(Me.btnOpenSearchDirectory) + Me.RibbonPageGroup4.Name = "RibbonPageGroup4" + Me.RibbonPageGroup4.Text = "Suchen" + ' 'RepositoryItemMarqueeProgressBar1 ' Me.RepositoryItemMarqueeProgressBar1.Name = "RepositoryItemMarqueeProgressBar1" @@ -405,11 +429,11 @@ Partial Class frmSearchFlow ' 'ViewSearches ' - Me.ViewSearches.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colName, Me.colDescription, Me.colImage, Me.colGroupText}) + Me.ViewSearches.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colName, Me.colDescription, Me.colImage, Me.colGroupText, Me.colSelected}) + Me.ViewSearches.ColumnSet.CheckedColumn = Me.colSelected Me.ViewSearches.ColumnSet.GroupColumn = Me.colGroupText Me.ViewSearches.GridControl = Me.GridSearches Me.ViewSearches.Name = "ViewSearches" - Me.ViewSearches.OptionsTiles.AllowItemHover = True Me.ViewSearches.OptionsTiles.IndentBetweenGroups = 20 Me.ViewSearches.OptionsTiles.ItemPadding = New System.Windows.Forms.Padding(10, 4, 10, 4) Me.ViewSearches.OptionsTiles.ItemSize = New System.Drawing.Size(170, 70) @@ -478,9 +502,18 @@ Partial Class frmSearchFlow Me.colGroupText.Caption = "Gruppe" Me.colGroupText.FieldName = "GroupText" Me.colGroupText.Name = "colGroupText" + Me.colGroupText.SortMode = DevExpress.XtraGrid.ColumnSortMode.Custom Me.colGroupText.Visible = True Me.colGroupText.VisibleIndex = 3 ' + 'colSelected + ' + Me.colSelected.Caption = "Selected" + Me.colSelected.FieldName = "Selected" + Me.colSelected.Name = "colSelected" + Me.colSelected.Visible = True + Me.colSelected.VisibleIndex = 4 + ' 'DateEditFrom ' Me.DateEditFrom.EditValue = Nothing @@ -735,4 +768,8 @@ Partial Class frmSearchFlow Friend WithEvents RepositoryItemTrackBar1 As DevExpress.XtraEditors.Repository.RepositoryItemTrackBar Friend WithEvents BarEditItem2 As DevExpress.XtraBars.BarEditItem Friend WithEvents RepositoryItemTrackBar2 As DevExpress.XtraEditors.Repository.RepositoryItemTrackBar + Friend WithEvents BarCheckItem1 As DevExpress.XtraBars.BarCheckItem + Friend WithEvents colSelected As DevExpress.XtraGrid.Columns.TileViewColumn + Friend WithEvents btnOpenSearchDirectory As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup End Class diff --git a/GUIs.ZooFlow/Search/frmSearchFlow.vb b/GUIs.ZooFlow/Search/frmSearchFlow.vb index de0f56f6..90897984 100644 --- a/GUIs.ZooFlow/Search/frmSearchFlow.vb +++ b/GUIs.ZooFlow/Search/frmSearchFlow.vb @@ -52,9 +52,16 @@ Public Class frmSearchFlow Private Sub SearchRunner_NewSavedSearch(sender As Object, e As EventArgs) Dim oForm As New frmEditSearch With {.IsNew = True} + If oForm.ShowDialog() = DialogResult.OK Then - SearchLoader.CreateCustomSearch(oForm.Title, oForm.Description, New List(Of Token), oForm.ImageString) + + ' Get active tokens and create the search + Dim oTokens = SearchRunner.ActiveTokens + SearchLoader.CreateCustomSearch(oForm.Title, oForm.Description, oTokens, oForm.ImageString) + + ' Reload the searches GridSearches.DataSource = SearchLoader.LoadSearches() + End If End Sub @@ -359,4 +366,40 @@ Public Class frmSearchFlow Private Sub BarEditItem2_EditValueChanged(sender As Object, e As EventArgs) Handles BarEditItem2.EditValueChanged ViewSearches.OptionsTiles.RowCount = BarEditItem2.EditValue End Sub + + Private Sub BarCheckItem1_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarCheckItem1.CheckedChanged + If BarCheckItem1.Checked Then + ViewSearches.OptionsTiles.LayoutMode = TileViewLayoutMode.Kanban + Else + ViewSearches.OptionsTiles.LayoutMode = TileViewLayoutMode.Default + End If + End Sub + + Private Sub btnOpenSearchDirectory_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnOpenSearchDirectory.ItemClick + Dim oSearchDirectory = SearchLoader.GetSearchDirectoryPath() + Process.Start(oSearchDirectory) + End Sub + + + + Private Sub ViewSearches_ItemCheckedChanged(sender As Object, e As TileViewItemClickEventArgs) Handles ViewSearches.ItemCheckedChanged + Dim oItem As TileViewItem = e.Item + Dim oSearch As SavedSearch.SavedSearch = ViewSearches.GetRow(oItem.RowHandle) + + If TypeOf oSearch Is CustomSearch Then + 'TODO: show ribbon controls to edit search + End If + End Sub + + Private Sub ViewSearches_CustomColumnSort(sender As Object, e As Views.Base.CustomColumnSortEventArgs) Handles ViewSearches.CustomColumnSort + Console.WriteLine() + + If TypeOf e.RowObject1 Is CustomSearch Then + e.Result = 1 + e.Handled = True + Else + e.Result = -1 + e.Handled = True + End If + End Sub End Class \ No newline at end of file diff --git a/GUIs.ZooFlow/ZooFlow.vbproj b/GUIs.ZooFlow/ZooFlow.vbproj index 601eba20..935d1398 100644 --- a/GUIs.ZooFlow/ZooFlow.vbproj +++ b/GUIs.ZooFlow/ZooFlow.vbproj @@ -1150,6 +1150,7 @@ + From cb9dc34d9f93c74618c109f32e0d8d84b7f47875 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 14 Jun 2022 13:38:13 +0200 Subject: [PATCH 2/5] Zooflow: Load searches from Database --- GUIs.ZooFlow/Search/SearchLoader.vb | 69 +++---- GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb | 194 ++++++++---------- GUIs.ZooFlow/Search/frmSearchFlow.vb | 10 +- 3 files changed, 122 insertions(+), 151 deletions(-) diff --git a/GUIs.ZooFlow/Search/SearchLoader.vb b/GUIs.ZooFlow/Search/SearchLoader.vb index affc426e..98616c2d 100644 --- a/GUIs.ZooFlow/Search/SearchLoader.vb +++ b/GUIs.ZooFlow/Search/SearchLoader.vb @@ -2,49 +2,34 @@ Imports System.Xml.Serialization Imports DevExpress.Utils Imports DevExpress.Utils.Svg -Imports DigitalData.GUIs.ZooFlow.frmSearchFlow Imports DigitalData.GUIs.ZooFlow.Search.SearchToken Imports DigitalData.Modules.Base Imports DigitalData.Modules.Config Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Language -Imports System.Reflection +Imports DigitalData.Modules.Database +Imports DigitalData.Modules.ZooFlow.State Namespace Search Public Class SearchLoader Inherits BaseClass - Private Const CUSTOM_SEARCH_DIRECTORY = "Searches" - Private ReadOnly Images As SvgImageCollection Private ReadOnly ImageTable As List(Of ImageTableItem) - - Private ReadOnly Config As ConfigManager(Of SystemConfig) Private ReadOnly Serializer As XmlSerializer + Private ReadOnly Database As MSSQLServer + Private ReadOnly UserState As UserState - Public Sub New(pLogConfig As LogConfig, pConfig As ConfigManager(Of SystemConfig), pSvgImages As SvgImageCollection) + Public Sub New(pLogConfig As LogConfig, pDatabase As MSSQLServer, pUserState As UserState, pSvgImages As SvgImageCollection) MyBase.New(pLogConfig) + Images = pSvgImages ImageTable = GetImageTable(pSvgImages) - Config = pConfig + Database = pDatabase + UserState = pUserState Serializer = New XmlSerializer(GetType(SavedSearch.CustomSearchSerializable)) End Sub - Public Function GetSearchDirectoryPath() As String - Dim oConfigPath As String = Config.UserConfigPath - Dim oConfigDirectory As String = IO.Path.Combine(IO.Path.GetDirectoryName(oConfigPath), CUSTOM_SEARCH_DIRECTORY) - - If IO.Directory.Exists(oConfigDirectory) = False Then - Try - IO.Directory.CreateDirectory(oConfigDirectory) - Catch ex As Exception - Logger.Error(ex) - End Try - End If - - Return oConfigDirectory - End Function - Public Sub CreateCustomSearch(pTitle As String, pDescription As String, pTokens As List(Of Token), pImage As String) Dim oSearch As New SavedSearch.CustomSearch With { .Name = pTitle, @@ -54,11 +39,18 @@ Namespace Search } Try - Dim oSlug = Utils.ConvertTextToSlug(pTitle) - Dim oFilePath As String = IO.Path.Combine(GetSearchDirectoryPath(), $"{oSlug}.xml") Dim oBuffer As Byte() = SerializeSearch(oSearch) - - File.WriteAllBytes(oFilePath, oBuffer) + Dim oBase64 = System.Convert.ToBase64String(oBuffer) + + If Database.ExecuteNonQuery( + $"INSERT INTO TBIDB_SEARCH_DEFINITION (TITLE, DESCRIPTION, XML_VALUE, SYS_SEARCH, ADDED_WHO) + VALUES ('{pTitle}', '{pDescription}', '{oBase64}', 0, '{UserState.UserName}')" + ) = True Then + Dim oSearchId = Database.GetScalarValue("SELECT MAX(GUID) FROM TBIDB_SEARCH_DEFINITION") + Database.ExecuteNonQuery( + $"INSERT INTO TBIDB_SEARCH_DEF_RELATIONS (SEARCH_ID, USR_ID, ADDED_WHO) + VALUES ({oSearchId}, {UserState.UserId}, '{UserState.UserName}')") + End If Catch ex As Exception Logger.Warn("Custom Search could not be saved!") Logger.Error(ex) @@ -78,13 +70,18 @@ Namespace Search Public Function LoadCustomSearches() As List(Of SavedSearch.SavedSearch) Dim oSearches As New List(Of SavedSearch.SavedSearch) - Dim oPath = GetSearchDirectoryPath() - - Dim oFiles = Directory.GetFiles(oPath, "*.xml") - - For Each oFile In oFiles - Dim oBytes = File.ReadAllBytes(oFile) - Dim oSearch = DeserializeSearch(oBytes) + Dim oSQL As String = $" + SELECT DEF.* + FROM [TBIDB_SEARCH_DEFINITION] DEF + JOIN [TBIDB_SEARCH_DEF_RELATIONS] REL ON REL.SEARCH_ID = DEF.GUID + WHERE REL.USR_ID = {UserState.UserId} + " + Dim oTable = Database.GetDatatable(oSQL) + + For Each oRow As DataRow In oTable.Rows + Dim oBase64 = oRow.Item("XML_VALUE") + Dim oBuffer = System.Convert.FromBase64String(oBase64) + Dim oSearch = DeserializeSearch(oBuffer) oSearches.Add(oSearch) Next @@ -215,9 +212,5 @@ Namespace Search Image = pImage End Sub End Class - - - - End Class End Namespace diff --git a/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb b/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb index 577921b7..a8daaefe 100644 --- a/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb +++ b/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb @@ -23,19 +23,19 @@ Partial Class frmSearchFlow Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() - Dim ItemTemplate1 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate() - Dim TableColumnDefinition1 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() - Dim TableColumnDefinition2 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() - Dim TileViewItemElement1 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() - Dim TileViewItemElement2 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() - Dim TableRowDefinition1 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() - Dim TableColumnDefinition3 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() - Dim TableColumnDefinition4 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() - Dim TableRowDefinition2 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() - Dim TableRowDefinition3 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() - Dim TileViewItemElement3 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() - Dim TileViewItemElement4 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() - Dim TileViewItemElement5 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim ItemTemplate2 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate() + Dim TableColumnDefinition5 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TableColumnDefinition6 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TileViewItemElement6 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TileViewItemElement7 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TableRowDefinition4 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Dim TableColumnDefinition7 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TableColumnDefinition8 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TableRowDefinition5 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Dim TableRowDefinition6 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Dim TileViewItemElement8 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TileViewItemElement9 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TileViewItemElement10 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() Me.colName = New DevExpress.XtraGrid.Columns.TileViewColumn() Me.colImage = New DevExpress.XtraGrid.Columns.TileViewColumn() Me.colDescription = New DevExpress.XtraGrid.Columns.TileViewColumn() @@ -56,14 +56,12 @@ Partial Class frmSearchFlow Me.BarEditItem2 = New DevExpress.XtraBars.BarEditItem() Me.RepositoryItemTrackBar2 = New DevExpress.XtraEditors.Repository.RepositoryItemTrackBar() Me.BarCheckItem1 = New DevExpress.XtraBars.BarCheckItem() - Me.btnOpenSearchDirectory = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup5 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPage3 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() - Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RepositoryItemMarqueeProgressBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemMarqueeProgressBar() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() @@ -150,7 +148,7 @@ Partial Class frmSearchFlow ' Me.RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.lblResults, Me.chkOperatorAnd, Me.chkOperatorOr, Me.chkDatefilter2, Me.BarCheckItem4, Me.chkSearchEverywhere, Me.BarButtonItem1, Me.BarButtonItem2, Me.btnSaveSearch, Me.chkGridVertical, Me.chkGridHorizontal, Me.BarEditItem1, Me.BarEditItem2, Me.BarCheckItem1, Me.btnOpenSearchDirectory}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.lblResults, Me.chkOperatorAnd, Me.chkOperatorOr, Me.chkDatefilter2, Me.BarCheckItem4, Me.chkSearchEverywhere, Me.BarButtonItem1, Me.BarButtonItem2, Me.btnSaveSearch, Me.chkGridVertical, Me.chkGridHorizontal, Me.BarEditItem1, Me.BarEditItem2, Me.BarCheckItem1}) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) Me.RibbonControl1.MaxItemId = 30 Me.RibbonControl1.Name = "RibbonControl1" @@ -160,7 +158,7 @@ Partial Class frmSearchFlow Me.RibbonControl1.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.[False] Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Show Me.RibbonControl1.ShowToolbarCustomizeItem = False - Me.RibbonControl1.Size = New System.Drawing.Size(954, 158) + Me.RibbonControl1.Size = New System.Drawing.Size(954, 160) Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 Me.RibbonControl1.Toolbar.ShowCustomizeItem = False ' @@ -286,12 +284,6 @@ Partial Class frmSearchFlow Me.BarCheckItem1.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.columnheaders Me.BarCheckItem1.Name = "BarCheckItem1" ' - 'btnOpenSearchDirectory - ' - Me.btnOpenSearchDirectory.Caption = "Suchen Verzeichnis öffnen" - Me.btnOpenSearchDirectory.Id = 29 - Me.btnOpenSearchDirectory.Name = "btnOpenSearchDirectory" - ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup5}) @@ -323,7 +315,7 @@ Partial Class frmSearchFlow ' 'RibbonPage3 ' - Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3, Me.RibbonPageGroup4}) + Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3}) Me.RibbonPage3.Name = "RibbonPage3" Me.RibbonPage3.Text = "Layout" ' @@ -337,12 +329,6 @@ Partial Class frmSearchFlow Me.RibbonPageGroup3.Name = "RibbonPageGroup3" Me.RibbonPageGroup3.Text = "RibbonPageGroup3" ' - 'RibbonPageGroup4 - ' - Me.RibbonPageGroup4.ItemLinks.Add(Me.btnOpenSearchDirectory) - Me.RibbonPageGroup4.Name = "RibbonPageGroup4" - Me.RibbonPageGroup4.Text = "Suchen" - ' 'RepositoryItemMarqueeProgressBar1 ' Me.RepositoryItemMarqueeProgressBar1.Name = "RepositoryItemMarqueeProgressBar1" @@ -351,10 +337,10 @@ Partial Class frmSearchFlow ' Me.RibbonStatusBar1.BackColor = System.Drawing.Color.Red Me.RibbonStatusBar1.ItemLinks.Add(Me.lblResults) - Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 672) + Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 674) Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 - Me.RibbonStatusBar1.Size = New System.Drawing.Size(954, 24) + Me.RibbonStatusBar1.Size = New System.Drawing.Size(954, 22) ' 'RibbonPage2 ' @@ -365,7 +351,7 @@ Partial Class frmSearchFlow ' Me.PanelControl1.Controls.Add(Me.PanelControl2) Me.PanelControl1.Dock = System.Windows.Forms.DockStyle.Fill - Me.PanelControl1.Location = New System.Drawing.Point(0, 158) + Me.PanelControl1.Location = New System.Drawing.Point(0, 160) Me.PanelControl1.Name = "PanelControl1" Me.PanelControl1.Padding = New System.Windows.Forms.Padding(30) Me.PanelControl1.Size = New System.Drawing.Size(954, 514) @@ -441,61 +427,61 @@ Partial Class frmSearchFlow Me.ViewSearches.OptionsTiles.RowCount = 2 Me.ViewSearches.OptionsTiles.VerticalContentAlignment = DevExpress.Utils.VertAlignment.Center Me.ViewSearches.SortInfo.AddRange(New DevExpress.XtraGrid.Columns.GridColumnSortInfo() {New DevExpress.XtraGrid.Columns.GridColumnSortInfo(Me.colGroupText, DevExpress.Data.ColumnSortOrder.Ascending)}) - TableColumnDefinition1.Length.Value = 35.0R - TableColumnDefinition1.PaddingRight = 5 - TableColumnDefinition2.Length.Value = 129.0R - ItemTemplate1.Columns.Add(TableColumnDefinition1) - ItemTemplate1.Columns.Add(TableColumnDefinition2) - TileViewItemElement1.Column = Me.colName - TileViewItemElement1.ColumnIndex = 1 - TileViewItemElement1.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - TileViewItemElement1.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze - TileViewItemElement1.Text = "colName" - TileViewItemElement1.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - TileViewItemElement2.Column = Me.colImage - TileViewItemElement2.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - TileViewItemElement2.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze - TileViewItemElement2.Text = "colImage" - TileViewItemElement2.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - ItemTemplate1.Elements.Add(TileViewItemElement1) - ItemTemplate1.Elements.Add(TileViewItemElement2) - ItemTemplate1.Name = "DefaultSmall" - TableRowDefinition1.Length.Value = 43.0R - ItemTemplate1.Rows.Add(TableRowDefinition1) - Me.ViewSearches.Templates.Add(ItemTemplate1) - TableColumnDefinition3.Length.Value = 35.0R - TableColumnDefinition3.PaddingRight = 5 - TableColumnDefinition4.Length.Value = 111.0R - Me.ViewSearches.TileColumns.Add(TableColumnDefinition3) - Me.ViewSearches.TileColumns.Add(TableColumnDefinition4) - TableRowDefinition2.Length.Value = 17.0R - TableRowDefinition3.Length.Value = 45.0R - Me.ViewSearches.TileRows.Add(TableRowDefinition2) - Me.ViewSearches.TileRows.Add(TableRowDefinition3) - TileViewItemElement3.Appearance.Normal.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold) - TileViewItemElement3.Appearance.Normal.Options.UseFont = True - TileViewItemElement3.Column = Me.colName - TileViewItemElement3.ColumnIndex = 1 - TileViewItemElement3.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - TileViewItemElement3.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze - TileViewItemElement3.Text = "colName" - TileViewItemElement3.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - TileViewItemElement4.Column = Me.colImage - TileViewItemElement4.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - TileViewItemElement4.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze - TileViewItemElement4.RowIndex = 1 - TileViewItemElement4.Text = "colImage" - TileViewItemElement4.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - TileViewItemElement5.Column = Me.colDescription - TileViewItemElement5.ColumnIndex = 1 - TileViewItemElement5.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - TileViewItemElement5.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze - TileViewItemElement5.RowIndex = 1 - TileViewItemElement5.Text = "colDescription" - TileViewItemElement5.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter - Me.ViewSearches.TileTemplate.Add(TileViewItemElement3) - Me.ViewSearches.TileTemplate.Add(TileViewItemElement4) - Me.ViewSearches.TileTemplate.Add(TileViewItemElement5) + TableColumnDefinition5.Length.Value = 35.0R + TableColumnDefinition5.PaddingRight = 5 + TableColumnDefinition6.Length.Value = 129.0R + ItemTemplate2.Columns.Add(TableColumnDefinition5) + ItemTemplate2.Columns.Add(TableColumnDefinition6) + TileViewItemElement6.Column = Me.colName + TileViewItemElement6.ColumnIndex = 1 + TileViewItemElement6.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement6.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze + TileViewItemElement6.Text = "colName" + TileViewItemElement6.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement7.Column = Me.colImage + TileViewItemElement7.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement7.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze + TileViewItemElement7.Text = "colImage" + TileViewItemElement7.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + ItemTemplate2.Elements.Add(TileViewItemElement6) + ItemTemplate2.Elements.Add(TileViewItemElement7) + ItemTemplate2.Name = "DefaultSmall" + TableRowDefinition4.Length.Value = 43.0R + ItemTemplate2.Rows.Add(TableRowDefinition4) + Me.ViewSearches.Templates.Add(ItemTemplate2) + TableColumnDefinition7.Length.Value = 35.0R + TableColumnDefinition7.PaddingRight = 5 + TableColumnDefinition8.Length.Value = 111.0R + Me.ViewSearches.TileColumns.Add(TableColumnDefinition7) + Me.ViewSearches.TileColumns.Add(TableColumnDefinition8) + TableRowDefinition5.Length.Value = 17.0R + TableRowDefinition6.Length.Value = 45.0R + Me.ViewSearches.TileRows.Add(TableRowDefinition5) + Me.ViewSearches.TileRows.Add(TableRowDefinition6) + TileViewItemElement8.Appearance.Normal.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold) + TileViewItemElement8.Appearance.Normal.Options.UseFont = True + TileViewItemElement8.Column = Me.colName + TileViewItemElement8.ColumnIndex = 1 + TileViewItemElement8.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement8.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze + TileViewItemElement8.Text = "colName" + TileViewItemElement8.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement9.Column = Me.colImage + TileViewItemElement9.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement9.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze + TileViewItemElement9.RowIndex = 1 + TileViewItemElement9.Text = "colImage" + TileViewItemElement9.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement10.Column = Me.colDescription + TileViewItemElement10.ColumnIndex = 1 + TileViewItemElement10.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement10.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.Squeeze + TileViewItemElement10.RowIndex = 1 + TileViewItemElement10.Text = "colDescription" + TileViewItemElement10.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + Me.ViewSearches.TileTemplate.Add(TileViewItemElement8) + Me.ViewSearches.TileTemplate.Add(TileViewItemElement9) + Me.ViewSearches.TileTemplate.Add(TileViewItemElement10) ' 'colGroupText ' @@ -517,24 +503,24 @@ Partial Class frmSearchFlow 'DateEditFrom ' Me.DateEditFrom.EditValue = Nothing - Me.DateEditFrom.Location = New System.Drawing.Point(95, 326) + Me.DateEditFrom.Location = New System.Drawing.Point(101, 326) Me.DateEditFrom.MenuManager = Me.RibbonControl1 Me.DateEditFrom.Name = "DateEditFrom" Me.DateEditFrom.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}) Me.DateEditFrom.Properties.CalendarTimeProperties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}) - Me.DateEditFrom.Size = New System.Drawing.Size(784, 20) + Me.DateEditFrom.Size = New System.Drawing.Size(778, 20) Me.DateEditFrom.StyleController = Me.LayoutControl1 Me.DateEditFrom.TabIndex = 5 ' 'DateEditTo ' Me.DateEditTo.EditValue = Nothing - Me.DateEditTo.Location = New System.Drawing.Point(95, 378) + Me.DateEditTo.Location = New System.Drawing.Point(101, 379) Me.DateEditTo.MenuManager = Me.RibbonControl1 Me.DateEditTo.Name = "DateEditTo" Me.DateEditTo.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}) Me.DateEditTo.Properties.CalendarTimeProperties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}) - Me.DateEditTo.Size = New System.Drawing.Size(784, 20) + Me.DateEditTo.Size = New System.Drawing.Size(778, 20) Me.DateEditTo.StyleController = Me.LayoutControl1 Me.DateEditTo.TabIndex = 7 ' @@ -545,17 +531,17 @@ Partial Class frmSearchFlow Me.CheckEdit1.Name = "CheckEdit1" Me.CheckEdit1.Properties.OffText = "Datum bis deaktiviert" Me.CheckEdit1.Properties.OnText = "Datum bis aktiviert" - Me.CheckEdit1.Size = New System.Drawing.Size(878, 18) + Me.CheckEdit1.Size = New System.Drawing.Size(878, 19) Me.CheckEdit1.StyleController = Me.LayoutControl1 Me.CheckEdit1.TabIndex = 8 ' 'ComboBoxDateAttributes ' - Me.ComboBoxDateAttributes.Location = New System.Drawing.Point(95, 408) + Me.ComboBoxDateAttributes.Location = New System.Drawing.Point(101, 409) Me.ComboBoxDateAttributes.MenuManager = Me.RibbonControl1 Me.ComboBoxDateAttributes.Name = "ComboBoxDateAttributes" Me.ComboBoxDateAttributes.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}) - Me.ComboBoxDateAttributes.Size = New System.Drawing.Size(784, 20) + Me.ComboBoxDateAttributes.Size = New System.Drawing.Size(778, 20) Me.ComboBoxDateAttributes.StyleController = Me.LayoutControl1 Me.ComboBoxDateAttributes.TabIndex = 9 ' @@ -592,25 +578,25 @@ Partial Class frmSearchFlow Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5) Me.LayoutControlItem2.Size = New System.Drawing.Size(882, 30) Me.LayoutControlItem2.Text = "Datum Von" - Me.LayoutControlItem2.TextSize = New System.Drawing.Size(76, 13) + Me.LayoutControlItem2.TextSize = New System.Drawing.Size(82, 13) ' 'LayoutControlItem4 ' Me.LayoutControlItem4.Control = Me.DateEditTo Me.LayoutControlItem4.Enabled = False - Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 52) + Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 53) Me.LayoutControlItem4.Name = "LayoutControlItem4" Me.LayoutControlItem4.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5) Me.LayoutControlItem4.Size = New System.Drawing.Size(882, 30) Me.LayoutControlItem4.Text = "Datum Bis" - Me.LayoutControlItem4.TextSize = New System.Drawing.Size(76, 13) + Me.LayoutControlItem4.TextSize = New System.Drawing.Size(82, 13) ' 'EmptySpaceItem1 ' Me.EmptySpaceItem1.AllowHotTrack = False - Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 112) + Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 113) Me.EmptySpaceItem1.Name = "EmptySpaceItem1" - Me.EmptySpaceItem1.Size = New System.Drawing.Size(882, 11) + Me.EmptySpaceItem1.Size = New System.Drawing.Size(882, 10) Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0) ' 'LayoutControlItem6 @@ -618,19 +604,19 @@ Partial Class frmSearchFlow Me.LayoutControlItem6.Control = Me.CheckEdit1 Me.LayoutControlItem6.Location = New System.Drawing.Point(0, 30) Me.LayoutControlItem6.Name = "LayoutControlItem6" - Me.LayoutControlItem6.Size = New System.Drawing.Size(882, 22) + Me.LayoutControlItem6.Size = New System.Drawing.Size(882, 23) Me.LayoutControlItem6.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem6.TextVisible = False ' 'LayoutControlItem8 ' Me.LayoutControlItem8.Control = Me.ComboBoxDateAttributes - Me.LayoutControlItem8.Location = New System.Drawing.Point(0, 82) + Me.LayoutControlItem8.Location = New System.Drawing.Point(0, 83) Me.LayoutControlItem8.Name = "LayoutControlItem8" Me.LayoutControlItem8.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5) Me.LayoutControlItem8.Size = New System.Drawing.Size(882, 30) Me.LayoutControlItem8.Text = "Datums Attribut" - Me.LayoutControlItem8.TextSize = New System.Drawing.Size(76, 13) + Me.LayoutControlItem8.TextSize = New System.Drawing.Size(82, 13) ' 'LayoutControlGroup3 ' @@ -770,6 +756,4 @@ Partial Class frmSearchFlow Friend WithEvents RepositoryItemTrackBar2 As DevExpress.XtraEditors.Repository.RepositoryItemTrackBar Friend WithEvents BarCheckItem1 As DevExpress.XtraBars.BarCheckItem Friend WithEvents colSelected As DevExpress.XtraGrid.Columns.TileViewColumn - Friend WithEvents btnOpenSearchDirectory As DevExpress.XtraBars.BarButtonItem - Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup End Class diff --git a/GUIs.ZooFlow/Search/frmSearchFlow.vb b/GUIs.ZooFlow/Search/frmSearchFlow.vb index 90897984..12a642a1 100644 --- a/GUIs.ZooFlow/Search/frmSearchFlow.vb +++ b/GUIs.ZooFlow/Search/frmSearchFlow.vb @@ -27,7 +27,8 @@ Public Class frmSearchFlow Private ReadOnly TokenListAttrValues As New Dictionary(Of String, Object) Private Sub frmFlowSearch2_Load(sender As Object, e As EventArgs) Handles MyBase.Load - SearchLoader = New SearchLoader(My.LogConfig, My.SystemConfigManager, SvgImageCollection1) + SearchLoader = New SearchLoader(My.LogConfig, My.DatabaseIDB, My.Application.User, SvgImageCollection1) + SearchRunner = New SearchRunner(My.LogConfig, My.Application.GetEnvironment, "FlowSearch") With { .BaseSearchSQL = SQL_FLOW_SEARCH_BASE } @@ -375,13 +376,6 @@ Public Class frmSearchFlow End If End Sub - Private Sub btnOpenSearchDirectory_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnOpenSearchDirectory.ItemClick - Dim oSearchDirectory = SearchLoader.GetSearchDirectoryPath() - Process.Start(oSearchDirectory) - End Sub - - - Private Sub ViewSearches_ItemCheckedChanged(sender As Object, e As TileViewItemClickEventArgs) Handles ViewSearches.ItemCheckedChanged Dim oItem As TileViewItem = e.Item Dim oSearch As SavedSearch.SavedSearch = ViewSearches.GetRow(oItem.RowHandle) From f08ad76d45d79a35371bb94a72ae2cece6209d9a Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 14 Jun 2022 13:41:36 +0200 Subject: [PATCH 3/5] Zooflow: Version 1.3.0.1 --- GUIs.ZooFlow/My Project/AssemblyInfo.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GUIs.ZooFlow/My Project/AssemblyInfo.vb b/GUIs.ZooFlow/My Project/AssemblyInfo.vb index 69dda8ae..a5d934b5 100644 --- a/GUIs.ZooFlow/My Project/AssemblyInfo.vb +++ b/GUIs.ZooFlow/My Project/AssemblyInfo.vb @@ -11,7 +11,7 @@ Imports System.Runtime.InteropServices - + ' Setting ComVisible to false makes the types in this assembly not visible @@ -32,5 +32,5 @@ Imports System.Runtime.InteropServices ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - + From 2e1e981b0f287d66bc2c73280c814c92d4fbf82f Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 14 Jun 2022 14:12:37 +0200 Subject: [PATCH 4/5] Zooflow: Fix sorting searches --- GUIs.ZooFlow/Search/frmSearchFlow.vb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/GUIs.ZooFlow/Search/frmSearchFlow.vb b/GUIs.ZooFlow/Search/frmSearchFlow.vb index 12a642a1..d6044eb2 100644 --- a/GUIs.ZooFlow/Search/frmSearchFlow.vb +++ b/GUIs.ZooFlow/Search/frmSearchFlow.vb @@ -386,14 +386,11 @@ Public Class frmSearchFlow End Sub Private Sub ViewSearches_CustomColumnSort(sender As Object, e As Views.Base.CustomColumnSortEventArgs) Handles ViewSearches.CustomColumnSort - Console.WriteLine() - - If TypeOf e.RowObject1 Is CustomSearch Then - e.Result = 1 - e.Handled = True - Else + If TypeOf e.RowObject1 Is CustomSearch Or TypeOf e.RowObject2 Is CustomSearch Then e.Result = -1 e.Handled = True + Else + e.Handled = False End If End Sub End Class \ No newline at end of file From f167c6558acfc60a5f9d9d069bf596a5e5e77176 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 14 Jun 2022 14:12:54 +0200 Subject: [PATCH 5/5] Zooflow: Version 1.3.0.2 --- GUIs.ZooFlow/My Project/AssemblyInfo.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GUIs.ZooFlow/My Project/AssemblyInfo.vb b/GUIs.ZooFlow/My Project/AssemblyInfo.vb index a5d934b5..e00d7f61 100644 --- a/GUIs.ZooFlow/My Project/AssemblyInfo.vb +++ b/GUIs.ZooFlow/My Project/AssemblyInfo.vb @@ -11,7 +11,7 @@ Imports System.Runtime.InteropServices - + ' Setting ComVisible to false makes the types in this assembly not visible @@ -32,5 +32,5 @@ Imports System.Runtime.InteropServices ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - +