Compare commits
4 Commits
a34f55702b
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a88af162b5 | ||
|
|
93645962a6 | ||
|
|
5dfa7d1421 | ||
|
|
784d954441 |
@@ -1,181 +1,299 @@
|
||||
Imports System.IO
|
||||
Imports Microsoft.Office.Interop
|
||||
Imports Microsoft.Office.Interop.Outlook
|
||||
|
||||
Public Class ClassDragDrop
|
||||
Public Shared files_dropped As String()
|
||||
Public Shared Event FilesDroppedReady(ByVal files As String())
|
||||
Public Shared Function Drop_File(e As DragEventArgs)
|
||||
Try
|
||||
LOGGER.Debug("In Drop_File....")
|
||||
files_dropped = Nothing
|
||||
files_dropped = New String() {}
|
||||
|
||||
Dim Sql As String = "DELETE FROM TBPMO_FILES_USER WHERE HANDLE_TYPE <> 'SCAN' AND USER_WORK = '" & USER_USERNAME & "'"
|
||||
MYDB_ECM.ExecuteNonQuery(sql)
|
||||
' WICHTIG: DB-Löschung NICHT im UI-Thread erzwingen.
|
||||
' => Verschiebe in aufrufenden Code per BeginInvoke/Task.Run (siehe Kommentar unten).
|
||||
' MYDB_ECM?.ExecuteNonQuery(Sql)
|
||||
|
||||
Dim hasOutlookUnicode As Boolean = e.Data.GetDataPresent("FileGroupDescriptorW")
|
||||
Dim hasOutlookAnsi As Boolean = e.Data.GetDataPresent("FileGroupDescriptor")
|
||||
Dim hasOutlookContents As Boolean = e.Data.GetDataPresent("FileContents")
|
||||
Dim hasChromiumMime As Boolean = e.Data.GetDataPresent("Chromium Web Custom MIME Data Format")
|
||||
Dim hasFileNameW As Boolean = e.Data.GetDataPresent("FileNameW") OrElse e.Data.GetDataPresent("FileName")
|
||||
Dim hasFileDrop As Boolean = e.Data.GetDataPresent(DataFormats.FileDrop)
|
||||
|
||||
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
|
||||
LOGGER.Debug("Simple File Drop")
|
||||
Dim MyFiles() As String
|
||||
Dim i As Integer
|
||||
' Assign the files to an array.
|
||||
MyFiles = e.Data.GetData(DataFormats.FileDrop)
|
||||
' Loop through the array and add the files to the list.
|
||||
For i = 0 To MyFiles.Length - 1
|
||||
LOGGER.Info("Simple FileDrop - File: " & MyFiles(i))
|
||||
ReDim Preserve files_dropped(i)
|
||||
files_dropped(i) = "@DROPFROMFSYSTEM@" & MyFiles(i)
|
||||
' ListBox1.Items.Add(MyFiles(i))
|
||||
Next
|
||||
Return True
|
||||
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
|
||||
'// the first step here is to get the stbFileName
|
||||
'// of the attachment and
|
||||
'// build a full-path name so we can store it
|
||||
'// in the temporary folder
|
||||
'//
|
||||
'// set up to obtain the aryFileGroupDescriptor
|
||||
'// and extract the file name
|
||||
Dim stmInput As IO.Stream = CType(e.Data.GetData("FileGroupDescriptor"), IO.Stream)
|
||||
Dim aryFileGroupDescriptor(512) As Byte ' = new byte[512]
|
||||
stmInput.Read(aryFileGroupDescriptor, 0, 512)
|
||||
'// used to build the stbFileName from the aryFileGroupDescriptor block
|
||||
Dim stbFileName As System.Text.StringBuilder = New System.Text.StringBuilder("")
|
||||
'// this trick gets the stbFileName of the passed attached file
|
||||
Dim intCnt As Integer = 76
|
||||
Do While aryFileGroupDescriptor(intCnt) <> 0
|
||||
stbFileName.Append(Convert.ToChar(aryFileGroupDescriptor(intCnt), System.Globalization.CultureInfo.CreateSpecificCulture("de-DE")))
|
||||
intCnt += 1
|
||||
Loop
|
||||
stmInput.Close()
|
||||
|
||||
Dim anhaenge = e.Data.GetDataPresent("FileContents")
|
||||
'Dim path As String = "C:\VBProjekte\Dateien"
|
||||
'// put the zip file into the temp directory
|
||||
Dim strOutFile As String = Path.GetTempPath() & stbFileName.ToString()
|
||||
'// create the full-path name
|
||||
'//
|
||||
'// Second step: we have the file name.
|
||||
'// Now we need to get the actual raw
|
||||
'// data for the attached file and copy it to disk so we work on it.
|
||||
'//
|
||||
'// get the actual raw file into memory
|
||||
Dim msInput As IO.MemoryStream = CType(e.Data.GetData("FileContents", True), IO.MemoryStream) 'This returns nothing for an Email
|
||||
If msInput Is Nothing = False Then
|
||||
LOGGER.Debug("Drag of Outlook Attachment")
|
||||
'// allocate enough bytes to hold the raw date
|
||||
Dim aryFileBytes(CType(msInput.Length, Int32)) As Byte
|
||||
'// set starting position at first byte and read in the raw data
|
||||
msInput.Position = 0
|
||||
msInput.Read(aryFileBytes, 0, CType(msInput.Length, Int32))
|
||||
'// create a file and save the raw zip file to it
|
||||
Dim fsOutput As IO.FileStream = New IO.FileStream(strOutFile, IO.FileMode.Create) ';
|
||||
fsOutput.Write(aryFileBytes, 0, aryFileBytes.Length)
|
||||
fsOutput.Close() ' // close the file
|
||||
Dim resultVersion = ClassHelper.Versionierung_Datei(strOutFile)
|
||||
If resultVersion <> "" Then
|
||||
strOutFile = resultVersion
|
||||
End If
|
||||
Dim finTemp As IO.FileInfo = New IO.FileInfo(strOutFile)
|
||||
'// always good to make sure we actually created the file
|
||||
If (finTemp.Exists = True) Then
|
||||
ReDim Preserve files_dropped(0)
|
||||
files_dropped(0) = "@OUTLOOK_ATTACHMENT@" & strOutFile
|
||||
LOGGER.Debug("Drop an Attachment - File: " & strOutFile)
|
||||
Return True
|
||||
Else
|
||||
LOGGER.Warn("Attachment File from Outlook could not be created")
|
||||
End If
|
||||
Else
|
||||
LOGGER.Warn("No simple drag and drop.", True)
|
||||
For Each fmt As String In e.Data.GetFormats()
|
||||
' Output format name and type
|
||||
LOGGER.Warn("e.Data is: " & fmt + " (" +
|
||||
e.Data.GetData(fmt).ToString() + ")", True)
|
||||
Next
|
||||
|
||||
End If
|
||||
'1) Klassische Outlook-Attachments: Descriptor + Contents
|
||||
If (hasOutlookUnicode OrElse hasOutlookAnsi) AndAlso hasOutlookContents Then
|
||||
' ... dein bestehender Descriptor/Contents-Code ...
|
||||
' Return True wenn erfolgreich
|
||||
End If
|
||||
If e.Data.GetDataPresent("FileGroupDescriptor") Then
|
||||
Dim oApp
|
||||
|
||||
'2) ATTACHMENT oder komplette Mail aus Outlook/WebView2: KEIN Descriptor+Contents, ABER FileDrop vorhanden
|
||||
' => zuerst FileDrop verarbeiten. Wenn leer (delayed rendering), dann Fallback über Outlook COM Selection/Inspector
|
||||
If hasFileDrop AndAlso (hasChromiumMime OrElse hasFileNameW) AndAlso Not hasOutlookContents Then
|
||||
LOGGER?.Debug("WebView2/Outlook Attachment or Mail: try FileDrop, skip Outlook COM initially")
|
||||
Dim ok As Boolean = HandleFileDrop(e)
|
||||
If ok Then Return True
|
||||
|
||||
' FileDrop leer -> Fallback: versuche ausgewählte Mail via Outlook COM zu speichern
|
||||
LOGGER?.Warn("FileDrop vorhanden, aber leer. Fallback auf Outlook COM für komplette Mail.")
|
||||
ScheduleOutlookComFallback()
|
||||
Return True ' Wichtig: UI-Thread nicht blockieren; wir verarbeiten asynchron.
|
||||
End If
|
||||
|
||||
'3) Outlook Mail (.msg): Descriptor ohne Contents ODER Chromium/WebView2 Indikatoren – nur wenn KEIN FileDrop vorhanden
|
||||
If Not hasFileDrop AndAlso ((hasOutlookAnsi OrElse hasOutlookUnicode) OrElse hasChromiumMime OrElse hasFileNameW) Then
|
||||
Try
|
||||
oApp = New Outlook.Application()
|
||||
Catch ex As Exception
|
||||
MsgBox("Unexpected error in Initialisieren von Outlook-API:" & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Evtl ist Outlook nicht in der dafür vorgesehenen For")
|
||||
Return False
|
||||
End Try
|
||||
LOGGER.Debug("Drop of msg")
|
||||
'supports a drop of a Outlook message
|
||||
Dim myobj As Object
|
||||
For i As Integer = 1 To oApp.ActiveExplorer.Selection.Count
|
||||
myobj = oApp.ActiveExplorer.Selection.Item(i)
|
||||
Dim subj As String = myobj.Subject
|
||||
If subj = "" Then
|
||||
subj = "NO_SUBJECT"
|
||||
End If
|
||||
If subj.Contains("\") Then
|
||||
subj = subj.Replace("\", "-")
|
||||
End If
|
||||
If subj.Contains("/") Then
|
||||
subj = subj.Replace("/", "-")
|
||||
End If
|
||||
'hardcode a destination path for testing
|
||||
Dim strFile As String = IO.Path.Combine(Path.GetTempPath, (subj + ".msg").Replace(":", ""))
|
||||
strFile = strFile.Replace("?", "")
|
||||
strFile = strFile.Replace("!", "")
|
||||
strFile = strFile.Replace("%", "")
|
||||
strFile = strFile.Replace("$", "")
|
||||
LOGGER.Info("Drop of msg - File:" & strFile)
|
||||
Dim oApp As Outlook.Application = Nothing
|
||||
Try
|
||||
myobj.SaveAs(strFile)
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Save Email2Tempfile" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
Return False
|
||||
oApp = New Outlook.Application()
|
||||
Catch ex As System.Exception
|
||||
MsgBox("Fehler beim Initialisieren der Outlook-API:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
GoTo CheckFileDrop
|
||||
End Try
|
||||
|
||||
ReDim Preserve files_dropped(i)
|
||||
files_dropped(i) = "@OUTLOOK_MESSAGE@" & strFile
|
||||
Next
|
||||
Return True
|
||||
'Drop eines Outlook Attachments
|
||||
Dim explorer = oApp.ActiveExplorer
|
||||
If explorer IsNot Nothing AndAlso explorer.Selection IsNot Nothing AndAlso explorer.Selection.Count > 0 Then
|
||||
LOGGER?.Debug("Drop of msg (Outlook Explorer Selection)")
|
||||
For i As Integer = 1 To explorer.Selection.Count
|
||||
Dim myobj As Object = explorer.Selection.Item(i)
|
||||
If myobj Is Nothing Then Continue For
|
||||
SaveMailItemToTemp(myobj)
|
||||
Next
|
||||
Return True
|
||||
Else
|
||||
Dim inspector = oApp.ActiveInspector
|
||||
If inspector IsNot Nothing AndAlso inspector.CurrentItem IsNot Nothing Then
|
||||
LOGGER?.Debug("Drop of msg (ActiveInspector.CurrentItem) Fallback")
|
||||
SaveMailItemToTemp(inspector.CurrentItem)
|
||||
Return True
|
||||
Else
|
||||
LOGGER?.Warn("Outlook: Keine Auswahl im Explorer und kein ActiveInspector.CurrentItem verfügbar.")
|
||||
' Namen loggen – aber zurück zum FileDrop-Fallback
|
||||
If hasFileNameW Then
|
||||
Dim namesObj As Object = e.Data.GetData(If(e.Data.GetDataPresent("FileNameW"), "FileNameW", "FileName"), True)
|
||||
Dim names As String() = TryCast(namesObj, String())
|
||||
If names Is Nothing Then
|
||||
Dim nameSingle As String = TryCast(namesObj, String)
|
||||
If Not String.IsNullOrWhiteSpace(nameSingle) Then
|
||||
LOGGER?.Warn("Vorgeschlagener Name (ohne Inhalt): " & nameSingle)
|
||||
End If
|
||||
Else
|
||||
LOGGER?.Warn("Vorgeschlagene Namen (ohne Inhalt): " & String.Join("; ", names))
|
||||
End If
|
||||
End If
|
||||
GoTo CheckFileDrop
|
||||
End If
|
||||
End If
|
||||
Catch ex As System.Exception
|
||||
LOGGER?.Warn("Outlook MSG-Drop Fehler: " & ex.Message)
|
||||
End Try
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
CheckFileDrop:
|
||||
'4) Filesystem FileDrop (klassisch ODER WebView2 delayed rendering)
|
||||
If hasFileDrop Then
|
||||
If HandleFileDrop(e) Then Return True
|
||||
ScheduleOutlookComFallback()
|
||||
Return True
|
||||
End If
|
||||
|
||||
'5) SCAN-StringFormat
|
||||
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
|
||||
Dim Wert As String = TryCast(e.Data.GetData(DataFormats.StringFormat), String)
|
||||
If Not String.IsNullOrEmpty(Wert) Then
|
||||
Dim idx As Integer = files_dropped.Length
|
||||
ReDim Preserve files_dropped(idx)
|
||||
files_dropped(idx) = "@SCAN@" & Wert
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
|
||||
Catch ex As System.Exception
|
||||
MsgBox("Unexpected Error in Drop_File: " & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
|
||||
Dim Wert As String = CType(e.Data.GetData(DataFormats.StringFormat), Object)
|
||||
Console.WriteLine(Wert)
|
||||
ReDim Preserve files_dropped(0)
|
||||
files_dropped(0) = "@SCAN@" & Wert
|
||||
Return True
|
||||
End If
|
||||
|
||||
|
||||
LOGGER?.Warn("Drop_File: Kein extrahierbarer Inhalt. Bitte Attachment aus der Nachrichtenliste ziehen oder zunächst speichern.")
|
||||
Return False
|
||||
|
||||
|
||||
End Function
|
||||
' FileDrop defensiv behandeln – erst ohne, dann mit autoConvert
|
||||
Private Shared Function HandleFileDrop(e As DragEventArgs) As Boolean
|
||||
Try
|
||||
' Versuch1: ohne AutoConvert
|
||||
Dim rawObj As Object = e.Data.GetData(DataFormats.FileDrop)
|
||||
Dim rawFiles As String() = TryCast(rawObj, String())
|
||||
If Not (rawFiles Is Nothing OrElse rawFiles.Length = 0) Then
|
||||
For Each f In rawFiles
|
||||
LOGGER?.Info("FileDrop (raw) - File: " & f)
|
||||
AppendDroppedFile("@DROPFROMFSYSTEM@", f)
|
||||
Next
|
||||
Return True
|
||||
End If
|
||||
|
||||
' Versuch2: mit AutoConvert (delayed rendering)
|
||||
Dim convObj As Object = e.Data.GetData(DataFormats.FileDrop, True)
|
||||
Dim convFiles As String() = TryCast(convObj, String())
|
||||
If Not (convFiles Is Nothing OrElse convFiles.Length = 0) Then
|
||||
For Each f In convFiles
|
||||
LOGGER?.Info("FileDrop (autoConvert) - File: " & f)
|
||||
AppendDroppedFile("@DROPFROMFSYSTEM@", f)
|
||||
Next
|
||||
Return True
|
||||
End If
|
||||
|
||||
LOGGER?.Warn("FileDrop vorhanden, aber keine Dateien (raw/autoConvert leer).")
|
||||
Return False
|
||||
Catch ex As System.Exception
|
||||
LOGGER?.Warn("HandleFileDrop Fehler: " & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
Private Shared Sub AppendDroppedFile(prefix As String, filePath As String)
|
||||
Dim idx As Integer = files_dropped.Length
|
||||
ReDim Preserve files_dropped(idx)
|
||||
files_dropped(idx) = prefix & filePath
|
||||
End Sub
|
||||
|
||||
Private Shared Sub SaveMailItemToTemp(ByVal mailObj As Object)
|
||||
Dim subj As String = ""
|
||||
Try
|
||||
subj = mailObj.Subject
|
||||
Catch
|
||||
subj = "NO_SUBJECT"
|
||||
End Try
|
||||
If String.IsNullOrWhiteSpace(subj) Then subj = "NO_SUBJECT"
|
||||
|
||||
Dim safeName = subj.Replace("\", "-").Replace("/", "-").Replace(":", "") _
|
||||
.Replace("?", "").Replace("!", "").Replace("%", "").Replace("$", "")
|
||||
Dim strFile As String = IO.Path.Combine(Path.GetTempPath(), safeName & ".msg")
|
||||
LOGGER?.Info("Drop of msg - File:" & strFile)
|
||||
Try
|
||||
mailObj.SaveAs(strFile)
|
||||
AppendDroppedFile("@OUTLOOK_MESSAGE@", strFile)
|
||||
Catch ex As System.Exception
|
||||
MsgBox("Error in Save Email2Tempfile" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ScheduleOutlookComFallback()
|
||||
Try
|
||||
Dim t As New Threading.Thread(
|
||||
Sub()
|
||||
Try
|
||||
Threading.Thread.Sleep(200)
|
||||
Dim maxRetries As Integer = 10
|
||||
Dim saved As Boolean = False
|
||||
For attempt As Integer = 1 To maxRetries
|
||||
If TrySaveSelectedMailViaOutlook() Then
|
||||
LOGGER?.Info("Outlook COM Fallback: Mail gespeichert. Versuch " & attempt)
|
||||
saved = True
|
||||
Exit For
|
||||
End If
|
||||
LOGGER?.Debug("Outlook COM Fallback: Keine Auswahl, Retry " & attempt)
|
||||
Threading.Thread.Sleep(200)
|
||||
Next
|
||||
|
||||
If saved Then
|
||||
' UI-Thread benachrichtigen
|
||||
Dim uiForm = If(System.Windows.Forms.Application.OpenForms.Count > 0, System.Windows.Forms.Application.OpenForms(0), Nothing)
|
||||
If uiForm IsNot Nothing Then
|
||||
uiForm.BeginInvoke(
|
||||
Sub()
|
||||
Try
|
||||
RaiseEvent FilesDroppedReady(files_dropped)
|
||||
Catch ex2 As System.Exception
|
||||
LOGGER?.Warn("FilesDroppedReady Invoke Fehler: " & ex2.Message)
|
||||
End Try
|
||||
End Sub)
|
||||
Else
|
||||
' Falls kein Form verfügbar, zumindest Event auslösen (Listener müssen ggf. selbst marshalen)
|
||||
RaiseEvent FilesDroppedReady(files_dropped)
|
||||
End If
|
||||
Else
|
||||
LOGGER?.Warn("Outlook COM Fallback: Nach Retries keine Mail gespeichert.")
|
||||
End If
|
||||
Catch ex As System.Exception
|
||||
LOGGER?.Warn("Outlook COM Fallback Thread Fehler: " & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
)
|
||||
t.IsBackground = True
|
||||
t.SetApartmentState(Threading.ApartmentState.STA)
|
||||
t.Start()
|
||||
Catch ex As System.Exception
|
||||
LOGGER?.Warn("ScheduleOutlookComFallback Fehler: " & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Shared Function TrySaveSelectedMailViaOutlook() As Boolean
|
||||
Try
|
||||
Dim oApp As Outlook.Application = Nothing
|
||||
Try
|
||||
oApp = New Outlook.Application()
|
||||
Catch ex As System.Exception
|
||||
LOGGER?.Warn("Outlook COM Init fehlgeschlagen: " & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Dim savedAny As Boolean = False
|
||||
|
||||
Dim inspector = oApp.ActiveInspector
|
||||
If inspector IsNot Nothing AndAlso inspector.CurrentItem IsNot Nothing Then
|
||||
LOGGER?.Debug("Fallback: ActiveInspector.CurrentItem speichern")
|
||||
SaveMailItemToTemp(inspector.CurrentItem)
|
||||
savedAny = True
|
||||
End If
|
||||
|
||||
If Not savedAny Then
|
||||
Dim explorer = oApp.ActiveExplorer
|
||||
If explorer IsNot Nothing AndAlso explorer.Selection IsNot Nothing AndAlso explorer.Selection.Count > 0 Then
|
||||
LOGGER?.Debug("Fallback: Explorer.Selection speichern")
|
||||
For i As Integer = 1 To explorer.Selection.Count
|
||||
Dim myobj As Object = explorer.Selection.Item(i)
|
||||
If myobj Is Nothing Then Continue For
|
||||
SaveMailItemToTemp(myobj)
|
||||
savedAny = True
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
Return savedAny
|
||||
Catch ex As System.Exception
|
||||
LOGGER?.Warn("TrySaveSelectedMailViaOutlook Fehler: " & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Shared Sub Drag_enter(e As DragEventArgs)
|
||||
Try
|
||||
My.Settings.WD_INDEXDOKART_SAVE = ""
|
||||
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
|
||||
e.Effect = DragDropEffects.All
|
||||
LOGGER.Debug("DragEnter ... SimpleFileDrop")
|
||||
'frmForm_Constructor_Main_2.tslblStatusMain_show(True, "DragEnter ... SimpleFileDrop")
|
||||
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
|
||||
|
||||
Dim hasOutlookUnicode As Boolean = e.Data.GetDataPresent("FileGroupDescriptorW")
|
||||
Dim hasOutlookAnsi As Boolean = e.Data.GetDataPresent("FileGroupDescriptor")
|
||||
Dim hasOutlookDescriptor As Boolean = hasOutlookUnicode OrElse hasOutlookAnsi
|
||||
|
||||
Dim hasChromiumMime As Boolean = e.Data.GetDataPresent("Chromium Web Custom MIME Data Format")
|
||||
Dim hasFileNameW As Boolean = e.Data.GetDataPresent("FileNameW") OrElse e.Data.GetDataPresent("FileName")
|
||||
Dim hasOutlookLike As Boolean = hasOutlookDescriptor OrElse hasChromiumMime OrElse hasFileNameW
|
||||
|
||||
Dim hasFileDrop As Boolean = e.Data.GetDataPresent(DataFormats.FileDrop)
|
||||
|
||||
If hasOutlookLike Then
|
||||
e.Effect = DragDropEffects.Copy
|
||||
'frmForm_Constructor_Main_2.tslblStatusMain_show(True, "DragEnter ... Attachment from Outlook")
|
||||
LOGGER.Debug("DragEnter ... Attachment from Outlook")
|
||||
ElseIf e.Data.GetDataPresent("FileGroupDescriptor") Then
|
||||
'handle a message dragged from Outlook
|
||||
LOGGER?.Debug("DragEnter ... Outlook/WebView2 erkannt (Descriptor/Chromium/FileNameW)")
|
||||
ElseIf hasFileDrop Then
|
||||
e.Effect = DragDropEffects.Copy
|
||||
'frmForm_Constructor_Main_2.tslblStatusMain_show(True, "DragEnter ... OutlookMessage")
|
||||
LOGGER.Debug("DragEnter ... OutlookMessage")
|
||||
LOGGER?.Debug("DragEnter ... SimpleFileDrop")
|
||||
Else
|
||||
'otherwise, do not handle
|
||||
e.Effect = DragDropEffects.Copy
|
||||
'frmForm_Constructor.tslblStatusMain_show(True, "DragEnter ... Other FileFormat")
|
||||
LOGGER.Debug("DragEnter ... Other FileFormat")
|
||||
e.Effect = DragDropEffects.None
|
||||
LOGGER?.Debug("DragEnter ... Other FileFormat")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
|
||||
LOGGER?.Debug("DragEnter Formats: " & String.Join(", ", e.Data.GetFormats()))
|
||||
Catch ex As System.Exception
|
||||
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
@@ -70,6 +70,27 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>ORGFLOW_Icon_256x256.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DocumentationFile>orgFLOW.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DocumentationFile>orgFLOW.xml</DocumentationFile>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
|
||||
@@ -172,9 +193,9 @@
|
||||
<Reference Include="DevExpress.XtraWizard.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
</Reference>
|
||||
<Reference Include="DigitalData.Controls.DocumentViewer, Version=1.9.6.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<Reference Include="DigitalData.Controls.DocumentViewer, Version=2.6.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
|
||||
<HintPath>..\..\..\..\2_DLL Projekte\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DigitalData.GUIs.Common">
|
||||
<HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll</HintPath>
|
||||
@@ -1747,6 +1768,10 @@
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets'))" />
|
||||
</Target>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
||||
@@ -99,7 +99,7 @@ Public Class frmDocSearchResult
|
||||
Refresh_DocID()
|
||||
If SplitContainerControl1.Collapsed = False Then
|
||||
Dim OFilePath = ClassHelper.FORMAT_WM_PATH(SelectedFULL_FILEPATH)
|
||||
DocumentViewer1.LoadFile(OFilePath)
|
||||
DocumentViewer1.LoadFile_FromPath(OFilePath)
|
||||
End If
|
||||
End Sub
|
||||
Sub Refresh_DocID()
|
||||
|
||||
38
app/DD-Record-Organizer/frmGlobalSearch.Designer.vb
generated
38
app/DD-Record-Organizer/frmGlobalSearch.Designer.vb
generated
@@ -52,6 +52,8 @@ Partial Class frmGlobalSearch
|
||||
Me.BarToggleSearchCombined = New DevExpress.XtraBars.BarToggleSwitchItem()
|
||||
Me.BarToggleSearchRecord = New DevExpress.XtraBars.BarToggleSwitchItem()
|
||||
Me.BarToggleFulltext = New DevExpress.XtraBars.BarToggleSwitchItem()
|
||||
Me.bbtnitmJump2Filestore = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonPageGroupRecords = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
@@ -62,8 +64,6 @@ Partial Class frmGlobalSearch
|
||||
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.DD_ECMAdmin1 = New DD_Record_Organizer.DD_ECMAdmin()
|
||||
Me.XtraSaveFileDialog1 = New DevExpress.XtraEditors.XtraSaveFileDialog(Me.components)
|
||||
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
|
||||
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.SplitContainerMain.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SplitContainerMain.Panel1.SuspendLayout()
|
||||
@@ -223,7 +223,7 @@ Partial Class frmGlobalSearch
|
||||
'RibbonControl1
|
||||
'
|
||||
Me.RibbonControl1.ExpandCollapseItem.Id = 0
|
||||
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiInfo, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarToggleSearchCombined, Me.BarToggleSearchRecord, Me.BarToggleFulltext, Me.BarButtonItem1, Me.BarButtonItem2})
|
||||
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiInfo, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarToggleSearchCombined, Me.BarToggleSearchRecord, Me.BarToggleFulltext, Me.bbtnitmJump2Filestore, Me.BarButtonItem2})
|
||||
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
|
||||
Me.RibbonControl1.MaxItemId = 17
|
||||
Me.RibbonControl1.Name = "RibbonControl1"
|
||||
@@ -307,6 +307,20 @@ Partial Class frmGlobalSearch
|
||||
Me.BarToggleFulltext.Id = 14
|
||||
Me.BarToggleFulltext.Name = "BarToggleFulltext"
|
||||
'
|
||||
'bbtnitmJump2Filestore
|
||||
'
|
||||
resources.ApplyResources(Me.bbtnitmJump2Filestore, "bbtnitmJump2Filestore")
|
||||
Me.bbtnitmJump2Filestore.Id = 15
|
||||
Me.bbtnitmJump2Filestore.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.bbtnitmJump2Filestore.Name = "bbtnitmJump2Filestore"
|
||||
'
|
||||
'BarButtonItem2
|
||||
'
|
||||
resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2")
|
||||
Me.BarButtonItem2.Id = 16
|
||||
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.BarButtonItem2.Name = "BarButtonItem2"
|
||||
'
|
||||
'RibbonPage1
|
||||
'
|
||||
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroupRecords, Me.RibbonPageGroupFiles, Me.RibbonPageGroupExcel, Me.RibbonPageGroup3})
|
||||
@@ -337,7 +351,7 @@ Partial Class frmGlobalSearch
|
||||
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.BarButtonItem2)
|
||||
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.BarButtonItem8)
|
||||
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.BarButtonItem10)
|
||||
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.BarButtonItem1)
|
||||
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.bbtnitmJump2Filestore)
|
||||
Me.RibbonPageGroupFiles.Name = "RibbonPageGroupFiles"
|
||||
resources.ApplyResources(Me.RibbonPageGroupFiles, "RibbonPageGroupFiles")
|
||||
'
|
||||
@@ -380,20 +394,6 @@ Partial Class frmGlobalSearch
|
||||
Me.XtraSaveFileDialog1.FileName = "XtraSaveFileDialog1"
|
||||
resources.ApplyResources(Me.XtraSaveFileDialog1, "XtraSaveFileDialog1")
|
||||
'
|
||||
'BarButtonItem1
|
||||
'
|
||||
resources.ApplyResources(Me.BarButtonItem1, "BarButtonItem1")
|
||||
Me.BarButtonItem1.Id = 15
|
||||
Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.BarButtonItem1.Name = "BarButtonItem1"
|
||||
'
|
||||
'BarButtonItem2
|
||||
'
|
||||
resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2")
|
||||
Me.BarButtonItem2.Id = 16
|
||||
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
|
||||
Me.BarButtonItem2.Name = "BarButtonItem2"
|
||||
'
|
||||
'frmGlobalSearch
|
||||
'
|
||||
resources.ApplyResources(Me, "$this")
|
||||
@@ -469,6 +469,6 @@ Partial Class frmGlobalSearch
|
||||
Friend WithEvents BarToggleFulltext As DevExpress.XtraBars.BarToggleSwitchItem
|
||||
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
Friend WithEvents LabelControl1 As DevExpress.XtraEditors.LabelControl
|
||||
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents bbtnitmJump2Filestore As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
|
||||
End Class
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="SplitContainerMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 237</value>
|
||||
<value>0, 248</value>
|
||||
</data>
|
||||
<data name="GridControlRecords.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
@@ -135,7 +135,7 @@
|
||||
<value>orgFLOW-Datensätze</value>
|
||||
</data>
|
||||
<data name="GridControlRecords.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>616, 412</value>
|
||||
<value>616, 402</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="GridControlRecords.TabIndex" type="System.Int32, mscorlib">
|
||||
@@ -205,7 +205,7 @@
|
||||
<value>Dateien</value>
|
||||
</data>
|
||||
<data name="GridControlFiles.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>839, 412</value>
|
||||
<value>841, 402</value>
|
||||
</data>
|
||||
<data name="GridControlFiles.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
@@ -232,7 +232,7 @@
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="ToolStripDokumente.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>839, 25</value>
|
||||
<value>841, 25</value>
|
||||
</data>
|
||||
<data name="ToolStripDokumente.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
@@ -268,7 +268,7 @@
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="SplitContainerMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1467, 437</value>
|
||||
<value>1467, 427</value>
|
||||
</data>
|
||||
<data name="SplitContainerMain.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>8</value>
|
||||
@@ -330,78 +330,6 @@
|
||||
<data name=">>Label1.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>LabelControl1.Name" xml:space="preserve">
|
||||
<value>LabelControl1</value>
|
||||
</data>
|
||||
<data name=">>LabelControl1.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>LabelControl1.Parent" xml:space="preserve">
|
||||
<value>Panel1</value>
|
||||
</data>
|
||||
<data name=">>LabelControl1.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>lblFT_Irregular.Name" xml:space="preserve">
|
||||
<value>lblFT_Irregular</value>
|
||||
</data>
|
||||
<data name=">>lblFT_Irregular.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblFT_Irregular.Parent" xml:space="preserve">
|
||||
<value>Panel1</value>
|
||||
</data>
|
||||
<data name=">>lblFT_Irregular.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>txtSearch.Name" xml:space="preserve">
|
||||
<value>txtSearch</value>
|
||||
</data>
|
||||
<data name=">>txtSearch.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>txtSearch.Parent" xml:space="preserve">
|
||||
<value>Panel1</value>
|
||||
</data>
|
||||
<data name=">>txtSearch.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name=">>Label2.Name" xml:space="preserve">
|
||||
<value>Label2</value>
|
||||
</data>
|
||||
<data name=">>Label2.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>Label2.Parent" xml:space="preserve">
|
||||
<value>Panel1</value>
|
||||
</data>
|
||||
<data name=">>Label2.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="Panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 147</value>
|
||||
</data>
|
||||
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1467, 90</value>
|
||||
</data>
|
||||
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name=">>Panel1.Name" xml:space="preserve">
|
||||
<value>Panel1</value>
|
||||
</data>
|
||||
<data name=">>Panel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>Panel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>Panel1.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="LabelControl1.Appearance.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Tahoma, 8.25pt, style=Italic</value>
|
||||
</data>
|
||||
@@ -510,6 +438,30 @@
|
||||
<data name=">>Label2.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="Panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Top</value>
|
||||
</data>
|
||||
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 158</value>
|
||||
</data>
|
||||
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1467, 90</value>
|
||||
</data>
|
||||
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name=">>Panel1.Name" xml:space="preserve">
|
||||
<value>Panel1</value>
|
||||
</data>
|
||||
<data name=">>Panel1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>Panel1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>Panel1.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="bsiInfo.ItemAppearance.Normal.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Tahoma, 8.25pt, style=Bold, Italic</value>
|
||||
</data>
|
||||
@@ -735,7 +687,7 @@
|
||||
<data name="BarToggleFulltext.Caption" xml:space="preserve">
|
||||
<value>Nur in Volltext</value>
|
||||
</data>
|
||||
<data name="BarButtonItem1.Caption" xml:space="preserve">
|
||||
<data name="bbtnitmJump2Filestore.Caption" xml:space="preserve">
|
||||
<value>Springe zu Filestore</value>
|
||||
</data>
|
||||
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@@ -786,32 +738,17 @@
|
||||
<data name="RibbonControl1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroup1.Text" xml:space="preserve">
|
||||
<value>Aktionen</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroupRecords.Text" xml:space="preserve">
|
||||
<value>Datensatz</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroupFiles.Text" xml:space="preserve">
|
||||
<value>Datei(en)</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroupExcel.Text" xml:space="preserve">
|
||||
<value>Funktionen Tabelle</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroup3.Text" xml:space="preserve">
|
||||
<value>Suchvariante</value>
|
||||
</data>
|
||||
<data name="RibbonPage1.Text" xml:space="preserve">
|
||||
<value>Globale Suche</value>
|
||||
</data>
|
||||
<data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1467, 147</value>
|
||||
<value>1467, 158</value>
|
||||
</data>
|
||||
<data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 674</value>
|
||||
<value>0, 675</value>
|
||||
</data>
|
||||
<data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1467, 23</value>
|
||||
<value>1467, 22</value>
|
||||
</data>
|
||||
<data name=">>RibbonStatusBar1.Name" xml:space="preserve">
|
||||
<value>RibbonStatusBar1</value>
|
||||
@@ -837,6 +774,21 @@
|
||||
<data name=">>RibbonControl1.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroup1.Text" xml:space="preserve">
|
||||
<value>Aktionen</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroupRecords.Text" xml:space="preserve">
|
||||
<value>Datensatz</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroupFiles.Text" xml:space="preserve">
|
||||
<value>Datei(en)</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroupExcel.Text" xml:space="preserve">
|
||||
<value>Funktionen Tabelle</value>
|
||||
</data>
|
||||
<data name="RibbonPageGroup3.Text" xml:space="preserve">
|
||||
<value>Suchvariante</value>
|
||||
</data>
|
||||
<data name="RibbonPage2.Text" xml:space="preserve">
|
||||
<value>RibbonPage2</value>
|
||||
</data>
|
||||
@@ -1009,6 +961,18 @@
|
||||
<data name=">>BarToggleFulltext.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarToggleSwitchItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>bbtnitmJump2Filestore.Name" xml:space="preserve">
|
||||
<value>bbtnitmJump2Filestore</value>
|
||||
</data>
|
||||
<data name=">>bbtnitmJump2Filestore.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>BarButtonItem2.Name" xml:space="preserve">
|
||||
<value>BarButtonItem2</value>
|
||||
</data>
|
||||
<data name=">>BarButtonItem2.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>RibbonPage1.Name" xml:space="preserve">
|
||||
<value>RibbonPage1</value>
|
||||
</data>
|
||||
@@ -1063,18 +1027,6 @@
|
||||
<data name=">>XtraSaveFileDialog1.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraEditors.XtraSaveFileDialog, DevExpress.XtraDialogs.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>BarButtonItem1.Name" xml:space="preserve">
|
||||
<value>BarButtonItem1</value>
|
||||
</data>
|
||||
<data name=">>BarButtonItem1.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>BarButtonItem2.Name" xml:space="preserve">
|
||||
<value>BarButtonItem2</value>
|
||||
</data>
|
||||
<data name=">>BarButtonItem2.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>frmGlobalSearch</value>
|
||||
</data>
|
||||
|
||||
@@ -289,7 +289,11 @@ Public Class frmGlobalSearch
|
||||
End Function
|
||||
|
||||
Private Sub frmSearchAllOVer_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
|
||||
If OF_FILESTORE_ENTITY = 0 Then
|
||||
bbtnitmJump2Filestore.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
||||
Else
|
||||
bbtnitmJump2Filestore.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
||||
End If
|
||||
_Helper = New ClassHelper
|
||||
Load_DocGrid_Layout()
|
||||
Load_RecordGrid_Layout()
|
||||
@@ -408,7 +412,7 @@ Public Class frmGlobalSearch
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
|
||||
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmJump2Filestore.ItemClick
|
||||
For Each row In GridViewFiles.GetSelectedRows
|
||||
Dim SELECTED_DOC_ID = GridViewFiles.GetRowCellValue(row, "DocID")
|
||||
Dim oJumpToDocSQL = String.Format("DECLARE @PID BIGINT
|
||||
|
||||
@@ -46,15 +46,12 @@ Partial Class frmNodeNavigation
|
||||
Me.tsitmDMSReadOnly = New DevExpress.XtraBars.BarStaticItem()
|
||||
Me.bsiNotification = New DevExpress.XtraBars.BarStaticItem()
|
||||
Me.bsiDocIDChanged = New DevExpress.XtraBars.BarStaticItem()
|
||||
Me.BarEditItem1 = New DevExpress.XtraBars.BarEditItem()
|
||||
Me.RepositoryItemTextEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit()
|
||||
Me.FindNode = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RPGNodes = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonPageGroupRecord = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonPageGroupDocResult = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
|
||||
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.SplitContainerTreeList = New DevExpress.XtraEditors.SplitContainerControl()
|
||||
@@ -169,7 +166,7 @@ Partial Class frmNodeNavigation
|
||||
'ribbonNodeNavigation
|
||||
'
|
||||
Me.ribbonNodeNavigation.ExpandCollapseItem.Id = 0
|
||||
Me.ribbonNodeNavigation.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonNodeNavigation.ExpandCollapseItem, Me.ribbonNodeNavigation.SearchEditItem, Me.bbtnitmRecEdit, Me.bsiInfo, Me.bbtnitmRecSave, Me.bsiDocID, Me.bsitmRecordID, Me.bbtnitmDocResultExport, Me.bbtnitmDocResultLayoutSave, Me.bbtnitmDocResultLayoutReset, Me.bbtnitmDocResultRefresh, Me.BarStaticItemLocked, Me.bsitmtInfoDoc, Me.BarButtonItem1, Me.bbtnitmReloadView, Me.BbtnitmNodeReorder, Me.bbtnItm_TV_Collape_Expand, Me.checkShowPreview, Me.btnCreateNewNode, Me.tsitmDMSReadOnly, Me.bsiNotification, Me.bsiDocIDChanged, Me.BarEditItem1, Me.FindNode})
|
||||
Me.ribbonNodeNavigation.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonNodeNavigation.ExpandCollapseItem, Me.ribbonNodeNavigation.SearchEditItem, Me.bbtnitmRecEdit, Me.bsiInfo, Me.bbtnitmRecSave, Me.bsiDocID, Me.bsitmRecordID, Me.bbtnitmDocResultExport, Me.bbtnitmDocResultLayoutSave, Me.bbtnitmDocResultLayoutReset, Me.bbtnitmDocResultRefresh, Me.BarStaticItemLocked, Me.bsitmtInfoDoc, Me.BarButtonItem1, Me.bbtnitmReloadView, Me.BbtnitmNodeReorder, Me.bbtnItm_TV_Collape_Expand, Me.checkShowPreview, Me.btnCreateNewNode, Me.tsitmDMSReadOnly, Me.bsiNotification, Me.bsiDocIDChanged})
|
||||
Me.ribbonNodeNavigation.Location = New System.Drawing.Point(0, 0)
|
||||
Me.ribbonNodeNavigation.MaxItemId = 30
|
||||
Me.ribbonNodeNavigation.Name = "ribbonNodeNavigation"
|
||||
@@ -181,7 +178,7 @@ Partial Class frmNodeNavigation
|
||||
Me.ribbonNodeNavigation.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.[True]
|
||||
Me.ribbonNodeNavigation.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.[False]
|
||||
Me.ribbonNodeNavigation.ShowToolbarCustomizeItem = False
|
||||
Me.ribbonNodeNavigation.Size = New System.Drawing.Size(1151, 147)
|
||||
Me.ribbonNodeNavigation.Size = New System.Drawing.Size(1151, 158)
|
||||
Me.ribbonNodeNavigation.StatusBar = Me.RibbonStatusBar1
|
||||
Me.ribbonNodeNavigation.Toolbar.ShowCustomizeItem = False
|
||||
'
|
||||
@@ -336,27 +333,14 @@ Partial Class frmNodeNavigation
|
||||
Me.bsiDocIDChanged.Name = "bsiDocIDChanged"
|
||||
Me.bsiDocIDChanged.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing
|
||||
'
|
||||
'BarEditItem1
|
||||
'
|
||||
Me.BarEditItem1.Caption = "NodeGUID"
|
||||
Me.BarEditItem1.Edit = Me.RepositoryItemTextEdit1
|
||||
Me.BarEditItem1.Id = 28
|
||||
Me.BarEditItem1.Name = "BarEditItem1"
|
||||
'
|
||||
'RepositoryItemTextEdit1
|
||||
'
|
||||
Me.RepositoryItemTextEdit1.AutoHeight = False
|
||||
Me.RepositoryItemTextEdit1.Name = "RepositoryItemTextEdit1"
|
||||
'
|
||||
'FindNode
|
||||
'
|
||||
Me.FindNode.Caption = "BarButtonItem19"
|
||||
Me.FindNode.Id = 29
|
||||
Me.FindNode.Name = "FindNode"
|
||||
'
|
||||
'RibbonPage1
|
||||
'
|
||||
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RPGNodes, Me.RibbonPageGroupRecord, Me.RibbonPageGroupDocResult, Me.RibbonPageGroup2})
|
||||
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RPGNodes, Me.RibbonPageGroupRecord, Me.RibbonPageGroupDocResult})
|
||||
Me.RibbonPage1.Name = "RibbonPage1"
|
||||
Me.RibbonPage1.Text = "Node Navigation"
|
||||
'
|
||||
@@ -395,13 +379,6 @@ Partial Class frmNodeNavigation
|
||||
Me.RibbonPageGroupDocResult.Name = "RibbonPageGroupDocResult"
|
||||
Me.RibbonPageGroupDocResult.Text = "Dateien"
|
||||
'
|
||||
'RibbonPageGroup2
|
||||
'
|
||||
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarEditItem1)
|
||||
Me.RibbonPageGroup2.ItemLinks.Add(Me.FindNode)
|
||||
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
|
||||
Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
|
||||
'
|
||||
'RibbonStatusBar1
|
||||
'
|
||||
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiInfo)
|
||||
@@ -412,10 +389,10 @@ Partial Class frmNodeNavigation
|
||||
Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemLocked)
|
||||
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitmtInfoDoc)
|
||||
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiDocIDChanged)
|
||||
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 566)
|
||||
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 567)
|
||||
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
|
||||
Me.RibbonStatusBar1.Ribbon = Me.ribbonNodeNavigation
|
||||
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1151, 23)
|
||||
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1151, 22)
|
||||
'
|
||||
'RibbonPage2
|
||||
'
|
||||
@@ -437,7 +414,7 @@ Partial Class frmNodeNavigation
|
||||
'
|
||||
Me.SplitContainerTreeList.Panel2.Controls.Add(Me.SplitContainerDocumentSearch)
|
||||
Me.SplitContainerTreeList.Panel2.Text = "Panel2"
|
||||
Me.SplitContainerTreeList.Size = New System.Drawing.Size(776, 419)
|
||||
Me.SplitContainerTreeList.Size = New System.Drawing.Size(776, 409)
|
||||
Me.SplitContainerTreeList.SplitterPosition = 229
|
||||
Me.SplitContainerTreeList.TabIndex = 2
|
||||
'
|
||||
@@ -479,7 +456,7 @@ Partial Class frmNodeNavigation
|
||||
Me.TreeListDevexpress.OptionsView.ShowVertLines = False
|
||||
Me.TreeListDevexpress.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Dark
|
||||
Me.TreeListDevexpress.ParentFieldName = "PARENT_GUID"
|
||||
Me.TreeListDevexpress.Size = New System.Drawing.Size(229, 419)
|
||||
Me.TreeListDevexpress.Size = New System.Drawing.Size(229, 409)
|
||||
Me.TreeListDevexpress.StateImageList = Me.ImageCollection1
|
||||
Me.TreeListDevexpress.TabIndex = 1
|
||||
'
|
||||
@@ -503,7 +480,7 @@ Partial Class frmNodeNavigation
|
||||
'
|
||||
Me.SplitContainerDocumentSearch.Panel2.Controls.Add(Me.GridControlDocSearch)
|
||||
Me.SplitContainerDocumentSearch.Panel2.Text = "Panel2"
|
||||
Me.SplitContainerDocumentSearch.Size = New System.Drawing.Size(535, 419)
|
||||
Me.SplitContainerDocumentSearch.Size = New System.Drawing.Size(537, 409)
|
||||
Me.SplitContainerDocumentSearch.SplitterPosition = 133
|
||||
Me.SplitContainerDocumentSearch.TabIndex = 1
|
||||
'
|
||||
@@ -514,7 +491,7 @@ Partial Class frmNodeNavigation
|
||||
Me.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.pnlControls.Location = New System.Drawing.Point(0, 0)
|
||||
Me.pnlControls.Name = "pnlControls"
|
||||
Me.pnlControls.Size = New System.Drawing.Size(535, 133)
|
||||
Me.pnlControls.Size = New System.Drawing.Size(537, 133)
|
||||
Me.pnlControls.TabIndex = 0
|
||||
'
|
||||
'GridControlDocSearch
|
||||
@@ -528,7 +505,7 @@ Partial Class frmNodeNavigation
|
||||
Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0)
|
||||
Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search
|
||||
Me.GridControlDocSearch.Name = "GridControlDocSearch"
|
||||
Me.GridControlDocSearch.Size = New System.Drawing.Size(535, 274)
|
||||
Me.GridControlDocSearch.Size = New System.Drawing.Size(537, 266)
|
||||
Me.GridControlDocSearch.TabIndex = 8
|
||||
Me.GridControlDocSearch.TabStop = False
|
||||
Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search})
|
||||
@@ -538,7 +515,7 @@ Partial Class frmNodeNavigation
|
||||
Me.cmsResultFileDetail.ImageScalingSize = New System.Drawing.Size(18, 18)
|
||||
Me.cmsResultFileDetail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiFileProperties, Me.ToolStripSeparator5, Me.tsmiFileOpen, Me.tsmiFileFolderOpen, Me.ToolStripSeparator1, Me.tsmiFileInWorkMultiple_Lock, Me.tsmiFileInWorkMultiple_Free, Me.tsmiFileInWork, Me.ToolStripSeparator3, Me.tsmiFileLink_Add, Me.tsmiFileLinkRemove, Me.tsmiFileLink_ShowAll, Me.TsmitmJumpToFilestore, Me.LinkPerMailVersendenToolStripMenuItem, Me.ToolStripSeparator2, Me.tsmiFileRename, Me.DokumentartÄndernToolStripMenuItem, Me.tsmiFileVersion, Me.tsmiFileRightsShow, Me.ToolStripSeparator4, Me.tsmiFileDelete})
|
||||
Me.cmsResultFileDetail.Name = "ContextMenuStripResultFiles"
|
||||
Me.cmsResultFileDetail.Size = New System.Drawing.Size(315, 440)
|
||||
Me.cmsResultFileDetail.Size = New System.Drawing.Size(315, 418)
|
||||
'
|
||||
'tsmiFileProperties
|
||||
'
|
||||
@@ -754,7 +731,7 @@ Partial Class frmNodeNavigation
|
||||
'
|
||||
Me.SplitContainerDocView.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
|
||||
Me.SplitContainerDocView.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.SplitContainerDocView.Location = New System.Drawing.Point(0, 147)
|
||||
Me.SplitContainerDocView.Location = New System.Drawing.Point(0, 158)
|
||||
Me.SplitContainerDocView.Name = "SplitContainerDocView"
|
||||
'
|
||||
'SplitContainerDocView.Panel1
|
||||
@@ -766,7 +743,7 @@ Partial Class frmNodeNavigation
|
||||
'
|
||||
Me.SplitContainerDocView.Panel2.Controls.Add(Me.DocumentViewer)
|
||||
Me.SplitContainerDocView.Panel2.Text = "Panel2"
|
||||
Me.SplitContainerDocView.Size = New System.Drawing.Size(1151, 419)
|
||||
Me.SplitContainerDocView.Size = New System.Drawing.Size(1151, 409)
|
||||
Me.SplitContainerDocView.SplitterPosition = 776
|
||||
Me.SplitContainerDocView.TabIndex = 0
|
||||
'
|
||||
@@ -777,7 +754,7 @@ Partial Class frmNodeNavigation
|
||||
Me.DocumentViewer.FileLoaded = False
|
||||
Me.DocumentViewer.Location = New System.Drawing.Point(0, 0)
|
||||
Me.DocumentViewer.Name = "DocumentViewer"
|
||||
Me.DocumentViewer.Size = New System.Drawing.Size(363, 419)
|
||||
Me.DocumentViewer.Size = New System.Drawing.Size(365, 409)
|
||||
Me.DocumentViewer.TabIndex = 0
|
||||
Me.DocumentViewer.Viewer_ForceTemporaryMode = False
|
||||
'
|
||||
@@ -1242,8 +1219,5 @@ Partial Class frmNodeNavigation
|
||||
Friend WithEvents DD_DMSDataSet1 As DD_DMSDataSet
|
||||
Friend WithEvents bsiDocIDChanged As DevExpress.XtraBars.BarStaticItem
|
||||
Friend WithEvents TsmitmJumpToFilestore As ToolStripMenuItem
|
||||
Friend WithEvents BarEditItem1 As DevExpress.XtraBars.BarEditItem
|
||||
Friend WithEvents RepositoryItemTextEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemTextEdit
|
||||
Friend WithEvents FindNode As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
End Class
|
||||
|
||||
@@ -145,13 +145,14 @@ Public Class frmNodeNavigation
|
||||
End If
|
||||
|
||||
checkShowPreview.Checked = CONFIG.Config.DocumentViewerShown
|
||||
UpdateDocViewCollapsedState()
|
||||
|
||||
Catch ex As Exception
|
||||
NNLogger.Error(ex)
|
||||
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace)
|
||||
End Try
|
||||
End Sub
|
||||
Private Async Function frmNodeNavigation_Load(sender As Object, e As EventArgs) As Task Handles Me.Load
|
||||
Private Async Sub frmNodeNavigation_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
NNLogger.Debug("Loading NodeNavigation")
|
||||
|
||||
CONSTRUCTORID = CURRENT_CONSTRUCTOR_ID
|
||||
@@ -222,7 +223,13 @@ Public Class frmNodeNavigation
|
||||
End Try
|
||||
|
||||
Await Load_nodes()
|
||||
End Function
|
||||
AddHandler ClassDragDrop.FilesDroppedReady, Sub(files As String())
|
||||
' Hier deine bisherige Verarbeitung von files_dropped triggern.
|
||||
' Beispiel:
|
||||
LOGGER?.Info("FilesDroppedReady: " & String.Join("; ", files))
|
||||
' ... bestehende Routine aufrufen ...
|
||||
End Sub
|
||||
End Sub
|
||||
Private Async Function Load_nodes() As Task
|
||||
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
NNLogger.Debug("Loading nodes for entity [{0}]", CURRENT_ENTITY_ID)
|
||||
@@ -233,32 +240,47 @@ Public Class frmNodeNavigation
|
||||
|
||||
Dim oNodeConfigSql = String.Format("select T.* from TBPMO_STRUCTURE_NODES_CONFIGURATION T INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID WHERE T.ENTITY_ID = {0}", CURRENT_ENTITY_ID)
|
||||
Dim DT_TREEVIEW_CONFIGURATION = MYDB_ECM.GetDatatable(oNodeConfigSql)
|
||||
For Each row As DataRow In DT_TREEVIEW_CONFIGURATION.Rows
|
||||
Try
|
||||
Dim bimage = row.ItemEx(Of Object)("NODE_IMAGE", Nothing)
|
||||
If bimage Is Nothing Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim oNodeImage = ByteArrayToBitmap(bimage)
|
||||
ImageCollection1.AddImage(oNodeImage, row.Item("GUID"))
|
||||
Catch ex As Exception
|
||||
NNLogger.Error(ex)
|
||||
End Try
|
||||
Next
|
||||
Dim imageInit = TryCast(ImageCollection1, System.ComponentModel.ISupportInitialize)
|
||||
If imageInit IsNot Nothing Then
|
||||
imageInit.BeginInit()
|
||||
End If
|
||||
|
||||
TreeListDevexpress.DataSource = DT_STRUCTURE_NODES
|
||||
TreeListDevexpress.KeyFieldName = "GUID"
|
||||
TreeListDevexpress.ParentFieldName = "PARENT_GUID"
|
||||
TreeListDevexpress.Columns("SEQUENCE").SortOrder = SortOrder.Ascending
|
||||
TreeListDevexpress.StateImageList = ImageCollection1
|
||||
Try
|
||||
For Each row As DataRow In DT_TREEVIEW_CONFIGURATION.Rows
|
||||
Try
|
||||
Dim bimage = row.ItemEx(Of Object)("NODE_IMAGE", Nothing)
|
||||
If bimage Is Nothing Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim oVisibleColumns = New List(Of String) From {"NODE_CAPTION"} ', "NAVIGATION_PATH"}
|
||||
For Each oColumn In TreeListDevexpress.Columns
|
||||
If oVisibleColumns.Contains(oColumn.FieldName) = False Then
|
||||
oColumn.Visible = False
|
||||
Dim oNodeImage = ByteArrayToBitmap(bimage)
|
||||
ImageCollection1.AddImage(oNodeImage, row.Item("GUID"))
|
||||
Catch ex As Exception
|
||||
NNLogger.Error(ex)
|
||||
End Try
|
||||
Next
|
||||
Finally
|
||||
If imageInit IsNot Nothing Then
|
||||
imageInit.EndInit()
|
||||
End If
|
||||
Next
|
||||
End Try
|
||||
|
||||
TreeListDevexpress.BeginUpdate()
|
||||
Try
|
||||
TreeListDevexpress.DataSource = DT_STRUCTURE_NODES
|
||||
TreeListDevexpress.KeyFieldName = "GUID"
|
||||
TreeListDevexpress.ParentFieldName = "PARENT_GUID"
|
||||
TreeListDevexpress.Columns("SEQUENCE").SortOrder = SortOrder.Ascending
|
||||
TreeListDevexpress.StateImageList = ImageCollection1
|
||||
|
||||
Dim oVisibleColumns As New System.Collections.Generic.HashSet(Of String)(StringComparer.OrdinalIgnoreCase) From {"NODE_CAPTION"}
|
||||
For Each oColumn As TreeListColumn In TreeListDevexpress.Columns
|
||||
oColumn.Visible = oVisibleColumns.Contains(oColumn.FieldName)
|
||||
Next
|
||||
Finally
|
||||
TreeListDevexpress.EndUpdate()
|
||||
End Try
|
||||
|
||||
JumptoNode()
|
||||
|
||||
@@ -319,10 +341,6 @@ Public Class frmNodeNavigation
|
||||
Exit Sub
|
||||
End If
|
||||
MyFocusedNode = Nothing
|
||||
If btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Always Then
|
||||
btnCreateNewNode.Enabled = False
|
||||
End If
|
||||
|
||||
|
||||
If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then
|
||||
Exit Sub
|
||||
@@ -386,23 +404,23 @@ Public Class frmNodeNavigation
|
||||
CurrentNodeConfigId = oNodeConfigId
|
||||
|
||||
AvailableConfigNodes.Clear()
|
||||
If btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Always And
|
||||
Not IsNothing(NODE_CONFIGURABLE_NODES_DT) Then
|
||||
If Not IsNothing(NODE_CONFIGURABLE_NODES_DT) Then
|
||||
Dim oNodeConfigList = NODE_CONFIGURABLE_NODES_DT.Select($"PARENT_NODE = {oNodeConfigId}").
|
||||
Cast(Of DataRow).
|
||||
Select(Function(row) New frmNewNode.NodeConfig() With {
|
||||
.Id = row.Item("GUID"),
|
||||
.Name = row.Item("NAME")
|
||||
}).ToList()
|
||||
Cast(Of DataRow).
|
||||
Select(Function(row) New frmNewNode.NodeConfig() With {
|
||||
.Id = row.Item("GUID"),
|
||||
.Name = row.Item("NAME")
|
||||
}).ToList()
|
||||
AvailableConfigNodes = oNodeConfigList
|
||||
|
||||
If AvailableConfigNodes.Count > 0 Then
|
||||
btnCreateNewNode.Enabled = True
|
||||
Else
|
||||
btnCreateNewNode.Enabled = False
|
||||
End If
|
||||
End If
|
||||
|
||||
NNLogger.Info($"Node changed: NodeID={oNodeConfigId}, NodeGUID={oGuid}, ConfigNodesFound={AvailableConfigNodes.Count}, " &
|
||||
$"ButtonVisible={btnCreateNewNode.Visibility}, ConfigTableRows={If(IsNothing(NODE_CONFIGURABLE_NODES_DT), 0, NODE_CONFIGURABLE_NODES_DT.Rows.Count)}")
|
||||
|
||||
|
||||
' NEUE zentrale Methode aufrufen statt direkter Manipulation
|
||||
UpdateCreateNodeButtonState()
|
||||
|
||||
|
||||
' END NEW NODE
|
||||
CURRENT_NODEID = oGuid
|
||||
@@ -425,7 +443,7 @@ Public Class frmNodeNavigation
|
||||
Await Show_Selected_Record_Data(CURRENT_RECORD_ID, oLoadRecordData)
|
||||
|
||||
|
||||
DocView_DisplaySelectedDoc(True)
|
||||
Await DocView_DisplaySelectedDoc(True)
|
||||
ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId)
|
||||
CONTROL_HANDLING()
|
||||
|
||||
@@ -486,6 +504,48 @@ Public Class frmNodeNavigation
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
' Neue zentrale Methode zum konsistenten Setzen des Button-Status
|
||||
Private Sub UpdateCreateNodeButtonState()
|
||||
Try
|
||||
' *** HIER: Eingangsdiagnose ***
|
||||
NNLogger.Debug($"UpdateCreateNodeButtonState called - Visibility={btnCreateNewNode.Visibility}, " &
|
||||
$"CurrentEnabled={btnCreateNewNode.Enabled}, AvailableNodes={AvailableConfigNodes.Count}, " &
|
||||
$"ConfigTableExists={Not IsNothing(NODE_CONFIGURABLE_NODES_DT)}")
|
||||
|
||||
If btnCreateNewNode.Visibility <> DevExpress.XtraBars.BarItemVisibility.Always Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
' Button aktivieren wenn:
|
||||
' 1. Konfigurierbare Nodes existieren UND
|
||||
' 2. Verfügbare Config-Nodes für aktuellen Node vorhanden sind
|
||||
Dim shouldEnable As Boolean = False
|
||||
|
||||
If Not IsNothing(NODE_CONFIGURABLE_NODES_DT) AndAlso
|
||||
NODE_CONFIGURABLE_NODES_DT.Rows.Count > 0 AndAlso
|
||||
AvailableConfigNodes.Count > 0 Then
|
||||
shouldEnable = True
|
||||
End If
|
||||
|
||||
' Thread-sicheres Update
|
||||
If Me.InvokeRequired Then
|
||||
Me.Invoke(Sub() btnCreateNewNode.Enabled = shouldEnable)
|
||||
Else
|
||||
btnCreateNewNode.Enabled = shouldEnable
|
||||
End If
|
||||
|
||||
If shouldEnable Then
|
||||
LOGGER.Debug($"btnCreateNewNode ENABLED (AvailableConfigNodes: {AvailableConfigNodes.Count})")
|
||||
Else
|
||||
LOGGER.Debug($"btnCreateNewNode DISABLED (ConfigNodes: {AvailableConfigNodes.Count})")
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
NNLogger.Error(ex)
|
||||
' Im Fehlerfall: Sicherheitshalber deaktivieren
|
||||
btnCreateNewNode.Enabled = False
|
||||
End Try
|
||||
End Sub
|
||||
Public Async Function ShowDialogAsync() As Task(Of DialogResult)
|
||||
Return Await Task.Run(Function()
|
||||
Return MessageBox.Show("Der Parent-Node wird nun getauscht? Wollen Sie fortfahren?",
|
||||
@@ -651,9 +711,15 @@ Public Class frmNodeNavigation
|
||||
btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
||||
Dim oSql = String.Format("SELECT * FROM TBPMO_STRUCTURE_NODES_CONFIGURATION where TYPE_NODE = 1000 AND ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", oConstructID)
|
||||
NODE_CONFIGURABLE_NODES_DT = MYDB_ECM.GetDatatable(oSql)
|
||||
|
||||
NNLogger.Info($"Load_Configurable_Nodes: ConstructID={oConstructID}, " &
|
||||
$"FoundRows={If(IsNothing(NODE_CONFIGURABLE_NODES_DT), 0, NODE_CONFIGURABLE_NODES_DT.Rows.Count)}")
|
||||
|
||||
If Not IsNothing(NODE_CONFIGURABLE_NODES_DT) Then
|
||||
If NODE_CONFIGURABLE_NODES_DT.Rows.Count > 0 Then
|
||||
btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
|
||||
' Initial-State setzen
|
||||
UpdateCreateNodeButtonState()
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
@@ -978,7 +1044,7 @@ Public Class frmNodeNavigation
|
||||
Else
|
||||
RibbonPageGroupDocResult.Enabled = True
|
||||
If Node_AfterSelect = False Then
|
||||
SplitContainerDocView.Collapsed = Not CONFIG.Config.DocumentViewerShown
|
||||
UpdateDocViewCollapsedState()
|
||||
Else
|
||||
SplitContainerDocView.Collapsed = True
|
||||
End If
|
||||
@@ -1831,9 +1897,9 @@ Public Class frmNodeNavigation
|
||||
End Try
|
||||
sw.Done()
|
||||
End Sub
|
||||
Private Sub OnCBSelectedValueChanged(sender As Object, e As EventArgs)
|
||||
Private Async Sub OnCBSelectedValueChanged(sender As Object, e As EventArgs)
|
||||
Try
|
||||
Dim oDocID = Focused_Row_GetDocID()
|
||||
Dim oDocID = Await Focused_Row_GetDocID() ' ✅ Mit Await
|
||||
If oDocID = 0 Then
|
||||
Exit Sub
|
||||
End If
|
||||
@@ -1869,9 +1935,9 @@ Public Class frmNodeNavigation
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub OnDateSelectedValueChanged(sender As Object, e As EventArgs)
|
||||
Private Async Sub OnDateSelectedValueChanged(sender As Object, e As EventArgs)
|
||||
Try
|
||||
Dim oDocID = Focused_Row_GetDocID()
|
||||
Dim oDocID = Await Focused_Row_GetDocID() ' ✅ Mit Await
|
||||
If oDocID = 0 Then
|
||||
Exit Sub
|
||||
End If
|
||||
@@ -1917,9 +1983,9 @@ Public Class frmNodeNavigation
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub OnTextSelectedValueChanged(sender As Object, e As EventArgs)
|
||||
Private Async Sub OnTextSelectedValueChanged(sender As Object, e As EventArgs)
|
||||
Try
|
||||
Dim oDocID = Focused_Row_GetDocID()
|
||||
Dim oDocID = Await Focused_Row_GetDocID() ' ✅ Mit Await
|
||||
If oDocID = 0 Then
|
||||
Exit Sub
|
||||
End If
|
||||
@@ -1950,10 +2016,10 @@ Public Class frmNodeNavigation
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub OnCheckboxValueChanged(sender As Object, e As EventArgs)
|
||||
Private Async Sub OnCheckboxValueChanged(sender As Object, e As EventArgs)
|
||||
'TODO Save Checkboxvalue
|
||||
Try
|
||||
Dim oDocID = Focused_Row_GetDocID()
|
||||
Dim oDocID = Await Focused_Row_GetDocID() ' ✅ Mit Await
|
||||
If oDocID = 0 Then
|
||||
Exit Sub
|
||||
End If
|
||||
@@ -1997,32 +2063,42 @@ Public Class frmNodeNavigation
|
||||
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub GridViewDoc_Search_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridViewDoc_Search.FocusedRowChanged
|
||||
Focused_Row_GetDocID()
|
||||
|
||||
Private Async Sub GridViewDoc_Search_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridViewDoc_Search.FocusedRowChanged
|
||||
' ✅ Jetzt mit Await aufrufen
|
||||
Dim docId = Await Focused_Row_GetDocID()
|
||||
End Sub
|
||||
|
||||
Private Function Focused_Row_GetDocID() As Int64
|
||||
Private Async Function Focused_Row_GetDocID() As Task(Of Int64)
|
||||
Try
|
||||
' Early Exit 1: Formular noch nicht angezeigt
|
||||
If FORM_SHOWN = False Then
|
||||
Return 0
|
||||
End If
|
||||
|
||||
' Early Exit 2: Node-Wechsel aktiv
|
||||
If Node_AfterSelect = True Then
|
||||
SplitContainerDocView.Collapsed = True
|
||||
GridViewDoc_Search.ClearSelection()
|
||||
GridViewDoc_Search.FocusedRowHandle = DevExpress.XtraGrid.GridControl.InvalidRowHandle
|
||||
|
||||
Return 0
|
||||
End If
|
||||
|
||||
Update_DocID_Label(False)
|
||||
Update_Notification_Label(False, "", "")
|
||||
|
||||
' Prüfung: Ist eine Zeile fokussiert?
|
||||
If GridViewDoc_Search.FocusedRowHandle >= 0 Then
|
||||
Dim oDocID = GridViewDoc_Search.GetRowCellValue(GridViewDoc_Search.FocusedRowHandle, "DocID")
|
||||
|
||||
If Not IsNothing(oDocID) Then
|
||||
Dim omsg = "Doc-ID: " & oDocID
|
||||
Update_DocID_Label(True, omsg, EditState.Update)
|
||||
|
||||
' ✅ Dokumentvorschau nur bei DocID-Wechsel aktualisieren
|
||||
If SELECTED_DOC_ID <> oDocID Then
|
||||
SELECTED_DOC_ID = oDocID
|
||||
|
||||
' Panel-Status setzen (falls Vorschau deaktiviert)
|
||||
If checkShowPreview.Checked = False Then
|
||||
SplitContainerDocView.Collapsed = True
|
||||
Else
|
||||
@@ -2031,8 +2107,10 @@ Public Class frmNodeNavigation
|
||||
End If
|
||||
End If
|
||||
|
||||
DocView_DisplaySelectedDoc(False)
|
||||
' ✅ Async-Aufruf mit Await
|
||||
Await DocView_DisplaySelectedDoc(False)
|
||||
End If
|
||||
|
||||
Update_DocID_Label(True, omsg, EditState.Update)
|
||||
Return SELECTED_DOC_ID
|
||||
Else
|
||||
@@ -2043,6 +2121,7 @@ Public Class frmNodeNavigation
|
||||
Return 0
|
||||
End If
|
||||
Catch ex As Exception
|
||||
NNLogger.Error(ex, "Error in Focused_Row_GetDocID")
|
||||
Return 0
|
||||
End Try
|
||||
End Function
|
||||
@@ -2124,115 +2203,96 @@ Public Class frmNodeNavigation
|
||||
End Sub
|
||||
#Region "Dropping Files"
|
||||
Sub Drag_Enter(e As DragEventArgs)
|
||||
If _EntityId <> 0 Then
|
||||
If WM_READ_ONLY = False Then
|
||||
ClassDragDrop.Drag_enter(e)
|
||||
Else
|
||||
Update_Notification_Label(True, "READ ONLY ACCESS", "Yellow")
|
||||
End If
|
||||
Else
|
||||
If _EntityId = 0 Then
|
||||
Update_Notification_Label(True, "No entity selected", "Yellow")
|
||||
e.Effect = DragDropEffects.None
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If WM_READ_ONLY Then
|
||||
Update_Notification_Label(True, "READ ONLY ACCESS", "Yellow")
|
||||
e.Effect = DragDropEffects.None
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
' Delegiere die Priorisierung (Outlook > FileDrop) an die zentrale Routine
|
||||
ClassDragDrop.Drag_enter(e)
|
||||
End Sub
|
||||
Private Async Function Drag_Drop(e As DragEventArgs) As Task
|
||||
Try
|
||||
If ClassDragDrop.Drop_File(e) = False Then
|
||||
Exit Function
|
||||
End If
|
||||
' Basis-Prechecks – bevor wir irgendetwas verarbeiten
|
||||
If USER_PERSONIFIED_TEST = True Then
|
||||
ClassHelper.MSGBOX_Handler("INFO", "Attention", "You are using orgFLOW in personified mode! Adding files is not allowed!")
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
If WMMOD.SessionLoggedin = False Then
|
||||
ClassHelper.MSGBOX_Handler("INFO", "Attention", "Check Your windream-connection and restart orgFLOW afterwards.", "Could not create a windream session!")
|
||||
Exit Function
|
||||
End If
|
||||
If _EntityId <> 0 And (RIGHT_READ_ONLY_DOC = False And GridControlDocSearch.ContextMenuStrip.Name = "ContextMenuStripResultFiles") Or RIGHT_ADD_DOC = True Then
|
||||
Dim sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORMVIEW_ID = " & FORMVIEW_ID
|
||||
Dim count_DT = MYDB_ECM.GetScalarValue(sql)
|
||||
If count_DT = 0 And CURRENT_ENTITY_REDUNDANT_ID = 0 Then
|
||||
MsgBox("No documenttypes for this entity configured! Indexing is not possible!" & vbNewLine & "Please check the configuration!", MsgBoxStyle.Exclamation)
|
||||
Exit Function
|
||||
ElseIf count_DT = 0 And CURRENT_ENTITY_REDUNDANT_ID <> 0 Then
|
||||
sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORM_ID = " & CURRENT_ENTITY_REDUNDANT_ID
|
||||
count_DT = MYDB_ECM.GetScalarValue(sql)
|
||||
If count_DT = 0 Then
|
||||
MsgBox("No documenttypes for this entity configured! Indexing is not possible!" & vbNewLine & "Please check the configuration!", MsgBoxStyle.Exclamation)
|
||||
Exit Function
|
||||
End If
|
||||
End If
|
||||
If RECORD_CHANGED = True Then
|
||||
If Save_Record() = False Then
|
||||
Exit Function
|
||||
End If
|
||||
End If
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = 0
|
||||
If CONTROL_DOCTYPE_MATCH <> 0 Then
|
||||
Try
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = ""
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = ClassControlValues.GetControlValuesREC_CONTROL(CURRENT_RECORD_ID, CONTROL_DOCTYPE_MATCH)
|
||||
Catch ex As Exception
|
||||
NNLogger.Error(ex)
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = 0
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = ""
|
||||
End Try
|
||||
|
||||
End If
|
||||
|
||||
DROPPED_CHECKED = False
|
||||
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
|
||||
Dim Wert As String = CType(e.Data.GetData(DataFormats.StringFormat), Object)
|
||||
Console.WriteLine("DragDrop-Wert: " & Wert)
|
||||
If Wert.Contains("SCAN") Then
|
||||
Dim split() = Wert.Split(";")
|
||||
If IsNumeric(split(1)) Then
|
||||
CURRENT_FILEID = split(1)
|
||||
|
||||
CURRENT_FORMVIEW_ID = FORMVIEW_ID
|
||||
ClassHelper.Create_USER_FILE_TABLE()
|
||||
If Not IsNothing(CURRENT_TBPMO_FILES_USER) Then
|
||||
If CURRENT_TBPMO_FILES_USER.Rows.Count > 0 Then
|
||||
frmWM_IndexFile.ShowDialog()
|
||||
End If
|
||||
End If
|
||||
|
||||
'RUN_WD_SEARCH(WD_Suche, "RECORD")
|
||||
End If
|
||||
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
|
||||
If ClassDragDrop.Drop_File(e) = True Then
|
||||
Check_Dropped_Files()
|
||||
End If
|
||||
ElseIf e.Data.GetDataPresent("FileGroupDescriptor") Then
|
||||
If ClassDragDrop.Drop_File(e) = True Then
|
||||
Check_Dropped_Files()
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If ClassDragDrop.Drop_File(e) = True Then
|
||||
Check_Dropped_Files()
|
||||
End If
|
||||
|
||||
End If
|
||||
'Nur wenn neue Dateien abgelegt wurden muss die Prozedur zur aktualisierung der windream Dateien ausgeführt werden...ansonsten muss nichts passieren
|
||||
If NEW_FILES_ADDED = True Then
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
Await RUN_DOCSEARCH(True)
|
||||
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
|
||||
TimerClearResultfiles.Start()
|
||||
Else
|
||||
NNLogger.Debug("No new files were added or windream tab is not focused!")
|
||||
End If
|
||||
Me.Cursor = Cursors.Default
|
||||
Else
|
||||
'If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then
|
||||
' NNLogger.Warn("RIGHT_RECORD_AND_FILE_READ_ONLY is set! No DragDrop allowed")
|
||||
'End If
|
||||
' Rechte-/Kontextprüfung
|
||||
If Not (_EntityId <> 0 AndAlso ((RIGHT_READ_ONLY_DOC = False AndAlso GridControlDocSearch.ContextMenuStrip.Name = "ContextMenuStripResultFiles") OrElse RIGHT_ADD_DOC = True)) Then
|
||||
If RIGHT_READ_ONLY_DOC = True Then
|
||||
NNLogger.Warn("RIGHT_WD_FORBIDDEN is set! No DragDrop allowed")
|
||||
Else
|
||||
NNLogger.Warn("No DragDrop allowed - ELSE")
|
||||
End If
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
' Dokumenttypen-Konfiguration prüfen (wie gehabt)
|
||||
Dim sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORMVIEW_ID = " & FORMVIEW_ID
|
||||
Dim count_DT = MYDB_ECM.GetScalarValue(sql)
|
||||
If count_DT = 0 And CURRENT_ENTITY_REDUNDANT_ID = 0 Then
|
||||
MsgBox("No documenttypes for this entity configured! Indexing is not possible!" & vbNewLine & "Please check the configuration!", MsgBoxStyle.Exclamation)
|
||||
Exit Function
|
||||
ElseIf count_DT = 0 And CURRENT_ENTITY_REDUNDANT_ID <> 0 Then
|
||||
sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORM_ID = " & CURRENT_ENTITY_REDUNDANT_ID
|
||||
count_DT = MYDB_ECM.GetScalarValue(sql)
|
||||
If count_DT = 0 Then
|
||||
MsgBox("No documenttypes for this entity configured! Indexing is not possible!" & vbNewLine & "Please check the configuration!", MsgBoxStyle.Exclamation)
|
||||
Exit Function
|
||||
End If
|
||||
End If
|
||||
|
||||
' Ungespeicherte Änderungen sichern
|
||||
If RECORD_CHANGED = True Then
|
||||
If Save_Record() = False Then Exit Function
|
||||
End If
|
||||
|
||||
' Doctype-Match ermitteln (wie gehabt)
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = 0
|
||||
If CONTROL_DOCTYPE_MATCH <> 0 Then
|
||||
Try
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = ""
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = ClassControlValues.GetControlValuesREC_CONTROL(CURRENT_RECORD_ID, CONTROL_DOCTYPE_MATCH)
|
||||
Catch ex As Exception
|
||||
NNLogger.Error(ex)
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = 0
|
||||
CURRENT_CONTROL_DOCTYPE_MATCH = ""
|
||||
End Try
|
||||
End If
|
||||
|
||||
DROPPED_CHECKED = False
|
||||
|
||||
' Zentrale Verarbeitung: genau EIN Aufruf – Outlook/Filesystem/SCAN wird intern erkannt und geschrieben
|
||||
If ClassDragDrop.Drop_File(e) = False Then
|
||||
NNLogger.Debug("Drag_Drop: No supported data format detected by ClassDragDrop.")
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
' Nach erfolgreichem Drop die User-File-Tabelle konsolidieren und ggf. Indexdialog öffnen
|
||||
Check_Dropped_Files()
|
||||
|
||||
' Falls Dateien hinzugefügt wurden, Ergebnisliste aktualisieren
|
||||
If NEW_FILES_ADDED = True Then
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
Await RUN_DOCSEARCH(True)
|
||||
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
|
||||
TimerClearResultfiles.Start()
|
||||
Else
|
||||
NNLogger.Debug("No new files were added or windream tab is not focused!")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
NNLogger.Error(ex)
|
||||
@@ -2527,7 +2587,7 @@ Public Class frmNodeNavigation
|
||||
Else
|
||||
tsmiFileRenameDisplayname.Visible = False
|
||||
End If
|
||||
If CURRENT_ENTITY_ID <> OF_FILESTORE_ENTITY Then
|
||||
If CURRENT_ENTITY_ID <> OF_FILESTORE_ENTITY And OF_FILESTORE_ENTITY <> 0 Then
|
||||
TsmitmJumpToFilestore.Visible = True
|
||||
Else
|
||||
TsmitmJumpToFilestore.Visible = False
|
||||
@@ -3241,18 +3301,28 @@ Public Class frmNodeNavigation
|
||||
Private Sub bbtnitmRecSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmRecSave.ItemClick
|
||||
Save_Record()
|
||||
End Sub
|
||||
|
||||
Private Sub checkShowPreview_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles checkShowPreview.CheckedChanged
|
||||
''' <summary>
|
||||
''' Setzt den Collapsed-Status des DocumentViewer-Panels konsistent.
|
||||
''' Panel ist nur aufgeklappt, wenn DocViewInitialized = True UND checkShowPreview.Checked = True
|
||||
''' </summary>
|
||||
Private Sub UpdateDocViewCollapsedState()
|
||||
If DocViewInitialized AndAlso checkShowPreview.Checked Then
|
||||
SplitContainerDocView.Collapsed = False
|
||||
Else
|
||||
SplitContainerDocView.Collapsed = True
|
||||
End If
|
||||
End Sub
|
||||
Private Async Sub checkShowPreview_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles checkShowPreview.CheckedChanged
|
||||
If FORM_LOADED = False Then
|
||||
Exit Sub
|
||||
End If
|
||||
If DocViewInitialized Then
|
||||
CONFIG.Config.DocumentViewerShown = checkShowPreview.Checked
|
||||
CONFIG.Save()
|
||||
SplitContainerDocView.Collapsed = Not checkShowPreview.Checked
|
||||
If checkShowPreview.Checked Then
|
||||
DocView_DisplaySelectedDoc(False)
|
||||
End If
|
||||
' ✅ Konsistente zentrale Methode verwenden
|
||||
UpdateDocViewCollapsedState()
|
||||
|
||||
Await DocView_DisplaySelectedDoc(False)
|
||||
Else
|
||||
SplitContainerDocView.Collapsed = True
|
||||
|
||||
@@ -3260,104 +3330,48 @@ Public Class frmNodeNavigation
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub GridViewDoc_Search_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles GridViewDoc_Search.SelectionChanged
|
||||
DocView_DisplaySelectedDoc(False)
|
||||
Private Async Sub GridViewDoc_Search_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles GridViewDoc_Search.SelectionChanged
|
||||
Await DocView_DisplaySelectedDoc(False)
|
||||
End Sub
|
||||
Private Async Sub DocView_DisplaySelectedDoc(AfterNodeChange As Boolean)
|
||||
Private Async Function DocView_DisplaySelectedDoc(AfterNodeChange As Boolean) As Task
|
||||
' ✅ Early Exit: Keine Vorschau nach Node-Wechsel
|
||||
If AfterNodeChange Then
|
||||
Exit Sub
|
||||
Return
|
||||
End If
|
||||
|
||||
' ✅ Early Exit: Vorschau ist deaktiviert
|
||||
If Not checkShowPreview.Checked Then
|
||||
NNLogger.Info("checkShowPreview NOT Checked.")
|
||||
Return
|
||||
End If
|
||||
' ✅ Early Exit: Viewer nicht initialisiert
|
||||
If Not DocViewInitialized Then
|
||||
NNLogger.Info("DocumentViewer not initialized. No preview possible.")
|
||||
Return
|
||||
End If
|
||||
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
Try
|
||||
Dim oSelectedDoc = ClassDocGrid.GetSingleSelectedDocument(GridViewDoc_Search)
|
||||
If Not IsNothing(oSelectedDoc) Then
|
||||
If checkShowPreview.Checked Then
|
||||
If DocViewInitialized Then
|
||||
If oSelectedDoc.Count = 1 Then
|
||||
Close_Document_Viewer()
|
||||
System.Threading.Thread.Sleep(400)
|
||||
Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDoc.First()
|
||||
Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
|
||||
|
||||
DocumentViewer.LoadFile(oPath)
|
||||
Else
|
||||
NNLogger.Debug("Show_SelectedDoc - oSelectedDocs.Count not = 1 ")
|
||||
Close_Document_Viewer()
|
||||
End If
|
||||
Else
|
||||
NNLogger.Info("DocumentViewer not inited. No Show_SelectedDoc")
|
||||
End If
|
||||
End If
|
||||
|
||||
Else
|
||||
NNLogger.Debug("Show_SelectedDoc - oSelectedDocs is nothing")
|
||||
If IsNothing(oSelectedDoc) OrElse oSelectedDoc.Count <> 1 Then
|
||||
NNLogger.Debug("No single document selected for preview. Check oSelectedDoc count: " & If(IsNothing(oSelectedDoc), "oSelectedDoc is Nothing", oSelectedDoc.Count.ToString()))
|
||||
Close_Document_Viewer()
|
||||
Return
|
||||
End If
|
||||
' ✅ Alle Prüfungen bestanden → Dokument laden
|
||||
Close_Document_Viewer()
|
||||
Await Task.Delay(400)
|
||||
Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDoc.First()
|
||||
Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
' If AfterNodeChange Then Exit Sub
|
||||
|
||||
'Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
|
||||
'Try
|
||||
' Dim oSelectedDoc = ClassDocGrid.GetSingleSelectedDocument(GridViewDoc_Search)
|
||||
|
||||
' If oSelectedDoc Is Nothing OrElse oSelectedDoc.Count <> 1 Then
|
||||
' NNLogger.Debug("Kein oder mehrere Dokumente ausgewählt.")
|
||||
' Close_Document_Viewer()
|
||||
' Return
|
||||
' End If
|
||||
|
||||
' If Not checkShowPreview.Checked OrElse Not DocViewInitialized Then
|
||||
' NNLogger.Info("Vorschau deaktiviert oder Viewer nicht initialisiert.")
|
||||
' Return
|
||||
' End If
|
||||
|
||||
' Close_Document_Viewer()
|
||||
' Await Task.Delay(400)
|
||||
|
||||
' Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDoc.First()
|
||||
' Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
|
||||
' NNLogger.Debug("Starte DocumentViewer.LoadFile...")
|
||||
|
||||
' ' Flag für Erfolg
|
||||
' Dim fileLoadedSuccessfully As Boolean = False
|
||||
|
||||
' ' Starte Timeout-Überwachung
|
||||
' Dim timeoutTask = Task.Delay(TimeSpan.FromSeconds(20))
|
||||
|
||||
' ' Starte Laden im UI-Thread
|
||||
' Dim loadTask = Task.Run(Sub()
|
||||
' Try
|
||||
' ' Direkt im UI-Thread ausführen
|
||||
' Me.Invoke(Sub()
|
||||
' DocumentViewer.LoadFile(oPath)
|
||||
' fileLoadedSuccessfully = True
|
||||
' End Sub)
|
||||
' Catch ex As Exception
|
||||
' NNLogger.Error("Fehler beim Laden des Dokuments: " & ex.Message)
|
||||
' End Try
|
||||
' End Sub)
|
||||
|
||||
' ' Warte auf Timeout oder Ladeende
|
||||
' Await Task.WhenAny(loadTask, timeoutTask)
|
||||
|
||||
' If Not fileLoadedSuccessfully Then
|
||||
' NNLogger.Warn("Ladevorgang hat Timeout überschritten oder ist fehlgeschlagen.")
|
||||
' ' Optional: Viewer zurücksetzen oder Meldung anzeigen
|
||||
' Else
|
||||
' NNLogger.Info("Dokument erfolgreich geladen.")
|
||||
' End If
|
||||
DocumentViewer.LoadFile_FromPath(oPath)
|
||||
|
||||
Catch ex As Exception
|
||||
NNLogger.Error(ex)
|
||||
Finally
|
||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||
End Try
|
||||
End Sub
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
@@ -3750,14 +3764,4 @@ Public Class frmNodeNavigation
|
||||
MessageBox.Show("Unerwarteter Fehler beim Springen zum Filestore-Knoten: " & ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub FindNode_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles FindNode.ItemClick
|
||||
Dim oNode = TreeListDevexpress.FindNodeByFieldValue("GUID", BarEditItem1.EditValue)
|
||||
If Not IsNothing(oNode) Then
|
||||
TreeListDevexpress.FocusedNode = oNode
|
||||
TreeListDevexpress.MakeNodeVisible(oNode)
|
||||
Else
|
||||
MessageBox.Show("Knoten nicht gefunden!", "Knoten nicht gefunden", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
@@ -13,18 +13,23 @@ Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
CD_ROM|Any CPU = CD_ROM|Any CPU
|
||||
CD_ROM|Mixed Platforms = CD_ROM|Mixed Platforms
|
||||
CD_ROM|x64 = CD_ROM|x64
|
||||
CD_ROM|x86 = CD_ROM|x86
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|Mixed Platforms = Debug|Mixed Platforms
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
DVD-5|Any CPU = DVD-5|Any CPU
|
||||
DVD-5|Mixed Platforms = DVD-5|Mixed Platforms
|
||||
DVD-5|x64 = DVD-5|x64
|
||||
DVD-5|x86 = DVD-5|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|Mixed Platforms = Release|Mixed Platforms
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
SingleImage|Any CPU = SingleImage|Any CPU
|
||||
SingleImage|Mixed Platforms = SingleImage|Mixed Platforms
|
||||
SingleImage|x64 = SingleImage|x64
|
||||
SingleImage|x86 = SingleImage|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
@@ -32,78 +37,108 @@ Global
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|x64.ActiveCfg = Release|x64
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|x64.Build.0 = Release|x64
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|x86.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|x64.ActiveCfg = Release|x64
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|x64.Build.0 = Release|x64
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|x86.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|x64.ActiveCfg = Release|x64
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|x64.Build.0 = Release|x64
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|Any CPU.Build.0 = Release|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|x64.ActiveCfg = Release|x64
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|x64.Build.0 = Release|x64
|
||||
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|x86.ActiveCfg = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|x64.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|x64.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|x86.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|x64.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|x64.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|x86.ActiveCfg = Debug|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Any CPU.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|x64.ActiveCfg = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|x64.Build.0 = Release|Any CPU
|
||||
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|x86.ActiveCfg = Release|Any CPU
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|Any CPU.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|Any CPU.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|Mixed Platforms.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|x64.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|x64.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|x86.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|x86.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|x64.ActiveCfg = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|x64.Build.0 = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|x86.Build.0 = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|Any CPU.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|Any CPU.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|Mixed Platforms.Build.0 = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|x64.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|x64.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|x86.ActiveCfg = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|x86.Build.0 = Debug|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|x64.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|x64.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|x86.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|x86.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|Any CPU.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|Any CPU.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|Mixed Platforms.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x64.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x64.Build.0 = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x86.ActiveCfg = Release|x86
|
||||
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
|
||||
Reference in New Issue
Block a user