naps2/NAPS2.Lib/Pdf/EtoPdfPasswordProvider.cs
2023-02-19 11:46:59 -08:00

26 lines
724 B
C#

using NAPS2.EtoForms;
using NAPS2.EtoForms.Ui;
namespace NAPS2.Pdf;
public class EtoPdfPasswordProvider : IPdfPasswordProvider
{
private readonly IFormFactory _formFactory;
public EtoPdfPasswordProvider(IFormFactory formFactory)
{
_formFactory = formFactory;
}
public bool ProvidePassword(string fileName, int attemptCount, out string password)
{
(password, var result) = Invoker.Current.InvokeGet(() =>
{
var passwordForm = _formFactory.Create<PdfPasswordForm>();
passwordForm.FileName = fileName;
passwordForm.ShowModal();
return (passwordForm.Password!, passwordForm.Result);
});
return result;
}
}