mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Prompt deletion of file or folder
This commit is contained in:
parent
bc8a1f6a8f
commit
832e849a3b
3 changed files with 29 additions and 9 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
@ -9,7 +9,10 @@ using Flow.Launcher.Plugin.SharedCommands;
|
||||||
using Flow.Launcher.Plugin.Explorer.Search;
|
using Flow.Launcher.Plugin.Explorer.Search;
|
||||||
using Flow.Launcher.Plugin.Explorer.Search.FolderLinks;
|
using Flow.Launcher.Plugin.Explorer.Search.FolderLinks;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using MessageBox = System.Windows.Forms.MessageBox;
|
||||||
|
using MessageBoxIcon = System.Windows.Forms.MessageBoxIcon;
|
||||||
|
using MessageBoxButton = System.Windows.Forms.MessageBoxButtons;
|
||||||
|
using DialogResult = System.Windows.Forms.DialogResult;
|
||||||
|
|
||||||
namespace Flow.Launcher.Plugin.Explorer
|
namespace Flow.Launcher.Plugin.Explorer
|
||||||
{
|
{
|
||||||
|
|
@ -101,10 +104,25 @@ namespace Flow.Launcher.Plugin.Explorer
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
if (MessageBox.Show(
|
||||||
|
string.Format(Context.API.GetTranslation("plugin_explorer_deletefilefolderconfirm"),fileOrFolder),
|
||||||
|
string.Empty,
|
||||||
|
MessageBoxButton.YesNo,
|
||||||
|
MessageBoxIcon.Warning)
|
||||||
|
== DialogResult.No)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (record.Type == ResultType.File)
|
if (record.Type == ResultType.File)
|
||||||
File.Delete(record.FullPath);
|
File.Delete(record.FullPath);
|
||||||
else
|
else
|
||||||
Directory.Delete(record.FullPath, true);
|
Directory.Delete(record.FullPath, true);
|
||||||
|
|
||||||
|
Task.Run(() =>
|
||||||
|
{
|
||||||
|
Context.API.ShowMsg(Context.API.GetTranslation("plugin_explorer_deletefilefoldersuccess"),
|
||||||
|
string.Format(Context.API.GetTranslation("plugin_explorer_deletefilefoldersuccess_detail"), fileOrFolder),
|
||||||
|
Constants.ExplorerIconImageFullPath);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
@ -212,15 +230,11 @@ namespace Flow.Launcher.Plugin.Explorer
|
||||||
if(!Settings.IndexSearchExcludedSubdirectoryPaths.Any(x => x.Path == record.FullPath))
|
if(!Settings.IndexSearchExcludedSubdirectoryPaths.Any(x => x.Path == record.FullPath))
|
||||||
Settings.IndexSearchExcludedSubdirectoryPaths.Add(new FolderLink { Path = record.FullPath });
|
Settings.IndexSearchExcludedSubdirectoryPaths.Add(new FolderLink { Path = record.FullPath });
|
||||||
|
|
||||||
var pluginDirectory = Directory.GetParent(Assembly.GetExecutingAssembly().Location.ToString());
|
|
||||||
|
|
||||||
var iconPath = pluginDirectory + "\\" + Constants.ExplorerIconImagePath;
|
|
||||||
|
|
||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
Context.API.ShowMsg(Context.API.GetTranslation("plugin_explorer_excludedfromindexsearch_msg"),
|
Context.API.ShowMsg(Context.API.GetTranslation("plugin_explorer_excludedfromindexsearch_msg"),
|
||||||
Context.API.GetTranslation("plugin_explorer_path") +
|
Context.API.GetTranslation("plugin_explorer_path") +
|
||||||
" " + record.FullPath, iconPath);
|
" " + record.FullPath, Constants.ExplorerIconImageFullPath);
|
||||||
|
|
||||||
// so the new path can be persisted to storage and not wait till next ViewModel save.
|
// so the new path can be persisted to storage and not wait till next ViewModel save.
|
||||||
Context.API.SaveAppAllSettings();
|
Context.API.SaveAppAllSettings();
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@
|
||||||
<!--Dialogues-->
|
<!--Dialogues-->
|
||||||
<system:String x:Key="plugin_explorer_select_folder_link_warning">Please select a folder link</system:String>
|
<system:String x:Key="plugin_explorer_select_folder_link_warning">Please select a folder link</system:String>
|
||||||
<system:String x:Key="plugin_explorer_delete_folder_link">Are you sure you want to delete {0}?</system:String>
|
<system:String x:Key="plugin_explorer_delete_folder_link">Are you sure you want to delete {0}?</system:String>
|
||||||
|
<system:String x:Key="plugin_explorer_deletefilefolderconfirm">Are you sure you want to permanently delete this {0}?</system:String>
|
||||||
|
<system:String x:Key="plugin_explorer_deletefilefoldersuccess">Deletion successful</system:String>
|
||||||
|
<system:String x:Key="plugin_explorer_deletefilefoldersuccess_detail">Successfully deleted the {0}</system:String>
|
||||||
|
|
||||||
<!--Controls-->
|
<!--Controls-->
|
||||||
<system:String x:Key="plugin_explorer_delete">Delete</system:String>
|
<system:String x:Key="plugin_explorer_delete">Delete</system:String>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Reflection;
|
||||||
|
|
||||||
namespace Flow.Launcher.Plugin.Explorer.Search
|
namespace Flow.Launcher.Plugin.Explorer.Search
|
||||||
{
|
{
|
||||||
|
|
@ -23,5 +23,8 @@ namespace Flow.Launcher.Plugin.Explorer.Search
|
||||||
internal const char DirectorySeperator = '\\';
|
internal const char DirectorySeperator = '\\';
|
||||||
|
|
||||||
internal const string WindowsIndexingOptions = "srchadmin.dll";
|
internal const string WindowsIndexingOptions = "srchadmin.dll";
|
||||||
|
|
||||||
|
internal static string ExplorerIconImageFullPath
|
||||||
|
=> Directory.GetParent(Assembly.GetExecutingAssembly().Location.ToString()) + "\\" + ExplorerIconImagePath;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue