mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 05:16:29 +00:00
add media removal
This commit is contained in:
@@ -177,6 +177,7 @@
|
||||
<ListView.ContextMenu>
|
||||
<ContextMenu Name="LvFilesContextMenu">
|
||||
<MenuItem Header="Відкрити папку..." Click="OpenContainingFolder" Background="WhiteSmoke" />
|
||||
<MenuItem Header="Видалити..." Click="DeleteMedia" Background="WhiteSmoke" />
|
||||
</ContextMenu>
|
||||
</ListView.ContextMenu>
|
||||
<ListView.View>
|
||||
|
||||
@@ -549,6 +549,28 @@ public partial class Annotator
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void DeleteMedia(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var mediaFileInfo = (sender as MenuItem)?.DataContext as MediaFileInfo;
|
||||
if (mediaFileInfo == null)
|
||||
return;
|
||||
DeleteMedia(mediaFileInfo);
|
||||
}
|
||||
|
||||
public void DeleteMedia(MediaFileInfo mediaFileInfo)
|
||||
{
|
||||
var obj = mediaFileInfo.MediaType == MediaTypes.Image
|
||||
? "цю картинку "
|
||||
: "це відео ";
|
||||
var result = MessageBox.Show($"Видалити {obj}?",
|
||||
"Підтвердження видалення", MessageBoxButton.YesNo, MessageBoxImage.Warning);
|
||||
if (result != MessageBoxResult.Yes)
|
||||
return;
|
||||
|
||||
File.Delete(mediaFileInfo.Path);
|
||||
AllMediaFiles.Remove(mediaFileInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public class GradientStyleSelector : StyleSelector
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.IO;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
@@ -174,8 +175,15 @@ public class AnnotatorEventHandler(
|
||||
await SaveAnnotation(cancellationToken);
|
||||
break;
|
||||
case PlaybackControlEnum.RemoveSelectedAnns:
|
||||
|
||||
mainWindow.Editor.RemoveSelectedAnns();
|
||||
var focusedElement = FocusManager.GetFocusedElement(mainWindow);
|
||||
if (focusedElement is ListViewItem item)
|
||||
{
|
||||
if (item.DataContext is not MediaFileInfo mediaFileInfo)
|
||||
return;
|
||||
mainWindow.DeleteMedia(mediaFileInfo);
|
||||
}
|
||||
else
|
||||
mainWindow.Editor.RemoveSelectedAnns();
|
||||
break;
|
||||
case PlaybackControlEnum.RemoveAllAnns:
|
||||
mainWindow.Editor.RemoveAllAnns();
|
||||
|
||||
Reference in New Issue
Block a user