Favoriten setzen per ContextMenu
This commit is contained in:
@@ -43,6 +43,7 @@ namespace BeWo.ViewModel.View.Administration
|
||||
public DelegateCommand CopyPromptCommand { get; private set; }
|
||||
public DelegateCommand PastePromptCommand { get; private set; }
|
||||
public DelegateCommand DeletePromptCommand { get; private set; }
|
||||
public DelegateCommand ChangeFavoritenStatePromptCommand { get; private set; }
|
||||
|
||||
public bool IsEditingMode { get; set; }
|
||||
|
||||
@@ -78,6 +79,7 @@ namespace BeWo.ViewModel.View.Administration
|
||||
CopyPromptCommand = new DelegateCommand(CopyPrompt, canCopyPrompt, false);
|
||||
PastePromptCommand = new DelegateCommand(PastePrompt, canPastePrompt, false);
|
||||
DeletePromptCommand = new DelegateCommand(OpenDeletePromptDialog, canOpenDeletePromptDialog, false);
|
||||
ChangeFavoritenStatePromptCommand = new DelegateCommand(ChangeFavoritenStatePrompt, canChangeFavoritenStatePrompt, false);
|
||||
|
||||
IsEditingMode = true;
|
||||
}
|
||||
@@ -368,23 +370,32 @@ namespace BeWo.ViewModel.View.Administration
|
||||
var edit_dc = edit_vm.CommitToDataContract();
|
||||
sel_prompt.UpdateByDataContract(edit_dc);
|
||||
|
||||
if (sel_prompt.IsFavorite && !Favoriten.SubPrompts.VMList.Contains(sel_prompt))
|
||||
Favoriten.SubPrompts.VMList.Add(sel_prompt);
|
||||
else if (!sel_prompt.IsFavorite && Favoriten.SubPrompts.VMList.Contains(sel_prompt))
|
||||
{
|
||||
Favoriten.SubPrompts.VMList.Remove(sel_prompt);
|
||||
|
||||
if(Favoriten.SubPrompts.Count == 0)
|
||||
{
|
||||
var selected_folder = SelectedFolder;
|
||||
SelectedFolder = null;
|
||||
SelectedFolder = selected_folder;
|
||||
}
|
||||
}
|
||||
UpdateSelectedPromptFavorite(sel_prompt);
|
||||
};
|
||||
|
||||
WindowService.Show(vm);
|
||||
}
|
||||
|
||||
private void UpdateSelectedPromptFavorite(AiPromptbausteinPromptVM sel_prompt = null)
|
||||
{
|
||||
if (sel_prompt is null)
|
||||
sel_prompt = SelectedPrompt;
|
||||
|
||||
if (sel_prompt.IsFavorite && !Favoriten.SubPrompts.VMList.Contains(sel_prompt))
|
||||
Favoriten.SubPrompts.VMList.Add(sel_prompt);
|
||||
else if (!sel_prompt.IsFavorite && Favoriten.SubPrompts.VMList.Contains(sel_prompt))
|
||||
{
|
||||
Favoriten.SubPrompts.VMList.Remove(sel_prompt);
|
||||
|
||||
if (Favoriten.SubPrompts.Count == 0)
|
||||
{
|
||||
var selected_folder = SelectedFolder;
|
||||
SelectedFolder = null;
|
||||
SelectedFolder = selected_folder;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CopyPrompt()
|
||||
{
|
||||
CopiedPrompt = SelectedPrompt;
|
||||
@@ -415,6 +426,15 @@ namespace BeWo.ViewModel.View.Administration
|
||||
folder.SubPrompts.VMList.Remove(SelectedPrompt);
|
||||
}
|
||||
|
||||
void ChangeFavoritenStatePrompt()
|
||||
{
|
||||
var sel_prompt = SelectedPrompt;
|
||||
|
||||
sel_prompt.IsFavorite = !sel_prompt.IsFavorite;
|
||||
|
||||
UpdateSelectedPromptFavorite(sel_prompt);
|
||||
}
|
||||
|
||||
bool canOpenAddPromptDialog()
|
||||
{
|
||||
return SelectedFolder?.CanAddPrompt ?? false;
|
||||
@@ -435,5 +455,10 @@ namespace BeWo.ViewModel.View.Administration
|
||||
{
|
||||
return SelectedPrompt?.CanEdit ?? false;
|
||||
}
|
||||
|
||||
bool canChangeFavoritenStatePrompt()
|
||||
{
|
||||
return SelectedPrompt is object;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user