diff --git a/app/DD_Clipboard_Searcher/ClassConstants.vb b/app/DD_Clipboard_Searcher/ClassConstants.vb new file mode 100644 index 0000000..b8462d3 --- /dev/null +++ b/app/DD_Clipboard_Searcher/ClassConstants.vb @@ -0,0 +1,7 @@ +Public Class ClassConstants + Public Const NO_COUNT_SQL As Integer = 99998 + Public Const INVALID_COUNT_SQL As Integer = 99999 + + Public Const HOTKEY_TOGGLE_WATCHER As Integer = 354522017 + Public Const HOTKEY_TRIGGER_WATCHER As Integer = 354523017 +End Class diff --git a/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj index c270d24..383c65a 100644 --- a/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj +++ b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj @@ -117,6 +117,7 @@ + diff --git a/app/DD_Clipboard_Searcher/frmConfig_Basic.vb b/app/DD_Clipboard_Searcher/frmConfig_Basic.vb index 22a9f02..4d12c93 100644 --- a/app/DD_Clipboard_Searcher/frmConfig_Basic.vb +++ b/app/DD_Clipboard_Searcher/frmConfig_Basic.vb @@ -208,7 +208,7 @@ Public Class frmConfig_Basic Private Sub btnChangeHotkey_Click(sender As Object, e As EventArgs) Handles btnChangeHotkey.Click Try If cmbfunctionHit.SelectedIndex <> -1 Then - Hotkey.RemoveHotKey(354523017) + Hotkey.RemoveHotKey(ClassConstants.HOTKEY_TRIGGER_WATCHER) 'SaveConfigValue("HotkeyFunctionKey", cmbfunctionHit.Text) 'SaveConfigValue("HotkeySearchKey", txtHotkeySearchKey.Text) @@ -221,9 +221,9 @@ Public Class frmConfig_Basic Dim obj As Object = kc.ConvertFromString(txtHotkeySearchKey.Text.ToUpper) keyCode = CType(obj, Keys) If cmbfunctionHit.Text = "strg" Then - Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, 354523017) + Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, ClassConstants.HOTKEY_TRIGGER_WATCHER) ElseIf cmbfunctionHit.Text = "SHIFT" Then - Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, 354523017) + Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, ClassConstants.HOTKEY_TRIGGER_WATCHER) End If lblChanges.Text = "Hotkey changed - " & Now.ToString & " - Restart required" lblChanges.Visible = True diff --git a/app/DD_Clipboard_Searcher/frmResultSQL.vb b/app/DD_Clipboard_Searcher/frmResultSQL.vb index 583484d..41ee327 100644 --- a/app/DD_Clipboard_Searcher/frmResultSQL.vb +++ b/app/DD_Clipboard_Searcher/frmResultSQL.vb @@ -20,7 +20,7 @@ Public Class frmResultSQL Public ProfileId As Integer End Class - Private Sub frmResultDoc_Load(sender As Object, e As EventArgs) Handles Me.Load + Private Async Sub frmResultDoc_Load(sender As Object, e As EventArgs) Handles Me.Load If Not ConfigManager.Config.ResultDataWindowSize.IsEmpty Then Size = ConfigManager.Config.ResultDataWindowSize End If @@ -29,7 +29,17 @@ Public Class frmResultSQL Location = ConfigManager.Config.ResultDataWindowLocation End If - Load_Searches() + 'Load_Searches() + + GridViewDataSearch1.ShowLoadingPanel() + + Dim oSearches = Await LoadSearchesAsync() + + For Each oSearch In oSearches + RefreshTabData(oSearch.ProfileId, oSearch.DataTable, oSearch.TabIndex, oSearch.TabCaption) + Next + + GridViewDataSearch1.HideLoadingPanel() End Sub Private Sub frmResultSQL_Shown(sender As Object, e As EventArgs) Handles Me.Shown @@ -47,9 +57,8 @@ Public Class frmResultSQL End Try End Sub - Sub RefreshTabData(PROFILE_ID As Integer, ConID As Integer, SQLCommand As String, TabIndex As Integer, TabCaption As String) + Sub RefreshTabData(PROFILE_ID As Integer, DataTable As DataTable, TabIndex As Integer, TabCaption As String) Try - SQLCommand = clsPatterns.ReplaceAllValues(SQLCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, PROFILE_ID) Dim myGridControl As GridControl Dim myGridview As GridView Select Case TabIndex @@ -80,11 +89,10 @@ Public Class frmResultSQL myGridview = GridViewDataSearch5 End Select myGridControl.ContextMenuStrip = ContextMenuStripWMFile - Dim oDatatable As DataTable = clsDatabase.Return_Datatable(SQLCommand) - If Not IsNothing(oDatatable) Then - XtraTabControlData.TabPages(TabIndex).Text = $"{TabCaption} ({oDatatable.Rows.Count})" - clsWMDocGrid.DTDocuments = oDatatable - myGridControl.DataSource = oDatatable + If Not IsNothing(DataTable) Then + XtraTabControlData.TabPages(TabIndex).Text = $"{TabCaption} ({DataTable.Rows.Count})" + clsWMDocGrid.DTDocuments = DataTable + myGridControl.DataSource = DataTable myGridControl.ForceInitialize() Dim oxmlPath As String = "" oxmlPath = Get_Grid_Layout_Filename(XtraTabControlData.SelectedTabPageIndex) @@ -137,26 +145,49 @@ Public Class frmResultSQL Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({CurrDataSearch2Load}) ORDER BY TAB_INDEX" Dim oSearchesDataTable = clsDatabase.Return_Datatable(oSQL) + Dim oSearches As New List(Of SQLSearch) + Dim oCounter As Integer = 0 + DTDataSearchDefinition = oSearchesDataTable + + For Each oRow As DataRow In oSearchesDataTable.Rows + Dim oProfileId As Integer = oRow.Item("PROFILE_ID") + Dim oTabTitle As String = oRow.Item("TAB_TITLE") + + oSQL = oRow.Item("SQL_COMMAND") + oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileId) + + Dim oDatatable As DataTable = clsDatabase.Return_Datatable(oSQL) + oSearches.Add(New SQLSearch() With { + .DataTable = oDatatable, + .ProfileId = oProfileId, + .TabCaption = oTabTitle, + .TabIndex = oCounter + }) + + oCounter += 1 + Next + + Return oSearches End Function - Sub Load_Searches() - If Not IsNothing(CurrDataSearch2Load) Then - Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({CurrDataSearch2Load}) ORDER BY TAB_INDEX" - DTDataSearchDefinition = clsDatabase.Return_Datatable(oSQL) - Dim ocounter As Integer = 0 - If CurrDataSearch2Load.ToString.Contains(",") Then + 'Sub Load_Searches() + ' If Not IsNothing(CurrDataSearch2Load) Then + ' Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({CurrDataSearch2Load}) ORDER BY TAB_INDEX" + ' DTDataSearchDefinition = clsDatabase.Return_Datatable(oSQL) + ' Dim ocounter As Integer = 0 + ' If CurrDataSearch2Load.ToString.Contains(",") Then - End If - For Each oRow As DataRow In DTDataSearchDefinition.Rows - RefreshTabData(oRow.Item("PROFILE_ID"), oRow.Item("CONN_ID"), oRow.Item("SQL_COMMAND"), ocounter, oRow.Item("TAB_TITLE")) - ocounter += 1 - Next - Else - MsgBox("Sorry but the selection of profile went wrong. (CurrSearch2Load is nothing)", MsgBoxStyle.Critical) - Close() - End If - End Sub + ' End If + ' For Each oRow As DataRow In DTDataSearchDefinition.Rows + ' RefreshTabData(oRow.Item("PROFILE_ID"), oRow.Item("CONN_ID"), oRow.Item("SQL_COMMAND"), ocounter, oRow.Item("TAB_TITLE")) + ' ocounter += 1 + ' Next + ' Else + ' MsgBox("Sorry but the selection of profile went wrong. (CurrSearch2Load is nothing)", MsgBoxStyle.Critical) + ' Close() + ' End If + 'End Sub Private Sub MenuItemReload_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click Reload_Active_DocumentTab() @@ -180,22 +211,31 @@ Public Class frmResultSQL End Try End Sub Sub Reload_Active_DocumentTab() + If IsNothing(DTDataSearchDefinition) Then Exit Sub + Dim oTabIndex = XtraTabControlData.SelectedTabPageIndex + Dim oTabTitle = DTDataSearchDefinition.Rows(oTabIndex).Item("TAB_TITLE") Dim oConID = DTDataSearchDefinition.Rows(oTabIndex).Item("CONN_ID") Dim oCommand = DTDataSearchDefinition.Rows(oTabIndex).Item("SQL_COMMAND") Dim oProfID = DTDataSearchDefinition.Rows(oTabIndex).Item("PROFILE_ID") + Dim oDatatable As DataTable + oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfID) - RefreshTabData(oProfID, oConID, oCommand, oTabIndex, DTDataSearchDefinition.Rows(oTabIndex).Item("TAB_TITLE")) + oDatatable = clsDatabase.Return_Datatable(oCommand) + + + RefreshTabData(oProfID, oDatatable, oTabIndex, oTabTitle) End Sub Private Sub XtraTabControlDocs_SelectedPageChanged(sender As Object, e As TabPageChangedEventArgs) Handles XtraTabControlData.SelectedPageChanged - If IsNothing(DTDataSearchDefinition) Then Exit Sub - Dim oConID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("CONN_ID") - Dim oCommand = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("SQL_COMMAND") - Dim oProfileID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("PROFILE_ID") - oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileID) - Dim oTabIndex = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_INDEX") - Dim oTabCaption = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_TITLE") - RefreshTabData(oProfileID, oConID, oCommand, oTabIndex, oTabCaption) + 'If IsNothing(DTDataSearchDefinition) Then Exit Sub + 'Dim oConID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("CONN_ID") + 'Dim oCommand = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("SQL_COMMAND") + 'Dim oProfileID = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("PROFILE_ID") + 'oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileID) + 'Dim oTabIndex = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_INDEX") + 'Dim oTabCaption = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_TITLE") + 'RefreshTabData(oProfileID, oConID, oCommand, oTabIndex, oTabCaption) + Reload_Active_DocumentTab() End Sub -End Class \ No newline at end of file +End Class diff --git a/app/DD_Clipboard_Searcher/frmStart.vb b/app/DD_Clipboard_Searcher/frmStart.vb index 20a7c1e..a1d4ff0 100644 --- a/app/DD_Clipboard_Searcher/frmStart.vb +++ b/app/DD_Clipboard_Searcher/frmStart.vb @@ -210,12 +210,12 @@ Public Class frmStart End Try Try - Hotkey.RemoveHotKey(354522017) + Hotkey.RemoveHotKey(ClassConstants.HOTKEY_TOGGLE_WATCHER) Catch ex As Exception End Try Try - Hotkey.RemoveHotKey(354523017) + Hotkey.RemoveHotKey(ClassConstants.HOTKEY_TRIGGER_WATCHER) Catch ex As Exception End Try @@ -251,15 +251,15 @@ Public Class frmStart End If Me.NotifyIconMain.Visible = True clsHotkey.Refresh_Profile_Links() - Hotkey.AddHotKey(Keys.T, clsHotkey.MODKEY.MOD_CONTROL, 354522017) + Hotkey.AddHotKey(Keys.T, clsHotkey.MODKEY.MOD_CONTROL, ClassConstants.HOTKEY_TOGGLE_WATCHER) Dim keyCode As Keys Dim kc As New KeysConverter Dim obj As Object = kc.ConvertFromString(HotkeySearchKey.ToUpper) keyCode = CType(obj, Keys) If HotkeyFunctionKey = "strg" Then - Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, 354523017) + Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, ClassConstants.HOTKEY_TRIGGER_WATCHER) ElseIf HotkeyFunctionKey = "SHIFT" Then - Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, 354523017) + Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, ClassConstants.HOTKEY_TRIGGER_WATCHER) End If End If @@ -267,11 +267,11 @@ Public Class frmStart lbHKFunction.Text = HotkeyFunctionKey & " + " & HotkeySearchKey.ToUpper End Sub Private Sub ReceiveHotKey(ByVal HotKeyID As String) Handles Hotkey.HotKeyPressed - If HotKeyID = 354523017 Then + If HotKeyID = ClassConstants.HOTKEY_TRIGGER_WATCHER Then If CURRENT_MATCHING_PROFILES.Count > 0 And MONITORING_ACTIVE = True Then CHECK_PROFILE_MATCH() End If - ElseIf HotKeyID = 354522017 Then + ElseIf HotKeyID = ClassConstants.HOTKEY_TOGGLE_WATCHER Then Change_Monitoring_State() End If @@ -284,28 +284,26 @@ Public Class frmStart Dim oResultDocs As Integer = 0 If oSQL = String.Empty Then - oProfile.CountSQL = 99998 + oProfile.CountSQL = ClassConstants.NO_COUNT_SQL End If Try oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid) oResultDocs = ClassDatabase.Execute_Scalar(oSQL, MyConnectionString) Catch ex As Exception - oResultDocs = 99999 + oResultDocs = ClassConstants.INVALID_COUNT_SQL End Try - If (oResultDocs <> 99998 And oResultDocs <> 99998 And oResultDocs <> 0) Then - oProfile.Count = oResultDocs - End If + oProfile.Count = oResultDocs Next If oProfiles.Count = 1 Then - If oProfiles.First().Count = 99999 Then + If oProfiles.First().Count = ClassConstants.INVALID_COUNT_SQL Then NotifyIconMain.ShowBalloonTip(20000, "Clipboard Watcher", "Found match but check is wrong - Check Your MatchCountConfig in Profiles!", ToolTipIcon.Info) Exit Sub End If - If oProfiles.First().Count = 99998 Then + If oProfiles.First().Count = ClassConstants.NO_COUNT_SQL Then NotifyIconMain.ShowBalloonTip(10000, "Clipboard Watcher", "Found match but MatchCountConfig is not configured!", ToolTipIcon.Info) Exit Sub End If @@ -381,19 +379,6 @@ Public Class frmStart NotifyIconMain.ShowBalloonTip(30000, "Clipboard Watcher", "Clipboard-Watcher wurde wieder aktiviert!", ToolTipIcon.Info) End If End Sub - 'Private Sub Timer1_Tick(sender As Object, e As EventArgs) - ' clsWINDOWSApi.Get_ForegroundWindow_Info() - ' If PID <> PROC_PID Then - ' PID = PROC_PID - ' With Me.TextBox1 - ' .AppendText(String.Concat("Process-ID:" & PROC_PID, vbNewLine)) - ' .AppendText(String.Concat("Process-Name:" & PROC_Name, vbNewLine)) - ' .AppendText("Window-Title: " & PROC_WindowTitle) - ' .AppendText(String.Concat("", vbNewLine)) - ' End With - ' End If - - 'End Sub Private Sub btnAdminConfig_Click(sender As Object, e As EventArgs) Handles btnAdminConfig.Click TimerClose.Stop() @@ -404,18 +389,17 @@ Public Class frmStart End Sub Private Sub TimerClose_Tick(sender As Object, e As EventArgs) Handles TimerClose.Tick - Me.Hide() + Hide() End Sub Private Sub frmMain_VisibleChanged(sender As Object, e As EventArgs) Handles Me.VisibleChanged If TimerClose.Enabled = True Then TimerClose.Stop() End If - End Sub Private Sub MinimierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MinimierenToolStripMenuItem.Click - Me.Hide() + Hide() End Sub Private Sub ClientÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClientÖffnenToolStripMenuItem.Click