# ONFlow **Repository Path**: dwhy996/onflow ## Basic Information - **Project Name**: ONFlow - **Description**: 复制内容后,极速选中OneNote中的目标页面,实现信息的快速收纳 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-08-09 - **Last Updated**: 2022-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![边输边搜](https://images.gitee.com/uploads/images/2020/1006/200519_f1e9d15b_8151228.png "屏幕截图.png") # 功能说明 选中文本,按下快捷键,弹出OneNote笔记的树形目录,选择需要某个页面(Page),即可将所复制的内容附加到该页面或者新页面中,新页面在该页面所在分区的最底下 # 使用方法 1. 附加复制的内容到已存在的页面中 - **鼠标流** - 启动ONFlow_Mouse.exe - 选中任意内容, - 点击CopySend按钮 - 弹出OneNote笔记的树形目录,选择需要某个页面(Page),双击,或者按下Enter键 - **键盘流** - 启动ONFlow_HotKey.exe, 定义快捷键后最小化, _注意如果快捷键设置为Win+字母键组合的话,要先勾选_ - 选中任意内容, - 按下刚才设置的快捷键 - 弹出OneNote笔记的树形目录,选择需要某个页面(Page),双击,或者按下Enter键 2. **附加复制的内容到新页面中** - 选中并复制内容,按下快捷键,弹出OneNote笔记的树形目录,选择需要某个页面(Page), **Ctrl+单击** ,或者按下Ctrl+Enter键 3. **快速跳转** - 按下快捷键,弹出OneNote笔记的树形目录,选择需要某个页面(Page), **Alt+单机** ,或者按下Alt+Enter键 # 特性 - 基于拼音首字母的筛选,边输入边筛选(致敬AlmRun等快速启动软件) - 文本框中输入分区(Section)标题的拼音首字母,即可实现分区筛选 - 文本框中输入分区(Section)标题的拼音首字母+空格+页面(Page)标题的首字母,即可实现分区+页面的多重筛选 - 文本框中输入空格+页面(Page)标题的首字母,即可实现页面筛选 - 基于筛选结果的展示方式 - 树形目录默认显示到页面,但以下为例外 - 为了实现界面精简,某个分区下的页面>5个时,折叠分区 - 分区数量<4个时,不管分区下有多少页面,都不再折叠 - 按下返回{ESC}键可退出窗口 - 在输入文本框中,按上下键,可直接跳转到TreeView中,方便键盘党快速选择(致敬AlmRun等快速启动软件) # 实现方法说明 1. 基于OneNote Count 修改,在此感谢 https://github.com/02xiaoma/OneNote-Count 2. 获取汉字的拼音首字母,基于NPinyin实现,在此感谢 http://code.google.com/p/npinyin/ 3. 基于OneNote API,实现树形目录xml获取和新建页面 4. 基于LINQ To XML,实现对xml的筛选 5. 利用发送按键Ctrl+V, 实现剪贴板中的内容粘贴到OneNote页面中 6. 跳转位置确认:获取TreeView中节点的各层级Index,然后到FilteredOneNoteXml中查找与Index对应的ID # 未实现的功能或已知问题 1. 利用OneNote API,直接写入内容到OneNote页面中 (解析剪贴板中内容太复杂了,没有找到可以调用的包,且用发送按键替代吧) 2. ~~同一分区下,有同名页面,只能跳转到同名的第一个页面 (TreeView 中只保存了页面的Title,并没有保存页面的PageID,所以根据不唯一的页面Title 只能获取到同名的第一个页面的PageID~~ 3. 取消第一层级Notebooks 4. 收藏常用的,将高频使用的排在前面