clipboard watcher migration

This commit is contained in:
Jonathan Jenne
2019-09-25 16:30:35 +02:00
parent cc2d8cbe33
commit f5d43edeef
40 changed files with 1637 additions and 56 deletions

View File

@@ -1 +1,2 @@
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -1,6 +1,6 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmMatch
Inherits System.Windows.Forms.Form
Inherits DevExpress.XtraEditors.XtraForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
@@ -27,6 +27,7 @@ Partial Class frmMatch
Me.TileGroupDocuments = New DevExpress.XtraEditors.TileGroup()
Me.TileGroupData = New DevExpress.XtraEditors.TileGroup()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'TileControlMatch
@@ -73,15 +74,29 @@ Partial Class frmMatch
Me.Label1.ForeColor = System.Drawing.Color.White
Me.Label1.Location = New System.Drawing.Point(12, 9)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(401, 21)
Me.Label1.Size = New System.Drawing.Size(368, 21)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Es wurde mehr als ein Match für Ihre Suche gefunden:"
Me.Label1.Text = "Es wurde(n) {0} für Ihre Suche nach '{1}' gefunden:"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.BackColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer))
Me.Label2.Cursor = System.Windows.Forms.Cursors.Hand
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label2.ForeColor = System.Drawing.SystemColors.Control
Me.Label2.Location = New System.Drawing.Point(12, 424)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(232, 17)
Me.Label2.TabIndex = 3
Me.Label2.Text = "Wie wurden die Ergebnisse gefunden?"
'
'frmMatch
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.TileControlMatch)
Me.Name = "frmMatch"
@@ -96,4 +111,5 @@ Partial Class frmMatch
Friend WithEvents TileGroupDocuments As DevExpress.XtraEditors.TileGroup
Friend WithEvents TileGroupData As DevExpress.XtraEditors.TileGroup
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
End Class

View File

@@ -1,6 +1,7 @@
Imports System.Drawing
Imports System.Windows.Forms
Imports DevExpress.XtraEditors
Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Windows
Imports DigitalData.Modules.ZooFlow
@@ -30,6 +31,9 @@ Public Class frmMatch
Private PrimaryFont As New Font("Segoe UI", 12, FontStyle.Bold)
Private SecondaryFont As New Font("Segoe UI", 10)
Private OpenForms As New List(Of IResultForm)
Private ShouldHideInitially As Boolean = False
Private Const NO_COUNT_SQL As Integer = 99998
Private Const INVALID_COUNT_SQL As Integer = 99999
@@ -56,6 +60,19 @@ Public Class frmMatch
If oCreatedTiles = -1 Then
Exit Sub
End If
If oCreatedTiles = 0 Then
_Logger.Warn("No Results found for ""{0}""", _Params.ClipboardContents)
Close()
End If
Dim oMatchString = IIf(oCreatedTiles = 1, "1 Match", $"{oCreatedTiles} Matches")
Label1.Text = String.Format(Label1.Text, oMatchString, _Params.ClipboardContents)
If oCreatedTiles = 1 Then
Dim oProfile As ProfileData = _Params.MatchingProfiles.First()
' TODO Open Result Forms
End If
End Sub
Function CreateTiles() As Integer
@@ -152,4 +169,84 @@ Public Class frmMatch
Return oText
End Function
Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click
Dim oForm As New frmTreeView(_Params.MatchTreeView.Nodes) With {
.StartPosition = FormStartPosition.CenterScreen
}
oForm.ShowDialog()
End Sub
Private Sub TileControlMatch_ItemClick(sender As Object, e As TileItemEventArgs) Handles TileControlMatch.ItemClick
Dim oItem As TileItem = e.Item
Dim oProfileId As Integer = oItem.Tag
Select Case oItem.Group.Name
Case TileGroupData.Name
OpenResultForms(oProfileId, ProfileType.DATA_ONLY)
Case TileGroupDocuments.Name
OpenResultForms(oProfileId, ProfileType.DOCS_ONLY)
Case Else
OpenResultForms(oProfileId, ProfileType.ANY)
End Select
Hide()
End Sub
Private Sub OpenResultForms(ProfileId As Integer, OpenType As ProfileType)
Dim oMatchingProfiles As New List(Of ProfileData)
' TODO: Implement Show All
' Click on specific profile
Dim oProfile As ProfileData = _Params.MatchingProfiles.
Where(Function(p) p.Guid = ProfileId).
First()
oMatchingProfiles.Add(oProfile)
If OpenType = ProfileType.ANY Or OpenType = ProfileType.DOCS_ONLY Then
' Show Result Document Form
Dim oForm As New frmDocumentResult(_LogConfig, _Environment, _Params)
AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed
OpenForms.Add(oForm)
oForm.Show()
End If
'If OpenType = ProfileType.ANY Or OpenType = ProfileType.DATA_ONLY Then
' ' Show Result Data Form
' Dim oForm As New frmResultSQL(Me, oMatchingProfiles)
' AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed
' OpenForms.Add(oForm)
' oForm.Show()
'End If
End Sub
Private Sub ProfileResultForm_Closed(sender As Object, e As FormClosedEventArgs)
Dim oShouldOpenAgain As Boolean = False
Dim oThisForm = New List(Of IResultForm) From {sender}
If TypeOf sender Is frmResultDoc Or TypeOf sender Is frmDocumentResult Then
For Each oForm As IResultForm In OpenForms
' Determine if frmProfileMatch should be shown
If oForm.ShouldReturnToMatchForm Then
oShouldOpenAgain = True
End If
Next
End If
' If frmProfileMatch should be shown, close all windows of this profile
If oShouldOpenAgain Then
For Each oForm As Form In OpenForms.Except(oThisForm)
' Remove the Handler to prevent a loop
RemoveHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed
oForm.Close()
Next
Show()
End If
End Sub
End Class

View File

@@ -1,6 +1,6 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmTreeView
Inherits System.Windows.Forms.Form
Inherits DevExpress.XtraEditors.XtraForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
@@ -22,18 +22,23 @@ Partial Class frmTreeView
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmTreeView))
Me.TreeView1 = New System.Windows.Forms.TreeView()
Me.ImageList1 = New System.Windows.Forms.ImageList()
Me.tvProfileMatch = New System.Windows.Forms.TreeView()
Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)
Me.SuspendLayout()
'
'TreeView1
'tvProfileMatch
'
Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TreeView1.Location = New System.Drawing.Point(0, 0)
Me.TreeView1.Name = "TreeView1"
Me.TreeView1.Size = New System.Drawing.Size(800, 450)
Me.TreeView1.TabIndex = 0
Me.tvProfileMatch.Dock = System.Windows.Forms.DockStyle.Fill
Me.tvProfileMatch.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.tvProfileMatch.ImageIndex = 0
Me.tvProfileMatch.ImageList = Me.ImageList1
Me.tvProfileMatch.Location = New System.Drawing.Point(0, 0)
Me.tvProfileMatch.Name = "tvProfileMatch"
Me.tvProfileMatch.SelectedImageIndex = 0
Me.tvProfileMatch.Size = New System.Drawing.Size(800, 450)
Me.tvProfileMatch.TabIndex = 0
'
'ImageList1
'
@@ -50,13 +55,13 @@ Partial Class frmTreeView
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.TreeView1)
Me.Controls.Add(Me.tvProfileMatch)
Me.Name = "frmTreeView"
Me.Text = "frmTreeView"
Me.ResumeLayout(False)
End Sub
Friend WithEvents TreeView1 As System.Windows.Forms.TreeView
Friend WithEvents tvProfileMatch As System.Windows.Forms.TreeView
Friend WithEvents ImageList1 As System.Windows.Forms.ImageList
End Class

View File

