diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml index a0554dd3..1b603567 100644 --- a/.github/workflows/ci-linux.yml +++ b/.github/workflows/ci-linux.yml @@ -10,7 +10,7 @@ on: workflow_dispatch: env: - VNOTE_VER: 3.0.0-beta.8 + VNOTE_VER: 3.0.0-beta.9 jobs: build-linux: diff --git a/.github/workflows/ci-macos.yml b/.github/workflows/ci-macos.yml index 60e8d847..60764819 100644 --- a/.github/workflows/ci-macos.yml +++ b/.github/workflows/ci-macos.yml @@ -10,7 +10,7 @@ on: workflow_dispatch: env: - VNOTE_VER: 3.0.0-beta.8 + VNOTE_VER: 3.0.0-beta.9 jobs: build-linux: diff --git a/.github/workflows/ci-win.yml b/.github/workflows/ci-win.yml index cea262de..30229f8f 100644 --- a/.github/workflows/ci-win.yml +++ b/.github/workflows/ci-win.yml @@ -10,7 +10,7 @@ on: workflow_dispatch: env: - VNOTE_VER: 3.0.0-beta.8 + VNOTE_VER: 3.0.0-beta.9 jobs: build: diff --git a/changes.md b/changes.md index beca5ccc..4e89fe6b 100644 --- a/changes.md +++ b/changes.md @@ -1,4 +1,9 @@ # Changes +## v3.0.0-beta.9 +* Fix crash when exporting external files +* Support manual sorting folders and notes +* Support showing external files in notebook + ## v3.0.0-beta.8 * Note explorer supports different view orders * Fix `Ctrl+V` paste in editor diff --git a/src/core/notebookconfigmgr/vxnotebookconfigmgr.cpp b/src/core/notebookconfigmgr/vxnotebookconfigmgr.cpp index 22b88707..e3a0eb99 100644 --- a/src/core/notebookconfigmgr/vxnotebookconfigmgr.cpp +++ b/src/core/notebookconfigmgr/vxnotebookconfigmgr.cpp @@ -804,7 +804,7 @@ QString VXNotebookConfigMgr::fetchNodeAttachmentFolder(const QString &p_nodePath bool VXNotebookConfigMgr::isBuiltInFile(const Node *p_node, const QString &p_name) const { const auto name = p_name.toLower(); - if (name == c_nodeConfigName) { + if (name == c_nodeConfigName || name == "_vnote.json") { return true; } return BundleNotebookConfigMgr::isBuiltInFile(p_node, p_name); diff --git a/src/data/core/translations/vnote_zh_CN.qm b/src/data/core/translations/vnote_zh_CN.qm index f742545d..89db9032 100644 Binary files a/src/data/core/translations/vnote_zh_CN.qm and b/src/data/core/translations/vnote_zh_CN.qm differ diff --git a/src/data/core/translations/vnote_zh_CN.ts b/src/data/core/translations/vnote_zh_CN.ts index 9ab93e9c..d3b7d3fa 100644 --- a/src/data/core/translations/vnote_zh_CN.ts +++ b/src/data/core/translations/vnote_zh_CN.ts @@ -487,8 +487,8 @@ - - + + Failed to create output folder %1. 无法创建输出文件夹 %1。 @@ -498,37 +498,37 @@ 格式 %1 不支持导出为 Markdown。 - + Unknown target format %1. 未知的目标格式 %1。 - + File (%1) exported to (%2) 文件 (%1) 已导出为 (%2) - + Failed to export file (%1) 无法导出文件 (%1) - + notebook_%1 笔记本_%1 - + Format %1 is not supported to export as HTML. 格式 %1 不支持导出为 HTML。 - + Asked to stop. Aborting. 用户取消。 正在终止。 - + Format %1 is not supported to export as PDF. 格式 %1 不支持导出为 PDF。 @@ -906,6 +906,11 @@ Once imported, the legacy notebook could no longer be recognized by legacy VNote! 一旦导入,该遗留笔记本将无法被旧版本的VNote所识别! + + + This operation is irreversible. Please make sure the new VNote already meets all your needs before continue. + 该操作是不可逆的。继续之前,请确保新的 VNote 满足个人所有的需求。 + Welcome to VNoteX and the new VNote! @@ -1586,23 +1591,23 @@ Markdown 查看器 - + Clear Obsolete Images 清空无用图片 - + These images seems not in use anymore. Please confirm the deletion of them. 这些图片似乎已经不再使用。请确认并删除。 - + Deleted images could be found in the recycle bin of notebook if it is from a bundle notebook. 如果这是一个自包含笔记本,已删除的图片可以在笔记本回收站中找回。 - - + + Replace is not supported in read mode 阅读模式不支持替换 @@ -1808,7 +1813,7 @@ 创建时间: - + Modified time: 修改时间: @@ -1857,91 +1862,106 @@ 从全部笔记本中选择一个作为当前笔记本。<br/>移动鼠标到某个项目上查看详情。 - + Notebook 笔记本 - + This title bar contains buttons and menu to manage notebooks and notes. 该标题栏包含管理笔记本和笔记的按钮和菜单。 - + View 查看 - + Toggle Recycle Bin Node 显示/隐藏回收站节点 - + &Manage Notebooks 管理笔记本(&M) - - + + External Files + 外部文件 + + + + Show External Files + 显示外部文件 + + + + Import External Files When Activated + 激活时自动导入外部文件 + + + + Could not create folder within Recycle Bin. 无法在回收站内创建文件夹。 - - + + Could not create note within Recycle Bin. 无法在回收站内创建笔记。 - + Please first create a notebook to hold your data. 请先创建一个笔记本来保存数据。 - + Select Files To Import 选择文件导入 - + Failed to add file (%1) as node (%2). 无法添加文件 (%1) 为节点 (%2)。 - + View By Configuration 按配置查看 - + View By Name 按名字查看 - + View By Name (Reversed) 按名字倒序查看 - + View By Created Time 按创建时间查看 - + View By Created Time (Reversed) 按创建时间倒序查看 - + View By Modified Time 按修改时间查看 - + View By Modified Time (Reversed) 按修改时间倒序查看 @@ -2080,187 +2100,267 @@ vnotex::NotebookNodeExplorer - + Failed to load nodes of notebook (%1) (%2). 无法加载笔记本 (%1) 节点 (%2)。 - + Recycle bin of this notebook. Deleted files could be found here. It is organized in folders named by date. Nodes could be moved to other folders by Cut and Paste. 笔记本回收站。被删除的文件可以在此找回。按以日期命名的文件夹进行组织。节点可以通过剪切粘贴移动到其他文件夹。 - + Recycle Bin 回收站 - + + [Invalid] %1 + [无效] %1 + + + + [External] %1 + [外部] %1 + + + New N&ote 新建笔记(&O) - + New &Folder 新建文件夹(&F) - + &Properties 属性(&P) - + Open &Location 打开路径(&L) - + Cop&y Path 复制路径(&Y) - + Copied path: %1 已复制路径: %1 - + &Copy 复制(&C) - + C&ut 剪切(&U) - + &Paste 粘贴(&P) - + &Empty 清空(&E) - + Empty the recycle bin of this notebook? 清空该笔记本的回收站? - + All files in recycle bin will be deleted permanently. 回收站中的全部文件都会被永久删除。 - + Location of recycle bin: %1 回收站路径: %1 - + Failed to empty recycle bin (%1) (%2). 无法清空回收站 (%1) (%2)。 - + + &Sort + 排序(&S) + + + + Re&load + 重新加载(&L) + + + + &Import To Index + 导入到索引(&I) + + + + &Open + 打开(&O) + + + Failed to copy source (%1) to destination (%2) (%3). 无法复制源 (%1) 至 目标 (%2) (%3)。 + + + Sort Folders + 排序文件夹 + + + + Sort Notes + 排序笔记 + + + + Sort nodes under %1 (%2) in the configuration file. + 在配置文件中对%1 (%2) 下的节点进行排序。 + + + + notebook + 笔记本 + + + + folder + 文件夹 + + + + Name + 名字 + + + + Created Time + 创建时间 + + + + Modified Time + 修改时间 + + + + Invalid node (%1). + 无效的节点 (%1)。 + + + + Please check if the node exists on the disk. + 请检查该节点在磁盘上是否存在。 + Failed to delete/remove item %1 (%2) (%3). 无法删除或移除项目 %1 (%2) (%3)。 - + &Delete 删除(&D) - + &Delete From Recycle Bin 从回收站中删除(&D) - + &Remove From Index 从索引中移除(&R) - + Copied %n item(s) 已复制 %n 项 - + Invalid clipboard data to paste. 无效的剪切板数据用于粘贴。 - + Destination is detected in sources (%1). Operation is cancelled. 目标包含在源 (%1) 中。操作取消。 - + Pasted %n item(s) 已粘贴 %n 项 - + Delete these folders and notes permanently? 永久删除这些文件夹和笔记? - + Files will be deleted permanently and could not be found even in operating system's recycle bin. 文件将会被永久删除,即使在操作系统的回收站中也无法找回。 - + Delete these folders and notes? 删除这些文件夹和笔记? - + Deleted files could be found in the recycle bin of notebook. 被删除的文件可以在笔记本回收站中找回。 - + Confirm Deletion 确认删除 - + Failed to delete/remove item (%1) (%2) (%3). 无法删除或移除项目 (%1) (%2) (%3)。 - + Deleted/Removed %n item(s) 删除或移除 %n 项 - + Confirm Removal 确认移除 - + Remove these folders and notes from index? 从索引中移除这些文件夹和笔记? - + Files are not touched but just removed from notebook index. 文件不会被改动,仅仅是从笔记本索引中移除。 @@ -2336,6 +2436,29 @@ Description: %3 输入以开始查找 + + vnotex::SortDialog + + + &Top + 置顶(&T) + + + + &Up + 上移(&U) + + + + &Down + 下移(&D) + + + + &Bottom + 置底(&B) + + vnotex::TableInsertDialog diff --git a/src/data/core/vnotex.json b/src/data/core/vnotex.json index 7ced0529..cbca4456 100644 --- a/src/data/core/vnotex.json +++ b/src/data/core/vnotex.json @@ -3,7 +3,7 @@ "metadata" : { "//comment": "When releasing new version, please go through the following configs to check if override is needed.", "//Comment": "markdown_editor#override_viewer_resource", - "version" : "3.0.0-beta.8" + "version" : "3.0.0-beta.9" }, "core" : { "theme" : "pure", diff --git a/src/widgets/dialogs/importlegacynotebookdialog.cpp b/src/widgets/dialogs/importlegacynotebookdialog.cpp index 6bccf91d..1e6d5f4d 100644 --- a/src/widgets/dialogs/importlegacynotebookdialog.cpp +++ b/src/widgets/dialogs/importlegacynotebookdialog.cpp @@ -35,7 +35,7 @@ void ImportLegacyNotebookDialog::acceptedButtonClicked() // Warn user about the transformation. int ret = MessageBoxHelper::questionOkCancel(MessageBoxHelper::Warning, tr("Once imported, the legacy notebook could no longer be recognized by legacy VNote!"), - QString(), + tr("This operation is irreversible. Please make sure the new VNote already meets all your needs before continue."), tr("Welcome to VNoteX and the new VNote!"), this); if (ret == QMessageBox::Ok && importLegacyNotebook()) {