mirror of
https://github.com/cyanfish/naps2.git
synced 2024-09-21 04:37:47 +03:00
Make OverwritePrompt an interface
This commit is contained in:
parent
1ecc208956
commit
c4154d3897
@ -15,12 +15,12 @@ public class AutoSaver
|
||||
private readonly OperationProgress _operationProgress;
|
||||
private readonly ISaveNotify _notify;
|
||||
private readonly PdfExporter _pdfExporter;
|
||||
private readonly OverwritePrompt _overwritePrompt;
|
||||
private readonly IOverwritePrompt _overwritePrompt;
|
||||
private readonly ScopedConfig _config;
|
||||
private readonly TiffHelper _tiffHelper;
|
||||
private readonly ImageContext _imageContext;
|
||||
|
||||
public AutoSaver(IConfigProvider<PdfSettings> pdfSettingsProvider, IConfigProvider<ImageSettings> imageSettingsProvider, ErrorOutput errorOutput, DialogHelper dialogHelper, OperationProgress operationProgress, ISaveNotify notify, PdfExporter pdfExporter, OverwritePrompt overwritePrompt, ScopedConfig config, TiffHelper tiffHelper, ImageContext imageContext)
|
||||
public AutoSaver(IConfigProvider<PdfSettings> pdfSettingsProvider, IConfigProvider<ImageSettings> imageSettingsProvider, ErrorOutput errorOutput, DialogHelper dialogHelper, OperationProgress operationProgress, ISaveNotify notify, PdfExporter pdfExporter, IOverwritePrompt overwritePrompt, ScopedConfig config, TiffHelper tiffHelper, ImageContext imageContext)
|
||||
{
|
||||
_pdfSettingsProvider = pdfSettingsProvider;
|
||||
_imageSettingsProvider = imageSettingsProvider;
|
||||
|
@ -10,10 +10,10 @@ namespace NAPS2.ImportExport.Images;
|
||||
public class SaveImagesOperation : OperationBase
|
||||
{
|
||||
private readonly ImageContext _imageContext;
|
||||
private readonly OverwritePrompt _overwritePrompt;
|
||||
private readonly IOverwritePrompt _overwritePrompt;
|
||||
private readonly TiffHelper _tiffHelper;
|
||||
|
||||
public SaveImagesOperation(ImageContext imageContext, OverwritePrompt overwritePrompt, TiffHelper tiffHelper)
|
||||
public SaveImagesOperation(ImageContext imageContext, IOverwritePrompt overwritePrompt, TiffHelper tiffHelper)
|
||||
{
|
||||
_imageContext = imageContext;
|
||||
_overwritePrompt = overwritePrompt;
|
||||
|
@ -7,10 +7,10 @@ namespace NAPS2.ImportExport.Pdf;
|
||||
public class SavePdfOperation : OperationBase
|
||||
{
|
||||
private readonly PdfExporter _pdfExporter;
|
||||
private readonly OverwritePrompt _overwritePrompt;
|
||||
private readonly IOverwritePrompt _overwritePrompt;
|
||||
private readonly IEmailProviderFactory? _emailProviderFactory;
|
||||
|
||||
public SavePdfOperation(PdfExporter pdfExporter, OverwritePrompt overwritePrompt,
|
||||
public SavePdfOperation(PdfExporter pdfExporter, IOverwritePrompt overwritePrompt,
|
||||
IEmailProviderFactory? emailProviderFactory = null)
|
||||
{
|
||||
_pdfExporter = pdfExporter;
|
||||
|
@ -3,7 +3,7 @@ using NAPS2.Lang.ConsoleResources;
|
||||
|
||||
namespace NAPS2.Automation;
|
||||
|
||||
public class ConsoleOverwritePrompt : OverwritePrompt
|
||||
public class ConsoleOverwritePrompt : IOverwritePrompt
|
||||
{
|
||||
public static bool ForceOverwrite { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ public class ConsoleOverwritePrompt : OverwritePrompt
|
||||
_errorOutput = errorOutput;
|
||||
}
|
||||
|
||||
public override OverwriteResponse ConfirmOverwrite(string path)
|
||||
public OverwriteResponse ConfirmOverwrite(string path)
|
||||
{
|
||||
if (ForceOverwrite)
|
||||
{
|
||||
|
@ -13,7 +13,7 @@ public class ConsoleModule : NinjectModule
|
||||
{
|
||||
Bind<IPdfPasswordProvider>().To<ConsolePdfPasswordProvider>();
|
||||
Bind<ErrorOutput>().To<ConsoleErrorOutput>();
|
||||
Bind<OverwritePrompt>().To<ConsoleOverwritePrompt>();
|
||||
Bind<IOverwritePrompt>().To<ConsoleOverwritePrompt>();
|
||||
Bind<OperationProgress>().To<ConsoleOperationProgress>();
|
||||
Bind<IComponentInstallPrompt>().To<ConsoleComponentInstallPrompt>();
|
||||
Bind<DialogHelper>().To<WinFormsDialogHelper>(); // TODO: We don't really want this, but it is an explicit option, so it's okay for now...
|
||||
|
@ -18,7 +18,7 @@ public class WinFormsModule : NinjectModule
|
||||
Bind<IBatchScanPerformer>().To<BatchScanPerformer>();
|
||||
Bind<IPdfPasswordProvider>().To<WinFormsPdfPasswordProvider>();
|
||||
Bind<ErrorOutput>().To<MessageBoxErrorOutput>();
|
||||
Bind<OverwritePrompt>().To<WinFormsOverwritePrompt>();
|
||||
Bind<IOverwritePrompt>().To<WinFormsOverwritePrompt>();
|
||||
Bind<OperationProgress>().To<WinFormsOperationProgress>().InSingletonScope();
|
||||
Bind<IComponentInstallPrompt>().To<WinFormsComponentInstallPrompt>();
|
||||
Bind<DialogHelper>().To<WinFormsDialogHelper>();
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
namespace NAPS2.WinForms;
|
||||
|
||||
public class WinFormsOverwritePrompt : OverwritePrompt
|
||||
public class WinFormsOverwritePrompt : IOverwritePrompt
|
||||
{
|
||||
public override OverwriteResponse ConfirmOverwrite(string path)
|
||||
public OverwriteResponse ConfirmOverwrite(string path)
|
||||
{
|
||||
string fileName = Path.GetFileName(path);
|
||||
var dialogResult = MessageBox.Show(string.Format(MiscResources.ConfirmOverwriteFile, fileName),
|
||||
|
@ -1,13 +1,12 @@
|
||||
namespace NAPS2.Util;
|
||||
|
||||
// TODO: Make an interface
|
||||
// TODO: Refactor to Eto and move to NAPS2.EtoForms (or something non-eto and non-winforms if I want operations in the Sdk...)
|
||||
/// <summary>
|
||||
/// A base class for objects that can prompt the user to overwrite an existing file.
|
||||
///
|
||||
/// Implementors: WinFormsOverwritePrompt, ConsoleOverwritePrompt
|
||||
/// </summary>
|
||||
public abstract class OverwritePrompt
|
||||
public interface IOverwritePrompt
|
||||
{
|
||||
/// <summary>
|
||||
/// Asks the user if they would like to overwrite the specified file.
|
||||
@ -16,5 +15,5 @@ public abstract class OverwritePrompt
|
||||
/// </summary>
|
||||
/// <param name="path">The path of the file to overwrite.</param>
|
||||
/// <returns>Yes, No, or Cancel.</returns>
|
||||
public abstract OverwriteResponse ConfirmOverwrite(string path);
|
||||
public OverwriteResponse ConfirmOverwrite(string path);
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
namespace NAPS2.Util;
|
||||
|
||||
public class StubOverwritePrompt : OverwritePrompt
|
||||
public class StubOverwritePrompt : IOverwritePrompt
|
||||
{
|
||||
public override OverwriteResponse ConfirmOverwrite(string path) => OverwriteResponse.No;
|
||||
public OverwriteResponse ConfirmOverwrite(string path) => OverwriteResponse.No;
|
||||
}
|
Loading…
Reference in New Issue
Block a user