🎨 文档树支持 Ctrl+ClickShift+↑/↓ 进行多选 https://github.com/siyuan-note/siyuan/issues/1359

This commit is contained in:
Liang Ding 2022-11-04 21:44:09 +08:00
parent e3a6bb2251
commit e9d15ade00
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
3 changed files with 10 additions and 75 deletions

View file

@ -1005,47 +1005,6 @@ func GetFullHPathByID(id string) (hPath string, err error) {
return
}
func MoveDoc(fromBoxID, fromPath, toBoxID, toPath string) (newPath string, err error) {
WaitForWritingFiles()
if fromBoxID == toBoxID && fromPath == toPath {
return
}
fromDir := strings.TrimSuffix(fromPath, ".sy")
if strings.HasPrefix(toPath, fromDir) {
err = errors.New(Conf.Language(87))
return
}
fromBox := Conf.Box(fromBoxID)
if nil == fromBox {
err = errors.New(Conf.Language(0))
return
}
childDepth := util.GetChildDocDepth(filepath.Join(util.DataDir, fromBoxID, fromPath))
if depth := strings.Count(toPath, "/") + childDepth; 6 < depth && !Conf.FileTree.AllowCreateDeeper {
err = errors.New(Conf.Language(118))
return
}
toBox := Conf.Box(toBoxID)
if nil == toBox {
err = errors.New(Conf.Language(0))
return
}
newPath, err = moveDoc(fromBox, fromPath, toBox, toPath)
if nil != err {
return
}
cache.ClearDocsIAL()
IncSync()
return
}
func MoveDocs(fromPaths []string, toBoxID, toPath string) (err error) {
toBox := Conf.Box(toBoxID)
if nil == toBox {
@ -1060,6 +1019,16 @@ func MoveDocs(fromPaths []string, toBoxID, toPath string) (err error) {
fromPaths = util.FilterMoveDocFromPaths(fromPaths, toPath)
}
pathsBoxes := getBoxesByPaths(fromPaths)
// 检查路径深度是否超过限制
for fromPath, fromBox := range pathsBoxes {
childDepth := util.GetChildDocDepth(filepath.Join(util.DataDir, fromBox.ID, fromPath))
if depth := strings.Count(toPath, "/") + childDepth; 6 < depth && !Conf.FileTree.AllowCreateDeeper {
err = errors.New(Conf.Language(118))
return
}
}
needShowProgress := 32 < len(fromPaths)
if needShowProgress {
util.PushEndlessProgress(Conf.Language(116))