未验证 提交 d0df1b15 编写于 作者: J Jian Ma 提交者: GitHub

Merge branch 'local' into local

......@@ -12,20 +12,12 @@
Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费开源工具。通过Python语言编写。
通过对文件重命名的方式,以^号(默认值,可修改)将标签直接标记在文件名中,并可实现标签的识别和查询等功能。
利用Windows系统NTFS文件流的特性,为文件加标签,并可实现标签的识别和查询等功能。
可实现对大量文件的标签化快速管理,可显著提升效率。
#### 备注:为什么默认值的标签符号是 \^,而不是#呢?
因为开发需要用到C#、J#等词语,很多材料也会将#号视为数字编码符号。
这样的话,如果将#识别为默认的标签符号,将带来很大麻烦,于是将默认值设置为\^号。
## 开发说明
本程序采用Python实现,程序界面主要依靠tkinter库完成开发。
......@@ -55,6 +47,9 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
## 近期更新
#### v0.21.1.0 2021年10月4日
为文件列表的鼠标指向增加了高亮效果。
#### v0.21.0.0 2021年10月3日
优化标签逻辑,采用NTFS流模式,不再影响文件名(测试版)。
优化右键响应,现在可以正确在被点击的项目处出现右键菜单了。
......@@ -110,7 +105,7 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
#### 以重命名的方式,为文件添加 / 删除标签。
#### 为文件添加 / 删除标签。
可以为指定的文件快速添加标签,快捷键是 Ctrl+T。支持多文件批量操作。
......@@ -128,20 +123,6 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
注意:
标签将**以重命名的方式**,通过 ^ 号(可自定义)分隔,添加到文件名中。
> 举例:「某某通知.pdf」加入标签“标签1”、“标签2”之后,文件名将变为「某某通知\^标签1\^标签2.pdf」。
>
> 在程序内会分开显示,解析为「某某通知.pdf」和 “标签1”、“标签2”。
**注意:如果文件名不适合修改,则禁止采用本程序进行增删标签操作。尤其是系统文件!**
**改文件名导致的各种损失,责任自负哦。**
当然,删除标签也是一键搞定。
![image-20210907214903690](_img/image-20210907214903690.png)
......@@ -150,18 +131,10 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
#### 自动识别文件的标签
本程序可以自动识别标签,对指定文件夹内部所有文件(包括子目录的文件)进行标签化管理。
识别方法1:以文件名中的 ^号作为标签分隔符,自动分段提取。
> 例如,「某某通知^ 通知 ^会议记录 ^发布.pdf」会识别为 「某某通知.pdf 」+ 「标签:通知、会议记录、发布」
##### 补充:识别文件夹标签
(备注:本功能即将被移除或重做)
对于文件名包括标签识别符的,也会识别为标签。可以方便地进行大批量快速管理。
如果有些文件拥有相同的主题(公共标签),可以直接放在叫做「文件夹名称^标签名称」的文件夹内,程序会自动将「标签名称」识别为批量标签,为文件夹里面所有项都添加这个标签,而无需对每个文件进行重命名操作。
......@@ -288,17 +261,3 @@ Tagdox / 标签文库,是用于对文档进行「标签化管理」的免费
目前还没有制作专门的安装包,所以将最新版压缩包下载后,解压缩,直接覆盖旧版文件夹即可。
#### 备注:关于高分屏模糊
代码已经为高分屏会出现的模糊做了特殊适配,按理说不应该存在模糊情况。
如果仍然存在模糊,可以尝试按照如下方式解决:
右击,属性 - 兼容性标签页 - 更改高DPI设置,在下面“替代高DPI缩放行为”处打钩,确定即可。
未发生模糊时请勿执行上述操作,否则对话框可能会偏移。
......@@ -9,10 +9,14 @@
## 更新记录
#### v0.21.0.1 2021年10月4日
优化标签类封装逻辑,关闭文件前一直占用文件。<br />
新增常用工具函数,直接对标签进行增加、删除、清空、查询。<br />
新增依赖说明requirements.txt。<br />
#### v0.21.1.1 2021年10月4日
储备:优化标签类封装逻辑,关闭文件前一直占用文件。
储备:新增常用工具函数,直接对标签进行增加、删除、清空、查询。
储备:新增依赖说明requirements.txt。
#### v0.21.1.0 2021年10月4日
为文件列表的鼠标指向增加了高亮效果。
#### v0.21.0.0 2021年10月3日
优化标签逻辑,采用NTFS流模式,不再影响文件名(测试版)。
优化右键响应,现在可以正确在被点击的项目处出现右键菜单了。
......
......@@ -46,10 +46,12 @@ URL_HELP = 'https://gitee.com/horse_sword/my-local-library' # 帮助的超链
URL_ADV = 'https://gitee.com/horse_sword/my-local-library/issues' # 提建议的位置
URL_CHK_UPDATE = 'https://gitee.com/horse_sword/my-local-library/releases' # 检查更新的位置
TAR = 'Tagdox / 标签文库' # 程序名称
VER = 'v0.21.0.0' # 版本号
VER = 'v0.21.1.0' # 版本号
'''
## 近期更新说明
#### v0.21.1.0 2021年10月4日
为文件列表的鼠标指向增加了高亮效果。
#### v0.21.0.0 2021年10月3日
优化标签逻辑,采用NTFS流模式,不再影响文件名(测试版)。
优化右键响应,现在可以正确在被点击的项目处出现右键菜单了。
......@@ -4459,7 +4461,7 @@ def exec_tree_file_drop_tag(event=None):
def exec_tree_right_click(event):
"""
右键点击
右键点击 tree 区域
:param event:
:return:
......@@ -4467,11 +4469,12 @@ def exec_tree_right_click(event):
tmp = app.tree.identify_row(event.y)
if tmp not in app.tree.selection():
app.tree.selection_set(tmp)
exec_tree_mouse_highlight(event,clear_only=True)
def exec_tree_folder_right_click(event):
"""
右键点击
右键点击 folder 区域
:param event:
:return:
......@@ -4693,6 +4696,48 @@ def fixed_map_v2(tar, option):
elm[:2] != ('!disabled', '!selected')]
def exec_tree_mouse_highlight(event,clear_only = False):
"""
鼠标指向的项目加背景色
:param event:
:return:
"""
_iid = app.tree.identify_row(event.y)
# print(event.y)
def remove_last_tag():
if app.last_focus:
try: # 之前的去掉高亮
tags_old = list(app.tree.item(app.last_focus, "tags"))
tags_old.remove('line_mouse')
app.tree.item(app.last_focus, tags=tags_old)
except:
pass
if clear_only:
remove_last_tag()
app.last_focus=None
return
if _iid != app.last_focus:
remove_last_tag()
"""if app.last_focus:
try: # 之前的去掉高亮
tags_old = list(app.tree.item(app.last_focus, "tags"))
tags_old.remove('line_mouse')
app.tree.item(app.last_focus, tags=tags_old)
except:
pass"""
# 新项目加高亮
tags_new = list(app.tree.item(_iid, "tags"))
tags_new = ['line_mouse'] + tags_new
app.tree.item(_iid, tags=tags_new)
# print(self.tree.item(_iid,"value"))
#
# 新项目保存
app.last_focus = _iid
def set_style(style):
"""
显示的样式
......@@ -4724,6 +4769,8 @@ def set_style(style):
LIGHT_THEME = True
if LIGHT_THEME:
for tar in [app.tree_lst_folder, app.tree_lst_sub_folder, app.tree_lst_sub_tag, app.tree]:
# 标签生效顺序是,定义在前面的优先生效,和实际标签列表里面的顺序没有关系
tar.tag_configure('line_mouse', background="#dddfe2")
tar.tag_configure('line1', background="#F2F2F2")
# tar.tag_configure('line1',background="#F8F8F8")
# tar.tag_configure('line1',background="#FFFFFF")
......@@ -5021,6 +5068,7 @@ class main_app:
界面部分。
也就是UI的设计。
"""
self.last_focus=None
self.window = tk.Tk()
#
# 调整清晰度 ############################################
......@@ -5565,6 +5613,7 @@ class main_app:
self.tree_lst_folder.bind('<Control-v>', exec_tree_file_put_down) # 放下,点选文件夹之后仍然可以操作,可以提高用户体验。
self.tree.bind('<F2>', exec_tree_file_rename) # 重命名
self.tree.bind('<Delete>', exec_tree_file_delete) # 重命名
self.tree.bind("<Motion>", exec_tree_mouse_highlight)
self.tree.bind('<Double-Button-1>', exec_tree_file_open)
self.tree.bind('<Return>', exec_tree_file_open)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册