@@ -124,8 +124,8 @@
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADo
CwAAAk1TRnQBSQFMAgEBBQEAAQgBAAEIAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADm
CwAAAk1TRnQBSQFMAgEBBQEAARgBAAEYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -165,17 +165,17 @@
AfcBBwIAAfYBWQF6ApoFegErARoCAAG0Bf8I9AH/Ac8BtAXzBwcB8wHPAQAB7wL0AvIC8QHwBgcBvAGS
AQABGwEyAXoBwwOaA3oCmgFSAXkB/wG0B/8G9AH/Ac8BtA3zAc8BAAHvAvQC8wHyAvEGBwG8AfcBAAVZ
AXoCmgF6BFkBMQEbAbQJ/wT0Af8BzwG0BfQBBwb/AfQBzwEAAe8C9AHzAfIBBwG8AvABvAHvAwcBvAH3
AQAB/wH1AvYBmgFTApoBWQGaA/QB9gEAAbQL/wL0Af8CtAH0A7QB9AEHBv8B9AG0AQAB7wH0AfMC8QEH
AfEC/wHxAQcB8AIHAbwB9wQAAb0B4wFTAXoBmgEyARcBvQQAAbQO/wK0BfQHBwH0AbQBAAHvAfECvAHw
Ae8E/wHvAfABvAIHAZIDAAG9AeMBFgHjATgBegFTARYBFwG9AwABtA7wArQN9AG0AQAB8AHvAfAC/wEH
Ae8C9wHvAQcC/wHwAe8BvAMAAeMBFgHjAUcBUwFZAUcB4wEWAUcDAB+0AgAB7wP/AfIB7wLwAe8B8gP/
Ae8EAAHjAZQCRwFNAVMCRwEWAUcDAAG1ARkHCQHuAQkB7gEJAU0BCQG0AbUNCQG0AgAB8gEHAvcB7wHw
Av8B8AHvAvcBBwHyBAAB4wGUBkcBFgFHAwABCQG7DLQBtQG7AfEBuwu0AbUB8QUAAf8B7wT/Ae8B/wcA
AeMBlAZHARYBFygAAfIBBwL3AQcB8gUAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYA
A/8BAAL/BgAC/wcAAQEHAAEBBwABAQcAAQEHAAEBBwABAQcAAQEHAAEBBwABAQcAAQEHAAEBBwABAQcA
AQEGAAL/BgAB4wHHBv8B4AGHAgAC/wH8AT8B4AEHAwABAQHwAQ8B8AEHAwABAQHAAQMB8AEPAwABAQIA
AeABBwMAAQECAAHAAQMDAAEBAgABgAQAAQECAAGABAABAQIAAYABAQMAAQECAAHwAQ8DAAEBAgAB4AEH
AwABAQIAAeABBwMAAQEBgAEBAeABBwMAAQEBgAEBAeABBwMAAQEB8AEPAeABBwT/AfgBHws=
AQAC/wL2AZoBUwKaAVkBmgP0AfYBAAG0C/8C9AH/ArQB9AO0AfQBBwb/AfQBtAEAAe8B9AHzAvEBBwHx
Av8B8QEHAfACBwG8AfcEAAG9AeMBUwF6AZoBMgEXAb0EAAG0Dv8CtAX0BwcB9AG0AQAB7wHxArwB8AHv
BP8B7wHwAbwCBwGSAwABvQHjARYB4wE4AXoBUwEWARcBvQMAAbQO8AK0DfQBtAEAAfAB7wHwAv8BBwHv
AvcB7wEHAv8B8AHvAbwDAAHjARYB4wFHAVMBWQFHAeMBFgFHAwAftAIAAe8D/wHyAe8C8AHvAfID/wHv
BAAB4wGUAkcBTQFTAkcBFgFHAwABtQEZBwkBvAEJAbwBCQFNAQkBtAG1DQkBtAIAAfIBBwL3Ae8B8AL/
AfAB7wL3AQcB8gQAAeMBlAZHARYBRwMAAQkBuwy0AbUBuwHxAbsLtAG1AfEFAAH/Ae8E/wHvAf8HAAHj
AZQGRwEWARcoAAHyAQcC9wEHAfIFAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/
AQAC/wYAAv8HAAEBBwABAQcAAQEHAAEBBwABAQcAAQEHAAEBBwABAQcAAQEHAAEBBwABAQcAAQEHAAEB
BgAC/wYAAeMBxwb/AeABhwIAAv8B/AE/AeABBwMAAQEB8AEPAfABBwMAAQEBwAEDAfABDwMAAQECAAHg
AQcDAAEBAgABwAEDAwABAQIAAYAEAAEBAgABgAQAAQECAAGAAQEDAAEBAgAB8AEPAwABAQIAAeABBwMA
AQECAAHgAQcDAAEBAYABAQHgAQcDAAEBAYABAQHgAQcDAAEBAfABDwHgAQcE/wH4AR8L
</value>
</data>
</root>

View File

@@ -1,3 +1,25 @@
Public Class frmTreeView
Imports System.Windows.Forms
Public Class frmTreeView
Private _Nodes As TreeNodeCollection
Public Sub New(Nodes As TreeNodeCollection)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
_Nodes = Nodes
End Sub
Private Sub frmTreeView_Load(sender As Object, e As EventArgs) Handles MyBase.Load
tvProfileMatch.BeginUpdate()
tvProfileMatch.Nodes.Clear()
For Each oNode As TreeNode In _Nodes
tvProfileMatch.Nodes.Add(oNode.Clone())
Next
tvProfileMatch.ExpandAll()
tvProfileMatch.EndUpdate()
End Sub
End Class