Files
PDFPatcher/App/Functions/Editor/Commands/LoadDocumentCommand.cs
2025-06-24 20:25:57 +08:00

41 lines
1.2 KiB
C#

using System;
using System.Windows.Forms;
using PDFPatcher.Common;
namespace PDFPatcher.Functions.Editor
{
sealed class LoadDocumentCommand : IEditorCommand
{
readonly bool _showDialog, _importBookmark;
public LoadDocumentCommand(bool showDialog, bool importBookmark) {
_showDialog = showDialog;
_importBookmark = importBookmark;
}
public void Process(Controller controller, params string[] parameters) {
if (controller.Model.Undo.IsDirty
&& !AppContext.MainForm.ConfirmYesBox(Messages.ConfirmAbandonDocument)) {
return;
}
if (_showDialog) {
using (var f = new OpenFileDialog {
DefaultExt = _importBookmark ? Constants.FileExtensions.Xml : Constants.FileExtensions.Pdf,
Title = _importBookmark ? "打开需要导入的书签文件" : "打开需要编辑的文件",
Filter = Constants.FileExtensions.AllEditableFilter
}) {
if (f.ShowDialog() != DialogResult.OK) {
return;
}
parameters = [f.FileName];
}
}
try {
controller.LoadDocument(parameters[0], _importBookmark);
}
catch (Exception ex) {
AppContext.MainForm.ErrorBox("加载信息文件时出现错误", ex);
}
}
}
}