rename: flat nodes
This commit is contained in:
@@ -36,9 +36,9 @@ type FsNode struct {
|
|||||||
Parent *FsNode // for fast traversal up the tree
|
Parent *FsNode // for fast traversal up the tree
|
||||||
Expanded bool // makes sense only for folder nodes
|
Expanded bool // makes sense only for folder nodes
|
||||||
// these are populated by BuildLines for fast access
|
// these are populated by BuildLines for fast access
|
||||||
line int
|
line int
|
||||||
prev *FsNode
|
prevFlatNode *FsNode
|
||||||
next *FsNode
|
nextFlatNode *FsNode
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *FsNode) FileName() string {
|
func (n *FsNode) FileName() string {
|
||||||
@@ -258,7 +258,7 @@ func (t *FsTree) DeleteNode(node *FsNode) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
t.SelectedNode = node.prev // cannot be next as subfolder/file deletion
|
t.SelectedNode = node.prevFlatNode // cannot be next as subfolder/file deletion
|
||||||
parent.Children = utils.RemoveFromSlice(parent.Children, node)
|
parent.Children = utils.RemoveFromSlice(parent.Children, node)
|
||||||
|
|
||||||
if t.SelectedNode == nil {
|
if t.SelectedNode == nil {
|
||||||
@@ -296,9 +296,9 @@ func (t *FsTree) move(delta int) error {
|
|||||||
|
|
||||||
var next *FsNode
|
var next *FsNode
|
||||||
if delta == 1 {
|
if delta == 1 {
|
||||||
next = selected.next
|
next = selected.nextFlatNode
|
||||||
} else {
|
} else {
|
||||||
next = selected.prev
|
next = selected.prevFlatNode
|
||||||
}
|
}
|
||||||
if next != nil {
|
if next != nil {
|
||||||
t.SelectedNode = next
|
t.SelectedNode = next
|
||||||
@@ -327,7 +327,7 @@ func (t *FsTree) renderNode(node *FsNode, depth int, builder *strings.Builder) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
folderInRoot := false
|
folderInRoot := false
|
||||||
if node.Type == FolderNode && depth == 1 && node.prev != nil {
|
if node.Type == FolderNode && depth == 1 && node.prevFlatNode != nil {
|
||||||
folderInRoot = true
|
folderInRoot = true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -387,8 +387,8 @@ func (t *FsTree) BuildLines() {
|
|||||||
t.totalLines = line
|
t.totalLines = line
|
||||||
|
|
||||||
for i := 1; i < len(flatTree)-1; i++ {
|
for i := 1; i < len(flatTree)-1; i++ {
|
||||||
flatTree[i].prev = flatTree[i-1]
|
flatTree[i].prevFlatNode = flatTree[i-1]
|
||||||
flatTree[i].next = flatTree[i+1]
|
flatTree[i].nextFlatNode = flatTree[i+1]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user