diff --git a/Controls.DocumentViewer/DocumentViewer.Designer.vb b/Controls.DocumentViewer/DocumentViewer.Designer.vb index 47a2d4cc..fc9328c1 100644 --- a/Controls.DocumentViewer/DocumentViewer.Designer.vb +++ b/Controls.DocumentViewer/DocumentViewer.Designer.vb @@ -436,7 +436,7 @@ Partial Class DocumentViewer Me.GdViewer.MagnifierZoomY = 2.0! Me.GdViewer.MouseButtonForMouseMode = GdPicture14.MouseButton.MouseButtonLeft Me.GdViewer.MouseMode = GdPicture14.ViewerMouseMode.MouseModePan - Me.GdViewer.MouseWheelMode = GdPicture14.ViewerMouseWheelMode.MouseWheelModeZoom + Me.GdViewer.MouseWheelMode = GdPicture14.ViewerMouseWheelMode.MouseWheelModeVerticalScroll Me.GdViewer.Name = "GdViewer" Me.GdViewer.PageBordersColor = System.Drawing.Color.Black Me.GdViewer.PageBordersPenSize = 1 diff --git a/Controls.DocumentViewer/DocumentViewer.resx b/Controls.DocumentViewer/DocumentViewer.resx index ff4be476..35b2f2dc 100644 --- a/Controls.DocumentViewer/DocumentViewer.resx +++ b/Controls.DocumentViewer/DocumentViewer.resx @@ -123,6 +123,9 @@ 285, 22 + + 25 + @@ -161,26 +164,6 @@ NC42LTAuOCw2LjUtMi4xbDcuOSw3LjljMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwy OC4yLDMwLjEsMjcuNiwyOS43LDI3LjN6IE00LDEzYzAtNSw0LTksOS05YzUsMCw5LDQsOSw5ICAgcy00 LDktOSw5QzgsMjIsNCwxOCw0LDEzeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANoCAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg - MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z - ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz - OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp - dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ilpvb20iPg0KICAgIDxwYXRoIGQ9Ik0yNy43LDI1LjNM - MjAuNSwxOGMxLTEuNCwxLjUtMy4yLDEuNS01YzAtNS00LTktOS05cy05LDQtOSw5YzAsNSw0LDksOSw5 - YzEuOSwwLDMuNi0wLjYsNS0xLjVsNy4zLDcuMyAgIGMwLjMsMC4zLDAuOSwwLjMsMS4yLDBsMS4yLTEu - MkMyOC4xLDI2LjIsMjguMSwyNS42LDI3LjcsMjUuM3ogTTYsMTNjMC0zLjksMy4xLTcsNy03czcsMy4x - LDcsN2MwLDMuOS0zLjEsNy03LDdTNiwxNi45LDYsMTN6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N - Cjwvc3ZnPgs= @@ -219,9 +202,6 @@ OCw4TDE2LDI0eiIgY2xhc3M9IkdyZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L - - 25 - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 @@ -246,6 +226,26 @@ ICAgYzAuOS0zLDMuNy01LDctNXM2LjEsMiw3LDVDMjkuMSwyNiwyNi4zLDI4LDIzLDI4eiBNMjMsMjZj LTEuNywwLTMtMS4zLTMtM3MxLjMtMywzLTNzMywxLjMsMywzUzI0LjcsMjYsMjMsMjZ6IiBjbGFzcz0i QmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANoCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ilpvb20iPg0KICAgIDxwYXRoIGQ9Ik0yNy43LDI1LjNM + MjAuNSwxOGMxLTEuNCwxLjUtMy4yLDEuNS01YzAtNS00LTktOS05cy05LDQtOSw5YzAsNSw0LDksOSw5 + YzEuOSwwLDMuNi0wLjYsNS0xLjVsNy4zLDcuMyAgIGMwLjMsMC4zLDAuOSwwLjMsMS4yLDBsMS4yLTEu + MkMyOC4xLDI2LjIsMjguMSwyNS42LDI3LjcsMjUuM3ogTTYsMTNjMC0zLjksMy4xLTcsNy03czcsMy4x + LDcsN2MwLDMuOS0zLjEsNy03LDdTNiwxNi45LDYsMTN6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N + Cjwvc3ZnPgs= diff --git a/GUIs.ClipboardWatcher/ProfileSearches.vb b/GUIs.ClipboardWatcher/ProfileSearches.vb index fa9162b7..84c429f3 100644 --- a/GUIs.ClipboardWatcher/ProfileSearches.vb +++ b/GUIs.ClipboardWatcher/ProfileSearches.vb @@ -70,7 +70,11 @@ Public Class ProfileSearches .WindowGuid = oWindowGuid, .WindowTitle = pFormTitle, .OperationModeOverride = pOperationMode, - .ProfileGuid = pProfile.Guid + .ProfileGuid = pProfile.Guid, + .WM_SUFFIX = _Environment.Settings.WM_SUFFIX, + .MAP_SHAREDRIVE = _Environment.Settings.MAP_SHAREDRIVE, + .MAP_BLACKLIST = _Environment.Settings.MAP_BLACKLIST, + .SavetoDrive = _Environment.Settings.SavetoDrive } For Each oSearch In oSearches diff --git a/GUIs.Common/Common.vbproj b/GUIs.Common/Common.vbproj index f5346c14..66162494 100644 --- a/GUIs.Common/Common.vbproj +++ b/GUIs.Common/Common.vbproj @@ -458,6 +458,7 @@ frmDocumentResultList.vb + Designer frmDocumentResultList.vb diff --git a/GUIs.Common/DocumentResultList/Params.vb b/GUIs.Common/DocumentResultList/Params.vb index 330590f3..dc608b2a 100644 --- a/GUIs.Common/DocumentResultList/Params.vb +++ b/GUIs.Common/DocumentResultList/Params.vb @@ -13,6 +13,10 @@ Namespace DocumentResultList Public ProfileGuid As Integer Public ShowBackNavigation As Boolean = True Public ShowFileList As Boolean = True + Public WM_SUFFIX As String = "" + Public MAP_SHAREDRIVE As String = "" + Public MAP_BLACKLIST As String + Public SavetoDrive As Boolean = False End Class Public Class DocumentResult diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb b/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb index e110d0b7..6410bcdd 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb @@ -24,7 +24,7 @@ Partial Class frmDocumentResultList Dim FadeTransition1 As DevExpress.Utils.Animation.FadeTransition = New DevExpress.Utils.Animation.FadeTransition() Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl() Me.GridControl1 = New DevExpress.XtraGrid.GridControl() - Me.GridView1 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView() + Me.GridViewResult = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView() Me.GridBand1 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand() Me.RibbonControl = New DevExpress.XtraBars.Ribbon.RibbonControl() Me.SvgImageCollection1 = New DevExpress.Utils.SvgImageCollection(Me.components) @@ -68,13 +68,13 @@ Partial Class frmDocumentResultList Me.btnSaveWorkspaceAs = New DevExpress.XtraBars.BarButtonItem() Me.btnSaveAsMySearch = New DevExpress.XtraBars.BarButtonItem() Me.lblCurrentWorkspace = New DevExpress.XtraBars.BarStaticItem() - Me.BarButtonItem6 = New DevExpress.XtraBars.BarButtonItem() + Me.bbtnitemExportFiles = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup_Navigation = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() - Me.RibbonPageGroupExport = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageRefresh = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupDocument = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupFilesystem = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroupExport = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupCheckInOut = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupWorkflow = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupAttribute = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -124,7 +124,7 @@ Partial Class frmDocumentResultList Me.SplitContainerControl1.Panel2.SuspendLayout() Me.SplitContainerControl1.SuspendLayout() CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridViewResult, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.cmbGridFontSize, System.ComponentModel.ISupportInitialize).BeginInit() @@ -184,27 +184,27 @@ Partial Class frmDocumentResultList 'GridControl1 ' resources.ApplyResources(Me.GridControl1, "GridControl1") - Me.GridControl1.MainView = Me.GridView1 + Me.GridControl1.MainView = Me.GridViewResult Me.GridControl1.MenuManager = Me.RibbonControl Me.GridControl1.Name = "GridControl1" - Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) + Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewResult}) ' - 'GridView1 + 'GridViewResult ' - Me.GridView1.Appearance.FocusedCell.BackColor = System.Drawing.Color.Gainsboro - Me.GridView1.Appearance.FocusedCell.Options.UseBackColor = True - Me.GridView1.Appearance.FocusedRow.BackColor = System.Drawing.Color.Gainsboro - Me.GridView1.Appearance.FocusedRow.Options.UseBackColor = True - Me.GridView1.Bands.AddRange(New DevExpress.XtraGrid.Views.BandedGrid.GridBand() {Me.GridBand1}) - Me.GridView1.GridControl = Me.GridControl1 - Me.GridView1.Name = "GridView1" - Me.GridView1.OptionsBehavior.Editable = False - Me.GridView1.OptionsBehavior.ReadOnly = True - Me.GridView1.OptionsSelection.EnableAppearanceFocusedCell = False - Me.GridView1.OptionsView.ShowAutoFilterRow = True - Me.GridView1.OptionsView.ShowHorizontalLines = DevExpress.Utils.DefaultBoolean.[False] - Me.GridView1.OptionsView.ShowIndicator = False - Me.GridView1.OptionsView.ShowVerticalLines = DevExpress.Utils.DefaultBoolean.[False] + Me.GridViewResult.Appearance.FocusedCell.BackColor = System.Drawing.Color.Gainsboro + Me.GridViewResult.Appearance.FocusedCell.Options.UseBackColor = True + Me.GridViewResult.Appearance.FocusedRow.BackColor = System.Drawing.Color.Gainsboro + Me.GridViewResult.Appearance.FocusedRow.Options.UseBackColor = True + Me.GridViewResult.Bands.AddRange(New DevExpress.XtraGrid.Views.BandedGrid.GridBand() {Me.GridBand1}) + Me.GridViewResult.GridControl = Me.GridControl1 + Me.GridViewResult.Name = "GridViewResult" + Me.GridViewResult.OptionsBehavior.Editable = False + Me.GridViewResult.OptionsBehavior.ReadOnly = True + Me.GridViewResult.OptionsSelection.EnableAppearanceFocusedCell = False + Me.GridViewResult.OptionsView.ShowAutoFilterRow = True + Me.GridViewResult.OptionsView.ShowHorizontalLines = DevExpress.Utils.DefaultBoolean.[False] + Me.GridViewResult.OptionsView.ShowIndicator = False + Me.GridViewResult.OptionsView.ShowVerticalLines = DevExpress.Utils.DefaultBoolean.[False] ' 'GridBand1 ' @@ -222,9 +222,9 @@ Partial Class frmDocumentResultList Me.RibbonControl.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green Me.RibbonControl.ExpandCollapseItem.Id = 0 Me.RibbonControl.Images = Me.SvgImageCollection1 - Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.BarButtonItemExportGrid1, Me.BarStaticItem1, Me.labelResultCount, Me.BarButtonBack, Me.BarButtonResetGridLayout, Me.labelCriticalError, Me.labelWarning, Me.MenuItemFileOpen, Me.MenuItemPropertiesIDB, Me.MenuItemFolderOpen, Me.MenuItemFilepathCopy, Me.MenuItemFolderpathCopy, Me.MenuItemProperties, Me.MenuItemsOpenFileZooFlow, Me.MenuItemPropertiesZooFlow, Me.ButtonRefresh, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.MenuItemStartAdhocWorkflow, Me.MenuItemCheckInFile, Me.MenuItemCheckOutFile, Me.MenuItemVersionFile, Me.chkGridShowQuickfilter, Me.chkGridShowGrouping, Me.chkGridShowTitle, Me.MenuItemSaveProperties, Me.BarButtonItem11, Me.BarEditItemGridFontSize, Me.btnSaveWorkspace, Me.BarWorkspaceMenuItem1, Me.btnSaveWorkspaceAs, Me.btnSaveAsMySearch, Me.lblCurrentWorkspace, Me.BarButtonItem6}) + Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.BarButtonItemExportGrid1, Me.BarStaticItem1, Me.labelResultCount, Me.BarButtonBack, Me.BarButtonResetGridLayout, Me.labelCriticalError, Me.labelWarning, Me.MenuItemFileOpen, Me.MenuItemPropertiesIDB, Me.MenuItemFolderOpen, Me.MenuItemFilepathCopy, Me.MenuItemFolderpathCopy, Me.MenuItemProperties, Me.MenuItemsOpenFileZooFlow, Me.MenuItemPropertiesZooFlow, Me.ButtonRefresh, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.MenuItemStartAdhocWorkflow, Me.MenuItemCheckInFile, Me.MenuItemCheckOutFile, Me.MenuItemVersionFile, Me.chkGridShowQuickfilter, Me.chkGridShowGrouping, Me.chkGridShowTitle, Me.MenuItemSaveProperties, Me.BarButtonItem11, Me.BarEditItemGridFontSize, Me.btnSaveWorkspace, Me.BarWorkspaceMenuItem1, Me.btnSaveWorkspaceAs, Me.btnSaveAsMySearch, Me.lblCurrentWorkspace, Me.bbtnitemExportFiles}) resources.ApplyResources(Me.RibbonControl, "RibbonControl") - Me.RibbonControl.MaxItemId = 62 + Me.RibbonControl.MaxItemId = 63 Me.RibbonControl.Name = "RibbonControl" Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPage2}) Me.RibbonControl.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemTextEdit1, Me.RepositoryItemTextEdit2, Me.RepositoryItemSearchControl1, Me.cmbGridFontSize}) @@ -258,7 +258,6 @@ Partial Class frmDocumentResultList Me.BarButtonItemExportGrid1.Id = 3 Me.BarButtonItemExportGrid1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItemExportGrid1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.BarButtonItemExportGrid1.Name = "BarButtonItemExportGrid1" - Me.BarButtonItemExportGrid1.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing ' 'BarStaticItem1 ' @@ -531,16 +530,16 @@ Partial Class frmDocumentResultList Me.lblCurrentWorkspace.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph Me.lblCurrentWorkspace.Tag = "Arbeitsbereich: {0}" ' - 'BarButtonItem6 + 'bbtnitemExportFiles ' - resources.ApplyResources(Me.BarButtonItem6, "BarButtonItem6") - Me.BarButtonItem6.Id = 61 - Me.BarButtonItem6.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem6.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) - Me.BarButtonItem6.Name = "BarButtonItem6" + resources.ApplyResources(Me.bbtnitemExportFiles, "bbtnitemExportFiles") + Me.bbtnitemExportFiles.Id = 61 + Me.bbtnitemExportFiles.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitemExportFiles.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.bbtnitemExportFiles.Name = "bbtnitemExportFiles" ' 'RibbonPageStart ' - Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup_Navigation, Me.RibbonPageGroupExport, Me.RibbonPageRefresh, Me.RibbonPageGroupDocument, Me.RibbonPageGroupFilesystem, Me.RibbonPageGroupCheckInOut, Me.RibbonPageGroupWorkflow, Me.RibbonPageGroupAttribute, Me.RibbonPageGroupWorkspace, Me.RibbonPageGroupSavedSearch}) + Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup_Navigation, Me.RibbonPageRefresh, Me.RibbonPageGroupDocument, Me.RibbonPageGroupFilesystem, Me.RibbonPageGroupExport, Me.RibbonPageGroupCheckInOut, Me.RibbonPageGroupWorkflow, Me.RibbonPageGroupAttribute, Me.RibbonPageGroupWorkspace, Me.RibbonPageGroupSavedSearch}) Me.RibbonPageStart.Name = "RibbonPageStart" resources.ApplyResources(Me.RibbonPageStart, "RibbonPageStart") ' @@ -551,14 +550,6 @@ Partial Class frmDocumentResultList Me.RibbonPageGroup_Navigation.Name = "RibbonPageGroup_Navigation" resources.ApplyResources(Me.RibbonPageGroup_Navigation, "RibbonPageGroup_Navigation") ' - 'RibbonPageGroupExport - ' - Me.RibbonPageGroupExport.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far - Me.RibbonPageGroupExport.ItemLinks.Add(Me.BarButtonItemExportGrid1) - Me.RibbonPageGroupExport.ItemLinks.Add(Me.BarButtonItem6) - Me.RibbonPageGroupExport.Name = "RibbonPageGroupExport" - resources.ApplyResources(Me.RibbonPageGroupExport, "RibbonPageGroupExport") - ' 'RibbonPageRefresh ' Me.RibbonPageRefresh.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far @@ -581,6 +572,13 @@ Partial Class frmDocumentResultList Me.RibbonPageGroupFilesystem.Name = "RibbonPageGroupFilesystem" resources.ApplyResources(Me.RibbonPageGroupFilesystem, "RibbonPageGroupFilesystem") ' + 'RibbonPageGroupExport + ' + Me.RibbonPageGroupExport.ItemLinks.Add(Me.BarButtonItemExportGrid1) + Me.RibbonPageGroupExport.ItemLinks.Add(Me.bbtnitemExportFiles) + Me.RibbonPageGroupExport.Name = "RibbonPageGroupExport" + resources.ApplyResources(Me.RibbonPageGroupExport, "RibbonPageGroupExport") + ' 'RibbonPageGroupCheckInOut ' Me.RibbonPageGroupCheckInOut.ItemLinks.Add(Me.MenuItemCheckOutFile) @@ -887,7 +885,7 @@ Partial Class frmDocumentResultList Me.LayoutControlItem1.Name = "LayoutControlItem1" Me.LayoutControlItem1.Size = New System.Drawing.Size(224, 24) resources.ApplyResources(Me.LayoutControlItem1, "LayoutControlItem1") - Me.LayoutControlItem1.TextSize = New System.Drawing.Size(124, 13) + Me.LayoutControlItem1.TextSize = New System.Drawing.Size(126, 13) ' 'LayoutControlItem2 ' @@ -896,7 +894,7 @@ Partial Class frmDocumentResultList Me.LayoutControlItem2.Name = "LayoutControlItem2" Me.LayoutControlItem2.Size = New System.Drawing.Size(224, 24) resources.ApplyResources(Me.LayoutControlItem2, "LayoutControlItem2") - Me.LayoutControlItem2.TextSize = New System.Drawing.Size(124, 13) + Me.LayoutControlItem2.TextSize = New System.Drawing.Size(126, 13) ' 'EmptySpaceItem1 ' @@ -927,9 +925,9 @@ Partial Class frmDocumentResultList Me.AllowFormGlass = DevExpress.Utils.DefaultBoolean.[True] resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.Controls.Add(Me.DockPanelFileList) Me.Controls.Add(Me.DockPanelPreview) Me.Controls.Add(Me.panelContainerStatus) + Me.Controls.Add(Me.DockPanelFileList) Me.Controls.Add(Me.RibbonStatusBar) Me.Controls.Add(Me.RibbonControl) Me.IconOptions.Icon = CType(resources.GetObject("frmDocumentResultList.IconOptions.Icon"), System.Drawing.Icon) @@ -944,7 +942,7 @@ Partial Class frmDocumentResultList CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainerControl1.ResumeLayout(False) CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridViewResult, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.cmbGridFontSize, System.ComponentModel.ISupportInitialize).EndInit() @@ -1012,7 +1010,7 @@ Partial Class frmDocumentResultList Friend WithEvents RepositoryItemTextEdit2 As DevExpress.XtraEditors.Repository.RepositoryItemTextEdit Friend WithEvents labelCriticalError As DevExpress.XtraBars.BarStaticItem Friend WithEvents labelWarning As DevExpress.XtraBars.BarStaticItem - Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.BandedGrid.BandedGridView + Friend WithEvents GridViewResult As DevExpress.XtraGrid.Views.BandedGrid.BandedGridView Friend WithEvents GridBand1 As DevExpress.XtraGrid.Views.BandedGrid.GridBand Friend WithEvents MenuItemFileOpen As DevExpress.XtraBars.BarButtonItem Friend WithEvents MenuItemPropertiesIDB As DevExpress.XtraBars.BarButtonItem @@ -1080,5 +1078,5 @@ Partial Class frmDocumentResultList Friend WithEvents btnSaveAsMySearch As DevExpress.XtraBars.BarButtonItem Friend WithEvents RibbonPageGroupSavedSearch As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents lblCurrentWorkspace As DevExpress.XtraBars.BarStaticItem - Friend WithEvents BarButtonItem6 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents bbtnitemExportFiles As DevExpress.XtraBars.BarButtonItem End Class diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.resx b/GUIs.Common/DocumentResultList/frmDocumentResultList.resx index ebc5597c..09670053 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.resx +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.resx @@ -505,48 +505,6 @@ 1189, 671 - - 3, 46 - - - 583, 442 - - - 0 - - - DockPanel2_Container - - - DevExpress.XtraBars.Docking.ControlContainer, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - DockPanelFileList - - - 0 - - - 0, 158 - - - 590, 491 - - - Ergebnisse - - - DockPanelFileList - - - DevExpress.XtraBars.Docking.DockPanel, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - $this - - - 0 - Fill @@ -563,7 +521,7 @@ DocumentViewer1 - DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.7.0.0, Culture=neutral, PublicKeyToken=null + DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.7.2.0, Culture=neutral, PublicKeyToken=null DockPanel1_Container @@ -611,7 +569,7 @@ $this - 1 + 0 Fill @@ -680,10 +638,10 @@ 0 - 160, 45 + 162, 45 - 84, 20 + 82, 20 4 @@ -704,7 +662,7 @@ - 160, 69 + 162, 69 Combo @@ -713,7 +671,7 @@ Combo - 84, 20 + 82, 20 5 @@ -827,6 +785,48 @@ $this + 1 + + + 3, 46 + + + 583, 442 + + + 0 + + + DockPanel2_Container + + + DevExpress.XtraBars.Docking.ControlContainer, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + DockPanelFileList + + + 0 + + + 0, 158 + + + 590, 491 + + + Ergebnisse + + + DockPanelFileList + + + DevExpress.XtraBars.Docking.DockPanel, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + $this + + 2 @@ -933,10 +933,10 @@ Dokumenten Suche - - GridView1 + + GridViewResult - + DevExpress.XtraGrid.Views.BandedGrid.BandedGridView, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -1191,10 +1191,10 @@ DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - BarButtonItem6 + + bbtnitemExportFiles - + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -1209,12 +1209,6 @@ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - RibbonPageGroupExport - - - DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - RibbonPageRefresh @@ -1233,6 +1227,12 @@ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + RibbonPageGroupExport + + + DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + RibbonPageGroupCheckInOut @@ -1389,10 +1389,10 @@ Als meine Suche speichern - + Export - + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl @@ -1415,9 +1415,6 @@ Navigation - - Export - Aktualisieren @@ -1427,6 +1424,9 @@ Dateien und Ordner + + Export + Bearbeiten diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb index 7f832d95..b476053b 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb @@ -32,6 +32,8 @@ Public Class frmDocumentResultList Private ReadOnly Property _Logger As Logger Implements IBaseForm._Logger Public Property ShouldReturnToPreviousForm As Boolean = False Implements IResultForm.ShouldReturnToPreviousForm + Private Const CopyWM2Temp As Boolean = False + ' Helper Classes Private EDMI_API_Client As Client Private Documentloader As Loader @@ -54,6 +56,7 @@ Public Class frmDocumentResultList Private WM_SUFFIX As String = "\\WINDREAM\OBJECTS" Private MAP_SHAREDRIVE As String = "" Private MAP_BLACKLIST As String = "" + Private SavetoDrive As Boolean = False ' Runtime variables Private Property ResultLists As List(Of DocumentResult) @@ -119,6 +122,11 @@ Public Class frmDocumentResultList LogConfig = pLogConfig _Logger = pLogConfig.GetLogger() + + SavetoDrive = pParams.SavetoDrive + _Logger.Debug("SavetoDrive setting is set to [{0}]", SavetoDrive) + + FormHelper = New FormHelper(pLogConfig, Me) _documentPathHandler = New DocumentPathHandler(pLogConfig) @@ -129,10 +137,16 @@ Public Class frmDocumentResultList Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath, oConfigPath) Helpers = New DocumentResultList.Helpers(pLogConfig) Filesystem = New FilesystemEx(pLogConfig) - GridBuilder = New GridBuilder(New List(Of GridView) From {GridView1, GridView2, GridView3}) + GridBuilder = New GridBuilder(New List(Of GridView) From {GridViewResult, GridView2, GridView3}) FileEx = New Modules.Windows.File(pLogConfig) - LayoutManager = New Layout(pLogConfig, Config, New List(Of GridView) From {GridView1, GridView2, GridView3}, pEnvironment) + LayoutManager = New Layout(pLogConfig, Config, New List(Of GridView) From {GridViewResult, GridView2, GridView3}, pEnvironment) Workspace = New Workspace(Of Config)(pLogConfig, Config, WorkspaceManager1, UserLanguage) + + CopyWMFile2Temp = Environment.Settings.CopyWMFile2Temp + WM_SUFFIX = Environment.Settings.WM_SUFFIX + MAP_SHAREDRIVE = Environment.Settings.MAP_SHAREDRIVE + MAP_BLACKLIST = Environment.Settings.MAP_BLACKLIST + _Logger.Info($"Initialisierung frmDocumentResultList mit WM_SUFFIX=[{WM_SUFFIX}], MAP_SHAREDRIVE=[{MAP_SHAREDRIVE}], MAP_BLACKLIST=[{MAP_BLACKLIST}], CopyWMFile2Temp=[{CopyWMFile2Temp}], SavetoDrive = [{SavetoDrive}]") End Sub Private Function GetOperationMode() As OperationMode @@ -221,7 +235,12 @@ Public Class frmDocumentResultList Else RibbonPageGroupFilesystem.Visible = False End If - + 'If SavetoDrive = True Then + bbtnitemExportFiles.Visibility = BarItemVisibility.Always + 'Else + ' _Logger.Debug("SavetoDrive is set to False, hiding export button") + ' bbtnitemExportFiles.Visibility = BarItemVisibility.Never + 'End If chkGridShowQuickfilter.Checked = LayoutManager.GetFilterRowVisible() chkGridShowGrouping.Checked = LayoutManager.GetGroupPanelVisible() chkGridShowTitle.Checked = LayoutManager.GetBandTitleVisible() @@ -276,7 +295,7 @@ Public Class frmDocumentResultList ' so we can set the row handle and start loading the (only) file If Params.ShowFileList = False Then DockPanelFileList.HideImmediately() - GridView1.FocusedRowHandle = 0 + GridViewResult.FocusedRowHandle = 0 Else DockPanelFileList.Show() End If @@ -306,10 +325,10 @@ Public Class frmDocumentResultList End Try End Sub Private Sub SelectFirstRowInGrid1() - If GridView1.RowCount > 0 Then - GridView1.FocusedRowHandle = 0 + If GridViewResult.RowCount > 0 Then + GridViewResult.FocusedRowHandle = 0 Else - GridView1.FocusedRowHandle = GridControl.InvalidRowHandle + GridViewResult.FocusedRowHandle = GridControl.InvalidRowHandle End If End Sub Private Sub Workspace_WorkspaceLoaded(sender As Object, e As String) @@ -332,12 +351,20 @@ Public Class frmDocumentResultList If _documentPathHandler IsNot Nothing Then _documentPathHandler.Cleanup() End If + Try + If CopyWM2Temp = True Then + _Logger.Debug("🗑️ Bereinige Temp-Ordner beim Schließen...") + _documentPathHandler.CleanupTempFolder() + End If + Catch cleanupEx As Exception + _Logger.Warn($"⚠️ Fehler beim Bereinigen des Temp-Ordners: {cleanupEx.Message}") + End Try Catch ex As Exception _Logger.Error(ex) End Try End Sub - Private Async Sub GridView_FocusedRowChanged(sender As GridView, e As FocusedRowChangedEventArgs) Handles GridView1.FocusedRowChanged, GridView2.FocusedRowChanged, GridView3.FocusedRowChanged + Private Async Sub GridView_FocusedRowChanged(sender As GridView, e As FocusedRowChangedEventArgs) Handles GridViewResult.FocusedRowChanged, GridView2.FocusedRowChanged, GridView3.FocusedRowChanged Helpers.SetRowHandle(e) Try @@ -367,25 +394,34 @@ Public Class frmDocumentResultList ' Load Document in Document Viewer Dim oFileName = $"{oObjectId}.{oDocument.Extension}" - 'If CopyWMFile2Temp = True Then - ' _Logger.Debug("Loading document into viewer with path handler and copying WM file to temp. ObjectId: [{0}], Filename: [{1}], FullPath: [{2}]", oObjectId, oFileName, oFullPath) - ' ' Optionen konfigurieren - ' Dim options As New DocumentPathHandler.DocumentPathOptions With { - ' .EnableMapping = True, - ' .WMSuffix = WM_SUFFIX, - ' .SpecificDrive = If(Len(MAP_SHAREDRIVE) = 1, MAP_SHAREDRIVE, ""), - ' .DriveBlacklist = MAP_BLACKLIST, - ' .CopyToTemp = True, - ' .TempFolder = TEMP_DOCUMENT_FOLDER, - ' .UnmapAfterCopy = True - ' } - 'Else - If Not IsNothing(oDocument.Contents) Then + If Not IsNothing(oDocument.Contents) And CopyWM2Temp = False Then _Logger.Debug("Loading document into viewer with MemoryStream handler (LoadFile_FromStream). ObjectId: [{0}], Filename: [{1}], FullPath: [{2}]", oObjectId, oFileName, oFullPath) DocumentViewer1.LoadFile_FromStream(oFileName, New MemoryStream(oDocument.Contents)) Else - _Logger.Debug("Loading document into viewer from filepath (LoadFile_FromPath). ObjectId: [{0}], Filename: [{1}], FullPath: [{2}]", oObjectId, oFileName, oFullPath) - DocumentViewer1.LoadFile_FromPath(oFullPath) + Dim oResolvedFilename As String = oFullPath + If CopyWM2Temp = True AndAlso Not String.IsNullOrWhiteSpace(oResolvedFilename) Then + Dim options As New DocumentPathHandler.DocumentPathOptions With { + .EnableMapping = True, + .WMSuffix = WM_SUFFIX, + .SpecificDrive = If(Len(MAP_SHAREDRIVE) = 1, MAP_SHAREDRIVE, ""), + .DriveBlacklist = MAP_BLACKLIST, + .CopyToTemp = True, + .TempFolder = TEMP_DOCUMENT_FOLDER, + .UnmapAfterCopy = True + } + Dim result = _documentPathHandler.ProcessDocumentPath(oResolvedFilename, options) + If result.Success AndAlso Not String.IsNullOrWhiteSpace(result.FinalPath) AndAlso File.Exists(result.FinalPath) Then + _Logger.Info($"✓ Zusatzdokument via Temp aufgelöst: [{result.FinalPath}]") + oResolvedFilename = result.FinalPath + Else + _Logger.Warn($"⚠️ Temp-Auflösung fehlgeschlagen für [{oResolvedFilename}]: {result.ErrorMessage} - Fallback auf Originalpfad") + oResolvedFilename = oFullPath + End If + Else + _Logger.Debug("Keine Temp-Kopie für Dokument erforderlich oder möglich. Originalpfad wird verwendet. ObjectId: [{0}], Filename: [{1}], FullPath: [{2}]", oObjectId, oFileName, oFullPath) + End If + _Logger.Debug("Loading document into viewer from filepath (LoadFile_FromPath). ObjectId: [{0}], Filename: [{1}], FullPath: [{2}]", oObjectId, oFileName, oResolvedFilename) + DocumentViewer1.LoadFile_FromPath(oResolvedFilename) End If 'End If @@ -432,16 +468,12 @@ Public Class frmDocumentResultList ' Hide Export and filesystem options for view only right If pDocument.AccessRight = Rights.AccessRight.VIEW_ONLY Then DocumentViewer1.SetViewOnly(True) - RibbonPageGroupExport.Visible = False - If OperationMode = OperationMode.NoAppServer Then RibbonPageGroupFilesystem.Visible = False MenuItemProperties.Visibility = BarItemVisibility.Never End If Else DocumentViewer1.SetViewOnly(False) - RibbonPageGroupExport.Visible = True - If OperationMode = OperationMode.NoAppServer Then RibbonPageGroupFilesystem.Visible = True MenuItemProperties.Visibility = BarItemVisibility.Always @@ -583,8 +615,8 @@ Public Class frmDocumentResultList IsLoading = True Try ' Save current row handle and unset it - Dim oCurrentRowHandle As Integer = GridView1.FocusedRowHandle - GridView1.FocusedRowHandle = GridControl.InvalidRowHandle + Dim oCurrentRowHandle As Integer = GridViewResult.FocusedRowHandle + GridViewResult.FocusedRowHandle = GridControl.InvalidRowHandle ' Save the new results ResultLists = pResults @@ -597,12 +629,12 @@ Public Class frmDocumentResultList LoadGridDataAndLayout() ' Restore old selection only if still valid; otherwise select first row - If GridView1.IsValidRowHandle(oCurrentRowHandle) Then - GridView1.FocusedRowHandle = oCurrentRowHandle - ElseIf GridView1.RowCount > 0 Then - GridView1.FocusedRowHandle = 0 + If GridViewResult.IsValidRowHandle(oCurrentRowHandle) Then + GridViewResult.FocusedRowHandle = oCurrentRowHandle + ElseIf GridViewResult.RowCount > 0 Then + GridViewResult.FocusedRowHandle = 0 Else - GridView1.FocusedRowHandle = GridControl.InvalidRowHandle + GridViewResult.FocusedRowHandle = GridControl.InvalidRowHandle End If Return True @@ -653,9 +685,9 @@ Public Class frmDocumentResultList Case 0 Dim oResult As DocumentResultList.DocumentResult = ResultLists.Item(0) - LoadGridData(GridView1, oResult) + LoadGridData(GridViewResult, oResult) 'LayoutManager.GridView_RestoreLayout(GridView1) - CreateDocumentGrid(GridView1, oResult) + CreateDocumentGrid(GridViewResult, oResult) UpdateGridHeader(ResultLists, oIndex, oResult.Datatable.Rows.Count) Case 1 @@ -878,7 +910,7 @@ Public Class frmDocumentResultList SetActiveGridBand() End Sub - Private Sub GridView1_FocusedRowChanged(sender As GridView, e As FocusedRowChangedEventArgs) Handles GridView1.FocusedRowChanged, GridView2.FocusedRowChanged, GridView3.FocusedRowChanged + Private Sub GridView1_FocusedRowChanged(sender As GridView, e As FocusedRowChangedEventArgs) Handles GridViewResult.FocusedRowChanged, GridView2.FocusedRowChanged, GridView3.FocusedRowChanged Dim oGrid As GridControl = sender.GridControl _ActiveGrid = oGrid End Sub @@ -895,7 +927,7 @@ Public Class frmDocumentResultList End If End Sub - Private Sub GridView1_ColumnFilterChanged(sender As GridView, e As EventArgs) Handles GridView1.ColumnFilterChanged + Private Sub GridView1_ColumnFilterChanged(sender As GridView, e As EventArgs) Handles GridViewResult.ColumnFilterChanged Dim oRowCount = sender.RowCount UpdateGridHeader(ResultLists, 0, oRowCount) End Sub @@ -1047,7 +1079,7 @@ Public Class frmDocumentResultList #End Region #Region "Drag to Export" - Private Sub GridView1_MouseDown(sender As GridView, e As MouseEventArgs) Handles GridView1.MouseDown + Private Sub GridView1_MouseDown(sender As GridView, e As MouseEventArgs) Handles GridViewResult.MouseDown If sender.FocusedRowHandle >= 0 Then Dim oDragSize As Size = SystemInformation.DragSize @@ -1058,11 +1090,11 @@ Public Class frmDocumentResultList End If End Sub - Private Sub GridView1_MouseUp(sender As GridView, e As MouseEventArgs) Handles GridView1.MouseUp + Private Sub GridView1_MouseUp(sender As GridView, e As MouseEventArgs) Handles GridViewResult.MouseUp _DragBoxFromMouseDown = Rectangle.Empty End Sub - Private Sub GridView1_MouseMove(sender As GridView, e As MouseEventArgs) Handles GridView1.MouseMove + Private Sub GridView1_MouseMove(sender As GridView, e As MouseEventArgs) Handles GridViewResult.MouseMove If e.Button AndAlso e.Button = MouseButtons.Left Then If _DragBoxFromMouseDown <> Rectangle.Empty And Not _DragBoxFromMouseDown.Contains(e.X, e.Y) Then @@ -1137,7 +1169,7 @@ Public Class frmDocumentResultList End Sub Private Sub BarButtonItem11_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem11.ItemClick - GridView1.ShowCustomization() + GridViewResult.ShowCustomization() End Sub Private Sub CtrlObjectPropertyDialog_Enter(sender As Object, e As EventArgs) Handles CtrlObjectPropertyDialog.Enter @@ -1148,7 +1180,7 @@ Public Class frmDocumentResultList RibbonPageGroupAttribute.Enabled = False End Sub - Private Sub GridView1_RowStyle(sender As Object, e As RowStyleEventArgs) Handles GridView1.RowStyle + Private Sub GridView1_RowStyle(sender As Object, e As RowStyleEventArgs) Handles GridViewResult.RowStyle Dim oGridView As BandedGridView = sender Dim oRow As DataRowView = oGridView.GetRow(e.RowHandle) @@ -1211,4 +1243,100 @@ Public Class frmDocumentResultList End Sub + Private Sub bbtnitemExportFiles_ItemClick(sender As Object, e As ItemClickEventArgs) Handles bbtnitemExportFiles.ItemClick + Try + ' Zielordner wählen + Using oFolderDialog As New FolderBrowserDialog() + oFolderDialog.Description = "Choose folder for filexport" + oFolderDialog.ShowNewFolderButton = True + + If oFolderDialog.ShowDialog() <> DialogResult.OK Then + Exit Sub + End If + + Dim oTargetFolder As String = oFolderDialog.SelectedPath + Dim oActiveView As BandedGridView = DirectCast(If(GetActiveGridControl()?.DefaultView, GridViewResult), BandedGridView) + + Dim oCopied As Integer = 0 + Dim oSkipped As Integer = 0 + Dim oErrors As New List(Of String) + + ' Alle sichtbaren (nicht gefilterten) Zeilen durchlaufen + For oRowHandle As Integer = 0 To oActiveView.RowCount - 1 + Try + Dim oRow = oActiveView.GetDataRow(oRowHandle) + If oRow Is Nothing Then + Continue For + End If + + Dim oFilePath = oRow.ItemEx(ColumnFilepath, "") + If String.IsNullOrWhiteSpace(oFilePath) Then + oSkipped += 1 + Continue For + End If + + ' Pfadauflösung via CopyWM2Temp – analog zu GridView_FocusedRowChanged + Dim oResolvedPath As String = oFilePath + If CopyWM2Temp = True AndAlso Not String.IsNullOrWhiteSpace(oResolvedPath) Then + Dim oOptions As New DocumentPathHandler.DocumentPathOptions With { + .EnableMapping = True, + .WMSuffix = WM_SUFFIX, + .SpecificDrive = If(Len(MAP_SHAREDRIVE) = 1, MAP_SHAREDRIVE, ""), + .DriveBlacklist = MAP_BLACKLIST, + .CopyToTemp = True, + .TempFolder = TEMP_DOCUMENT_FOLDER, + .UnmapAfterCopy = True + } + Dim oResult = _documentPathHandler.ProcessDocumentPath(oResolvedPath, oOptions) + If oResult.Success AndAlso Not String.IsNullOrWhiteSpace(oResult.FinalPath) AndAlso File.Exists(oResult.FinalPath) Then + _Logger.Info($"✓ Exportpfad via Temp aufgelöst: [{oResult.FinalPath}]") + oResolvedPath = oResult.FinalPath + Else + _Logger.Warn($"⚠️ Temp-Auflösung fehlgeschlagen für [{oFilePath}]: {oResult.ErrorMessage} - Fallback auf Originalpfad") + oResolvedPath = oFilePath + End If + End If + + If Not File.Exists(oResolvedPath) Then + _Logger.Warn($"Datei nicht gefunden, wird übersprungen: [{oResolvedPath}]") + oErrors.Add(oResolvedPath) + Continue For + End If + + Dim oDestFileName = Path.GetFileName(oResolvedPath) + Dim oDestPath = Path.Combine(oTargetFolder, oDestFileName) + + ' Bei Namenskollision Suffix anhängen + If File.Exists(oDestPath) Then + Dim oBaseName = Path.GetFileNameWithoutExtension(oDestFileName) + Dim oExt = Path.GetExtension(oDestFileName) + oDestPath = Path.Combine(oTargetFolder, $"{oBaseName}_{oRowHandle}{oExt}") + End If + + File.Copy(oResolvedPath, oDestPath) + oCopied += 1 + _Logger.Debug($"Datei exportiert: [{oResolvedPath}] → [{oDestPath}]") + + Catch ex As Exception + _Logger.Error(ex) + oErrors.Add(ex.Message) + End Try + Next + + ' Ergebnismeldung + Dim oMsg As String = $"{oCopied} Datei(en) erfolgreich exportiert." + If oSkipped > 0 Then + oMsg &= $"{vbNewLine}{oSkipped} Zeile(n) ohne Dateipfad übersprungen." + End If + If oErrors.Count > 0 Then + oMsg &= $"{vbNewLine}{oErrors.Count} Fehler:{vbNewLine}{String.Join(vbNewLine, oErrors)}" + FormHelper.ShowErrorMessage(New IOException(oMsg), "Dateiexport") + Else + FormHelper.ShowSuccessMessage(oMsg, "Dateiexport") + End If + End Using + Catch ex As Exception + FormHelper.ShowErrorMessage(ex, "bbtnitemExportFiles_ItemClick") + End Try + End Sub End Class \ No newline at end of file diff --git a/GUIs.Common/SQLEditor/frmSQLEditor.Designer.vb b/GUIs.Common/SQLEditor/frmSQLEditor.Designer.vb index 504bee8a..ca7c9d72 100644 --- a/GUIs.Common/SQLEditor/frmSQLEditor.Designer.vb +++ b/GUIs.Common/SQLEditor/frmSQLEditor.Designer.vb @@ -23,6 +23,7 @@ Partial Class frmSQLEditor Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSQLEditor)) Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() Me.GalleryPlaceholders = New DevExpress.XtraBars.RibbonGalleryBarItem() Me.SvgImageCollection1 = New DevExpress.Utils.SvgImageCollection(Me.components) @@ -49,6 +50,7 @@ Partial Class frmSQLEditor Me.ViewPlaceholders = New DevExpress.XtraGrid.Views.Grid.GridView() Me.colPattern = New DevExpress.XtraGrid.Columns.GridColumn() Me.colValue = New DevExpress.XtraGrid.Columns.GridColumn() + Me.BarButtonItem6 = New DevExpress.XtraBars.BarButtonItem() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -65,9 +67,9 @@ Partial Class frmSQLEditor ' 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.GalleryPlaceholders, Me.btnEditConnections, Me.btnSave, Me.btnExecuteSQL, Me.GalleryConnection, Me.chkClearPlaceholders, Me.btnClearPlaceholders, Me.chkShowPlaceholders, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5}) + 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.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.BarButtonItem6}) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl1.MaxItemId = 20 + Me.RibbonControl1.MaxItemId = 21 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] @@ -205,15 +207,16 @@ Partial Class frmSQLEditor Me.RibbonPageGroup1.ItemLinks.Add(Me.chkShowPlaceholders) Me.RibbonPageGroup1.ItemLinks.Add(Me.chkClearPlaceholders) Me.RibbonPageGroup1.ItemLinks.Add(Me.btnClearPlaceholders) + Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem6) Me.RibbonPageGroup1.Name = "RibbonPageGroup1" Me.RibbonPageGroup1.Text = "Platzhalter" ' 'RibbonStatusBar1 ' - Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 666) + Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 668) Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 - Me.RibbonStatusBar1.Size = New System.Drawing.Size(1056, 24) + Me.RibbonStatusBar1.Size = New System.Drawing.Size(1056, 22) ' 'RibbonPage2 ' @@ -227,7 +230,7 @@ Partial Class frmSQLEditor Me.txtSQLCommand.MenuManager = Me.RibbonControl1 Me.txtSQLCommand.Name = "txtSQLCommand" Me.txtSQLCommand.Options.CopyPaste.InsertOptions = DevExpress.XtraRichEdit.API.Native.InsertOptions.KeepTextOnly - Me.txtSQLCommand.Size = New System.Drawing.Size(802, 534) + Me.txtSQLCommand.Size = New System.Drawing.Size(802, 536) Me.txtSQLCommand.TabIndex = 2 ' 'SplitContainerControl1 @@ -246,7 +249,7 @@ Partial Class frmSQLEditor ' Me.SplitContainerControl1.Panel2.Controls.Add(Me.GridPlaceholders) Me.SplitContainerControl1.Panel2.Text = "Panel2" - Me.SplitContainerControl1.Size = New System.Drawing.Size(1056, 534) + Me.SplitContainerControl1.Size = New System.Drawing.Size(1056, 536) Me.SplitContainerControl1.SplitterPosition = 802 Me.SplitContainerControl1.TabIndex = 4 ' @@ -257,7 +260,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(244, 534) + Me.GridPlaceholders.Size = New System.Drawing.Size(244, 536) Me.GridPlaceholders.TabIndex = 0 Me.GridPlaceholders.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewPlaceholders}) ' @@ -287,6 +290,13 @@ Partial Class frmSQLEditor Me.colValue.Visible = True Me.colValue.VisibleIndex = 1 ' + 'BarButtonItem6 + ' + Me.BarButtonItem6.Caption = "Platzhalter für Zelle einfügen" + Me.BarButtonItem6.Id = 20 + Me.BarButtonItem6.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem6.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.BarButtonItem6.Name = "BarButtonItem6" + ' 'frmSQLEditor ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -342,4 +352,5 @@ Partial Class frmSQLEditor Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem4 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem5 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents BarButtonItem6 As DevExpress.XtraBars.BarButtonItem End Class diff --git a/GUIs.Common/SQLEditor/frmSQLEditor.resx b/GUIs.Common/SQLEditor/frmSQLEditor.resx index 1a6c0395..f0529afc 100644 --- a/GUIs.Common/SQLEditor/frmSQLEditor.resx +++ b/GUIs.Common/SQLEditor/frmSQLEditor.resx @@ -120,7 +120,26 @@ 17, 17 - - 17, 17 - + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAB0DAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iQWRkUGFyYWdyYXBoVG9UYWJsZU9mQ29udGVudHMiIHN0eWxlPSJlbmFi + bGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5C + bGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMx + Qzt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0xNiwxNkg2di0yaDEwVjE2eiBNMTYsMThINnYyaDEwVjE4 + eiIgY2xhc3M9IlJlZCIgLz4NCiAgPHBhdGggZD0iTTI2LDI2djNjMCwwLjYtMC40LDEtMSwxSDFjLTAu + NiwwLTEtMC40LTEtMVYxYzAtMC42LDAuNC0xLDEtMWgyNGMwLjYsMCwxLDAuNCwxLDF2N2gtMlYySDJ2 + MjZoMjJ2LTJIMjZ6ICAgTTIwLDZINnYyaDE0VjZ6IE0xNiwxMEg2djJoMTBWMTB6IE0xNiwyMkg2djJo + MTBWMjJ6IiBjbGFzcz0iQmxhY2siIC8+DQogIDxwYXRoIGQ9Ik0zMSwxMEgxOWMtMC42LDAtMSwwLjQt + MSwxdjEyYzAsMC42LDAuNCwxLDEsMWgxMmMwLjYsMCwxLTAuNCwxLTFWMTFDMzIsMTAuNCwzMS42LDEw + LDMxLDEweiBNMzAsMThoLTR2NGgtMiAgdi00aC00di0yaDR2LTRoMnY0aDRWMTh6IiBjbGFzcz0iR3Jl + ZW4iIC8+DQo8L3N2Zz4L + + \ No newline at end of file diff --git a/GUIs.Common/SQLEditor/frmSQLEditor.vb b/GUIs.Common/SQLEditor/frmSQLEditor.vb index 19066476..1349af44 100644 --- a/GUIs.Common/SQLEditor/frmSQLEditor.vb +++ b/GUIs.Common/SQLEditor/frmSQLEditor.vb @@ -373,4 +373,8 @@ Public Class frmSQLEditor SplitContainerControl1.SplitterPosition = oSplitterPosition End Sub + + Private Sub BarButtonItem6_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem6.ItemClick + + End Sub End Class