diff --git a/BeWo/View/Controls/AI/AiConversationButton.xaml.cs b/BeWo/View/Controls/AI/AiConversationButton.xaml.cs index f23f94cc1..7bb55db75 100644 --- a/BeWo/View/Controls/AI/AiConversationButton.xaml.cs +++ b/BeWo/View/Controls/AI/AiConversationButton.xaml.cs @@ -189,6 +189,8 @@ namespace BeWo.View.Controls.AI view2.Background = FindResource("ObjectEditBackgroundBrush") as System.Windows.Media.Brush; border_promptbaustein_favoriten.Child = view2; + viewmodel.VMListReloaded += (s, e) => viewmodel2.ReloadVMList(false); + AiPromptOpenAllCommand = new DelegateCommand(AiPromptOpenAll); AiPromptOpenFavoriteCommand = new DelegateCommand(AiPromptOpenFavorite); }); diff --git a/BeWo/View/Controls/AI/AiPromptbausteinButton.xaml.cs b/BeWo/View/Controls/AI/AiPromptbausteinButton.xaml.cs index 4ea3ce154..c6ff29a85 100644 --- a/BeWo/View/Controls/AI/AiPromptbausteinButton.xaml.cs +++ b/BeWo/View/Controls/AI/AiPromptbausteinButton.xaml.cs @@ -4,6 +4,7 @@ using BeWo.ViewModel; using BeWo.ViewModel.View.AI; using BS.Shared; using BS.Shared.DataContracts.Feature.AI; +using DevExpress.Mvvm; using DevExpress.Utils.Mdi; using System; using System.Collections.Generic; @@ -127,6 +128,8 @@ namespace BeWo.View.Controls.AI view2.Background = FindResource("ObjectEditBackgroundBrush") as System.Windows.Media.Brush; border_promptbaustein_favoriten.Child = view2; State = AiPromptbausteinButtonState.Normal; + + viewmodel.VMListReloaded += (s, e) => viewmodel2.ReloadVMList(false); }); } private void UpdateState(AiPromptbausteinButtonState state) diff --git a/BeWo/ViewModel/View/AI/AiPromptbausteinComplexSelectionViewModel.cs b/BeWo/ViewModel/View/AI/AiPromptbausteinComplexSelectionViewModel.cs index 6e334fc2e..5b07d9735 100644 --- a/BeWo/ViewModel/View/AI/AiPromptbausteinComplexSelectionViewModel.cs +++ b/BeWo/ViewModel/View/AI/AiPromptbausteinComplexSelectionViewModel.cs @@ -23,6 +23,7 @@ namespace BeWo.ViewModel.View.AI public class AiPromptbausteinSelectionComplexViewModel : DialogViewModel { public event EventHandler PromptAccepted; + public event EventHandler VMListReloaded; private AiPromptbausteinFolderVM _SelectedFolder; private AiPromptbausteinPromptVM _SelectedPrompt; @@ -139,10 +140,10 @@ namespace BeWo.ViewModel.View.AI public void ResetSelection() { - if (!IsFavorite) - SelectedFolder = null; + SelectedFolder = null; - SelectedPrompt = null; + if (IsFavorite) + SelectedFolder = Folders.VMList[0]; } public void Send() { @@ -163,16 +164,28 @@ namespace BeWo.ViewModel.View.AI VMFactory.CreateAiPromptbausteinFolderListVMAsync(AiActionType, UpdateVMList); } - public void ReloadVMList() + public void ReloadVMList(bool notify = true) { VMFactory.CreateAiPromptbausteinFolderListVMAsync(AiActionType, UpdateVMList); + + if(notify) + VMListReloaded?.Invoke(this, EventArgs.Empty); } private void UpdateVMList(AiPromptbausteinFolderListVM new_list) { Folders = new_list; - if (Folders.VMList.Count > 0 && Folders.VMList[0].DataContract.Oid == -5) - Favoriten = Folders.VMList[0]; + FirePropertyChanged(nameof(Folders)); + + if (Folders.VMList.Count > 0 && Folders.VMList[0].DataContract.Oid == -5) + { + Favoriten = Folders.VMList[0]; + + if (IsFavorite) + SelectedFolder = Favoriten; + } + + FirePropertyChanged(nameof(HasFavoriten)); } public void UpdateFolderCommands()