diff --git a/App/Functions/Editor/AutoBookmarkForm.cs b/App/Functions/Editor/AutoBookmarkForm.cs index 95d44de..384ba1d 100644 --- a/App/Functions/Editor/AutoBookmarkForm.cs +++ b/App/Functions/Editor/AutoBookmarkForm.cs @@ -54,26 +54,40 @@ namespace PDFPatcher.Functions _BookmarkConditionBox.IsSimpleDragSource = true; _BookmarkConditionBox.IsSimpleDropSink = true; _BookmarkConditionBox.CellClick += (s, args) => { - var ts = args.Model as EditModel.AutoBookmarkStyle; if (args.ColumnIndex == _ColorColumn.Index) { + var b = ((EditModel.AutoBookmarkStyle)args.Model).Bookmark; this.ShowCommonDialog( - f => f.Color = ts.Bookmark.ForeColor == Color.Transparent ? Color.White : ts.Bookmark.ForeColor, + f => f.Color = b.ForeColor == Color.Transparent ? Color.White : b.ForeColor, f => { - ts.Bookmark.ForeColor = f.Color == Color.White ? Color.Transparent : f.Color; + b.ForeColor = f.Color == Color.White ? Color.Transparent : f.Color; _BookmarkConditionBox.RefreshItem(args.Item); } ); } }; _BookmarkConditionBox.RowFormatter = (r) => { - var ts = r.RowObject as EditModel.AutoBookmarkStyle; + var b = ((EditModel.AutoBookmarkStyle)r.RowObject).Bookmark; r.UseItemStyleForSubItems = false; - r.SubItems[_ColorColumn.Index].ForeColor = ts.Bookmark.ForeColor == Color.Transparent ? _BookmarkConditionBox.ForeColor : ts.Bookmark.ForeColor; + r.SubItems[_ColorColumn.Index].ForeColor = b.ForeColor == Color.Transparent ? _BookmarkConditionBox.ForeColor : b.ForeColor; }; _LoadListButton.Click += _LoadListButton_Click; _SaveListButton.Click += _SaveListButton_Click; } + internal void SetValues(List list) { + _BookmarkConditionBox.Objects = _list = list; + } + + void _RemoveButton_Click(object sender, EventArgs e) { + _BookmarkConditionBox.SelectedObjects.ForEach(i => _list.Remove(i)); + _BookmarkConditionBox.RemoveObjects(_BookmarkConditionBox.SelectedObjects); + } + + void _AutoBookmarkButton_Click(object sender, EventArgs e) { + SyncList(); + _controller.AutoBookmark(_list, _MergeAdjacentTitleBox.Checked); + } + void _SaveListButton_Click(object sender, EventArgs e) { this.ShowCommonDialog(d => { d.Title = "请输入需要保存自动书签格式列表的文件名"; @@ -92,35 +106,6 @@ namespace PDFPatcher.Functions }); } - void _LoadListButton_Click(object sender, EventArgs e) { - this.ShowCommonDialog(d => { - d.Title = "请选择需要打开的自动书签格式列表"; - d.Filter = Constants.FileExtensions.XmlFilter; - d.DefaultExt = Constants.FileExtensions.Xml; - }, d => { - try { - SetValues(Deserialize(d.FileName)); - } - catch (Exception ex) { - this.ErrorBox("加载自动书签格式列表时出现错误", ex); - } - }); - } - - internal void SetValues(List list) { - _BookmarkConditionBox.Objects = _list = list; - } - - void _RemoveButton_Click(object sender, EventArgs e) { - _BookmarkConditionBox.SelectedObjects.ForEach(i => _list.Remove(i)); - _BookmarkConditionBox.RemoveObjects(_BookmarkConditionBox.SelectedObjects); - } - - void _AutoBookmarkButton_Click(object sender, EventArgs e) { - SyncList(); - _controller.AutoBookmark(_list, _MergeAdjacentTitleBox.Checked); - } - static void Serialize(List list, System.IO.StreamWriter writer) { using (var x = System.Xml.XmlWriter.Create(writer)) { x.WriteStartDocument(); @@ -138,6 +123,21 @@ namespace PDFPatcher.Functions } } + void _LoadListButton_Click(object sender, EventArgs e) { + this.ShowCommonDialog(d => { + d.Title = "请选择需要打开的自动书签格式列表"; + d.Filter = Constants.FileExtensions.XmlFilter; + d.DefaultExt = Constants.FileExtensions.Xml; + }, d => { + try { + SetValues(Deserialize(d.FileName)); + } + catch (Exception ex) { + this.ErrorBox("加载自动书签格式列表时出现错误", ex); + } + }); + } + static List Deserialize(FilePath path) { var doc = new System.Xml.XmlDocument(); doc.Load(path); diff --git a/更新历史.txt b/更新历史.txt index b0a5e90..0596880 100644 --- a/更新历史.txt +++ b/更新历史.txt @@ -6,7 +6,9 @@ 替换字体功能增加简单修改文本简繁体、全角半角转换的功能(用于处理一些旧的 PDF 文档)。 增加了合并文件功能的合并冗余数据选项(之前版本中,该选项的行为是默认行为,可能导致无法合并源文档的某些数据)。 合并文件功能支持在添加文件后再排序文件列表。 + 合并文件功能增加输出目标文件由多少个文件共多少页合并而成。 增加在使用过程中不再提示打开文档权限的操作办法。 + 编辑器允许保存和读取“自动生成书签”功能中的筛选条件。 修改功能: 更新了 JBIG2 解码组件。 优化了 PDF 补丁丁的主程序代码。