mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 08:36:29 +00:00
add media removal
This commit is contained in:
@@ -177,6 +177,7 @@
|
|||||||
<ListView.ContextMenu>
|
<ListView.ContextMenu>
|
||||||
<ContextMenu Name="LvFilesContextMenu">
|
<ContextMenu Name="LvFilesContextMenu">
|
||||||
<MenuItem Header="Відкрити папку..." Click="OpenContainingFolder" Background="WhiteSmoke" />
|
<MenuItem Header="Відкрити папку..." Click="OpenContainingFolder" Background="WhiteSmoke" />
|
||||||
|
<MenuItem Header="Видалити..." Click="DeleteMedia" Background="WhiteSmoke" />
|
||||||
</ContextMenu>
|
</ContextMenu>
|
||||||
</ListView.ContextMenu>
|
</ListView.ContextMenu>
|
||||||
<ListView.View>
|
<ListView.View>
|
||||||
|
|||||||
@@ -549,6 +549,28 @@ public partial class Annotator
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#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
|
public class GradientStyleSelector : StyleSelector
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
@@ -174,8 +175,15 @@ public class AnnotatorEventHandler(
|
|||||||
await SaveAnnotation(cancellationToken);
|
await SaveAnnotation(cancellationToken);
|
||||||
break;
|
break;
|
||||||
case PlaybackControlEnum.RemoveSelectedAnns:
|
case PlaybackControlEnum.RemoveSelectedAnns:
|
||||||
|
var focusedElement = FocusManager.GetFocusedElement(mainWindow);
|
||||||
mainWindow.Editor.RemoveSelectedAnns();
|
if (focusedElement is ListViewItem item)
|
||||||
|
{
|
||||||
|
if (item.DataContext is not MediaFileInfo mediaFileInfo)
|
||||||
|
return;
|
||||||
|
mainWindow.DeleteMedia(mediaFileInfo);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
mainWindow.Editor.RemoveSelectedAnns();
|
||||||
break;
|
break;
|
||||||
case PlaybackControlEnum.RemoveAllAnns:
|
case PlaybackControlEnum.RemoveAllAnns:
|
||||||
mainWindow.Editor.RemoveAllAnns();
|
mainWindow.Editor.RemoveAllAnns();
|
||||||
|
|||||||
Reference in New Issue
Block a user