guoyao
|
c6629ebb55
|
chore: adapt REUSE license header
开源合规
Log: 开源合规
|
2022-08-11 14:02:36 +08:00 |
zccrs
|
d2f6c41315
|
feat: 允许获取 dci 内部软链接文件的原始数据
对于 symlink 的目标路径而言,其内容非常灵活,当目标是项目路径时,其
真实的指向文件与链接文件本身所在的位置息息相关,原设计中默认将相对
路径转为 dci 内部的绝对路径,此举虽然方便了使用,但是却丢失了链接
文件的真实信息,当对 dci 格式与真实的文件系统进行导入导出时,将无法
获取链接文件的目标路径,因此添加 origin 参数,当其为 true 时将禁止
自动转换路径,直接返回原本的链接路径。
修复 dci 命令行工具未能正确处理软链接文件的存储和导出问题,QFileInfo
的 symlinkTarget 的设计也对链接内容就行了加工,无法满足使用场景,因此
改为使用 POSIX 中的 readlink 来获取原始的链接目标。
Log:
Change-Id: Ifd0abca205311d6075df65977672817debd0a7b4
|
2021-09-18 17:23:16 +08:00 |
zccrs
|
f57551961e
|
feat: 支持 DCI 文件保持按数字排序
根据 DSG 的标准,DCI 内的文件列表应当固定为从小往大的顺序,且此排序
支持数字模式。有序的文件列表可以简化对 DCI 内文件的解析,以减少DCI
文件加载模式下的计算量。
Log:
Change-Id: Ic6fc53ae33a0fab665605aa4b71fcdccf41e12c0
|
2021-09-17 15:45:37 +08:00 |
zccrs
|
a6f8a024e2
|
feat: 添加注册 DDciFileEngine 的接口
不再默认创建 DDciFileEngine,全局对象会在库被加载时就创建,会在一定
程度上影响程序启动速度,并且这样的创建方式不可控制,库代码中应当尽
量避免创建全局对象,因此单独给出 registerFileEngine 接口,由使用方
自行在需要时调用。另外,QAbstractFileEngine::create 接口会在使用
QFile、QFileInfo、QDir 等接口时调用,但是使用 QFile 操作 DCI 文件
的场景非常的少,如果默认创建了 DDciFileEngine,则会导致非常多的无效
调用。
Log:
Change-Id: I7049e7c9a6b8e0e7f8ddeb6450bf56e5c98d0bfb
|
2021-09-03 11:20:39 +08:00 |
zccrs
|
5bc0f0f828
|
feat: DDciFileEngine 支持判断内部路径是否为根目录
为 QFileInfo::isRoot 添加单元测试。
Log:
Change-Id: I28abe92abe10153dc8e2ad6a38157ef4c3c8b2e0
|
2021-08-31 14:41:59 +08:00 |
zccrs
|
deed151229
|
feat: 为 DCI 文件添加软链接支持
根据 DSG 的标准规定,DCI 文件内可包含软链接,软链接不允许指向目录。
对于软链接文件内容的读写等价于对链接对象的读写。
同步在 DDciFileEngine 中支持软链接的创建和打开接口。
Log:
Change-Id: I4cac303171a1ea17e336dafe03385b1c8dd51212
|
2021-08-31 13:33:00 +08:00 |
zccrs
|
3697593f7c
|
feat: 新增 DDciFile::copy 接口
使用 DDciFile::dataRef 和 DDciFile:writeFile 的组合能实现复制文件的
效果,但是无法实现目录的复制。因此,特单独添加 DDciFile::copy,以方
便复制文件和目录。
Log:
Change-Id: I650e13e45fa94e4ff9b197504025915c20a8c00d
|
2021-08-30 16:42:41 +08:00 |
zccrs
|
5fb1c1812e
|
feat: 添加 DDciFileEngine
DDciFileEngine 实现了 QAbstractFileEngine,可以直接使用 QFile、
QFileInfo 等 Qt 的文件接口操作 DCI 文件。将打包的 DCI 文件看作一个
目录,类似于 "qrc",绑定 "dci:" 开头的路径,以识别对 DCI 文件进行的
IO 操作。
Log:
Change-Id: Iaff407294b211fa869cd4ad74322098160fdb9b5
|
2021-08-30 16:42:26 +08:00 |
zccrs
|
ef10d221c9
|
feat: 支持 DCI 文件的解析
DCI 文件是 DSG 标准规定的一种图标文件格式,其是一个压缩格式,内部可
嵌入 jpg png 等图片文件。
DDciFile 实现了对 DCI 格式打包和解包的操作,提供了文件/目录创建、改写
、获取目录下文件列表等接口
对应的 DSG 规范地址:
https://gitlabwh.uniontech.com/wuhan/se/deepin-specifications/-/issues/5
Log:
Change-Id: I81925fed14e35d42bcb2b0905aac5c2b6c5d817d
|
2021-08-30 14:15:13 +08:00 |