diff --git a/BeWo/View/Detail/AI/AiPromptbausteinComplexSelectionView.xaml b/BeWo/View/Detail/AI/AiPromptbausteinComplexSelectionView.xaml index 45d1dd6f6..04d4b1abf 100644 --- a/BeWo/View/Detail/AI/AiPromptbausteinComplexSelectionView.xaml +++ b/BeWo/View/Detail/AI/AiPromptbausteinComplexSelectionView.xaml @@ -80,7 +80,8 @@ + VerticalAlignment="Stretch" + PreviewMouseDown="Grid_PreviewMouseDown_1"> diff --git a/BeWo/View/Detail/AI/AiPromptbausteinComplexSelectionView.xaml.cs b/BeWo/View/Detail/AI/AiPromptbausteinComplexSelectionView.xaml.cs index 018fa8cdf..4c749b7eb 100644 --- a/BeWo/View/Detail/AI/AiPromptbausteinComplexSelectionView.xaml.cs +++ b/BeWo/View/Detail/AI/AiPromptbausteinComplexSelectionView.xaml.cs @@ -42,25 +42,15 @@ namespace BeWo.View.Detail.AI ViewModel.SelectedFolder = treeView.SelectedValue as AiPromptbausteinFolderVM; } - static TreeViewItem VisualUpwardSearch(DependencyObject source) + private void Grid_PreviewMouseDown_1(object sender, MouseButtonEventArgs e) { - while (source != null && !(source is TreeViewItem)) - source = VisualTreeHelper.GetParent(source); - - return source as TreeViewItem; - } - - private void treeView_PreviewMouseDown(object sender, MouseButtonEventArgs e) - { - TreeViewItem treeViewItem = VisualUpwardSearch(e.OriginalSource as DependencyObject); - - if (treeViewItem is null) + if (!ViewModel.SendCommand.CanExecute(null)) return; if (e.ClickCount == 2) { - if (ViewModel.CanSend()) - ViewModel.Send(); + ViewModel.SendCommand.Execute(null); + e.Handled = true; } } diff --git a/BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml b/BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml index 04c40e651..3c916d1a0 100644 --- a/BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml +++ b/BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml @@ -215,7 +215,8 @@ + VerticalAlignment="Stretch" + PreviewMouseDown="Grid_PreviewMouseDown_1"> diff --git a/BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml.cs b/BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml.cs index 4dad5bd28..abdd2fc31 100644 --- a/BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml.cs +++ b/BeWo/View/Detail/AI/AiPromptbausteinComplexTreeView.xaml.cs @@ -155,5 +155,17 @@ namespace BeWo.View.Detail.AI Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); e.Handled = true; } + + private void Grid_PreviewMouseDown_1(object sender, MouseButtonEventArgs e) + { + if (!ViewModel.OpenEditPromptDialogCommand.CanExecute(null)) + return; + + if (e.ClickCount == 2) + { + ViewModel.OpenEditPromptDialogCommand.Execute(null); + e.Handled = true; + } + } } } diff --git a/Data/Access/SearchDAO.cs b/Data/Access/SearchDAO.cs index bf43f29f0..ee788cdd4 100644 --- a/Data/Access/SearchDAO.cs +++ b/Data/Access/SearchDAO.cs @@ -2843,6 +2843,11 @@ WHERE sc.Billable = 1 and sr.StartDate >= '{0:yyyy-MM-dd}' and sr.StartDate < '{ criteria.Add(Restrictions.IsNotNull(nameof(AiPromptbausteinPrompt.PromptId))); + if (aiActionType is AiActionType actionType) + { + criteria.Add(Restrictions.Eq(nameof(AiPromptbausteinPrompt.ActionType), actionType)); + } + return criteria.List(); } diff --git a/Service/Plugins/AiPromptbausteineService.cs b/Service/Plugins/AiPromptbausteineService.cs index 63228575b..d502fcc13 100644 --- a/Service/Plugins/AiPromptbausteineService.cs +++ b/Service/Plugins/AiPromptbausteineService.cs @@ -225,7 +225,7 @@ namespace BeWo.Service.Plugins { var client = new AiPromptsApiClient(); var response = client.GetAiPrompts(); - return response.ToList(); + return response?.ToList() ?? new List(); } } }