mirror of
https://github.com/wmjordan/PDFPatcher.git
synced 2026-10-20 23:48:50 +08:00
3873981650
+书签编辑器增加设置当前书签为阅读器显示位置的快捷键 !修改书签编辑器非激活状态下选中项的颜色
60 lines
1.4 KiB
C#
60 lines
1.4 KiB
C#
using System;
|
|
using System.CodeDom;
|
|
using System.Linq;
|
|
using System.Xml;
|
|
using BrightIdeasSoftware;
|
|
|
|
namespace PDFPatcher.Functions.Editor
|
|
{
|
|
sealed class BookmarkSelectionCommand : IEditorCommand
|
|
{
|
|
readonly string _command;
|
|
|
|
public BookmarkSelectionCommand(string command) {
|
|
_command = command;
|
|
}
|
|
|
|
public void Process(Controller controller, params string[] parameters) {
|
|
var b = controller.View.Bookmark;
|
|
switch (_command) {
|
|
case Commands.SelectAllItems:
|
|
b.SelectAll();
|
|
break;
|
|
case Commands.SelectNone:
|
|
b.DeselectAll();
|
|
break;
|
|
case Commands.SelectChildren:
|
|
var s = b.GetSelectedElements(false);
|
|
foreach (var item in s) {
|
|
b.Expand(item);
|
|
}
|
|
b.SelectedObjects = s.SelectMany(i => i.SubBookmarks.Cast<Model.BookmarkElement>()).ToList();
|
|
break;
|
|
case Commands.InvertSelection:
|
|
b.InvertSelect();
|
|
break;
|
|
case Commands.CollapseAll:
|
|
b.CollapseAll();
|
|
break;
|
|
case Commands.ExpandAll:
|
|
b.ExpandAll();
|
|
break;
|
|
case Commands.CollapseChildren:
|
|
foreach (var item in b.GetSelectedElements(false)) {
|
|
foreach (XmlNode ci in item.SubBookmarks) {
|
|
b.Collapse(ci);
|
|
}
|
|
}
|
|
break;
|
|
case Commands.ExpandSelection:
|
|
b.Expand(b.SelectedObjects, true);
|
|
break;
|
|
case Commands.CollapseSelection:
|
|
b.Collapse(b.SelectedObjects, true);
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|