summaryrefslogtreecommitdiffstats
path: root/pkg/gui/filetree
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-03-19 09:31:52 +1100
committerJesse Duffield <jessedduffield@gmail.com>2022-03-19 12:12:57 +1100
commitd93fef4c61db20dd9e2bb535c2fbb742cdbed60a (patch)
tree0e065ab7f334ea44b4597a79f6f8e36a018f2a15 /pkg/gui/filetree
parent4b56d428ffda44cf433d7cfdd83ea99417ec3e86 (diff)
use generics to DRY up context code
Diffstat (limited to 'pkg/gui/filetree')
-rw-r--r--pkg/gui/filetree/commit_file_tree.go6
-rw-r--r--pkg/gui/filetree/commit_file_tree_view_model.go12
-rw-r--r--pkg/gui/filetree/file_tree.go8
-rw-r--r--pkg/gui/filetree/file_tree_view_model.go14
4 files changed, 20 insertions, 20 deletions
diff --git a/pkg/gui/filetree/commit_file_tree.go b/pkg/gui/filetree/commit_file_tree.go
index d020aee21..055e273f3 100644
--- a/pkg/gui/filetree/commit_file_tree.go
+++ b/pkg/gui/filetree/commit_file_tree.go
@@ -8,7 +8,7 @@ import (
type ICommitFileTree interface {
ITree
- GetItemAtIndex(index int) *CommitFileNode
+ Get(index int) *CommitFileNode
GetFile(path string) *models.CommitFile
GetAllItems() []*CommitFileNode
GetAllFiles() []*models.CommitFile
@@ -42,7 +42,7 @@ func (self *CommitFileTree) ToggleShowTree() {
self.SetTree()
}
-func (self *CommitFileTree) GetItemAtIndex(index int) *CommitFileNode {
+func (self *CommitFileTree) Get(index int) *CommitFileNode {
// need to traverse the three depth first until we get to the index.
return self.tree.GetNodeAtIndex(index+1, self.collapsedPaths) // ignoring root
}
@@ -60,7 +60,7 @@ func (self *CommitFileTree) GetAllItems() []*CommitFileNode {
return self.tree.Flatten(self.collapsedPaths)[1:] // ignoring root
}
-func (self *CommitFileTree) GetItemsLength() int {
+func (self *CommitFileTree) Len() int {
return self.tree.Size(self.collapsedPaths) - 1 // ignoring root
}
diff --git a/pkg/gui/filetree/commit_file_tree_view_model.go b/pkg/gui/filetree/commit_file_tree_view_model.go
index e80003d28..72960c702 100644
--- a/pkg/gui/filetree/commit_file_tree_view_model.go
+++ b/pkg/gui/filetree/commit_file_tree_view_model.go
@@ -61,16 +61,16 @@ func (self *CommitFileTreeViewModel) SetCanRebase(canRebase bool) {
self.canRebase = canRebase
}
-func (self *CommitFileTreeViewModel) GetSelectedFileNode() *CommitFileNode {
- if self.GetItemsLength() == 0 {
+func (self *CommitFileTreeViewModel) GetSelected() *CommitFileNode {
+ if self.Len() == 0 {
return nil
}
- return self.GetItemAtIndex(self.GetSelectedLineIdx())
+ return self.Get(self.GetSelectedLineIdx())
}
func (self *CommitFileTreeViewModel) GetSelectedFile() *models.CommitFile {
- node := self.GetSelectedFileNode()
+ node := self.GetSelected()
if node == nil {
return nil
}
@@ -79,7 +79,7 @@ func (self *CommitFileTreeViewModel) GetSelectedFile() *models.CommitFile {
}
func (self *CommitFileTreeViewModel) GetSelectedPath() string {
- node := self.GetSelectedFileNode()
+ node := self.GetSelected()
if node == nil {
return ""
}
@@ -89,7 +89,7 @@ func (self *CommitFileTreeViewModel) GetSelectedPath() string {
// duplicated from file_tree_view_model.go. Generics will help here
func (self *CommitFileTreeViewModel) ToggleShowTree() {
- selectedNode := self.GetSelectedFileNode()
+ selectedNode := self.GetSelected()
self.ICommitFileTree.ToggleShowTree()
diff --git a/pkg/gui/filetree/file_tree.go b/pkg/gui/filetree/file_tree.go
index 113027e59..0d0524470 100644
--- a/pkg/gui/filetree/file_tree.go
+++ b/pkg/gui/filetree/file_tree.go
@@ -22,7 +22,7 @@ type ITree interface {
ExpandToPath(path string)
ToggleShowTree()
GetIndexForPath(path string) (int, bool)
- GetItemsLength() int
+ Len() int
SetTree()
IsCollapsed(path string) bool
ToggleCollapsed(path string)
@@ -35,7 +35,7 @@ type IFileTree interface {
FilterFiles(test func(*models.File) bool) []*models.File
SetFilter(filter FileTreeDisplayFilter)
- GetItemAtIndex(index int) *FileNode
+ Get(index int) *FileNode
GetFile(path string) *models.File
GetAllItems() []*FileNode
GetAllFiles() []*models.File
@@ -104,7 +104,7 @@ func (self *FileTree) ToggleShowTree() {
self.SetTree()
}
-func (self *FileTree) GetItemAtIndex(index int) *FileNode {
+func (self *FileTree) Get(index int) *FileNode {
// need to traverse the three depth first until we get to the index.
return self.tree.GetNodeAtIndex(index+1, self.collapsedPaths) // ignoring root
}
@@ -135,7 +135,7 @@ func (self *FileTree) GetAllItems() []*FileNode {
return self.tree.Flatten(self.collapsedPaths)[1:] // ignoring root
}
-func (self *FileTree) GetItemsLength() int {
+func (self *FileTree) Len() int {
return self.tree.Size(self.collapsedPaths) - 1 // ignoring root
}
diff --git a/pkg/gui/filetree/file_tree_view_model.go b/pkg/gui/filetree/file_tree_view_model.go
index 9adb04cf1..333be8da2 100644
--- a/pkg/gui/filetree/file_tree_view_model.go
+++ b/pkg/gui/filetree/file_tree_view_model.go
@@ -35,16 +35,16 @@ func NewFileTreeViewModel(getFiles func() []*models.File, log *logrus.Entry, sho
}
}
-func (self *FileTreeViewModel) GetSelectedFileNode() *FileNode {
- if self.GetItemsLength() == 0 {
+func (self *FileTreeViewModel) GetSelected() *FileNode {
+ if self.Len() == 0 {
return nil
}
- return self.GetItemAtIndex(self.GetSelectedLineIdx())
+ return self.Get(self.GetSelectedLineIdx())
}
func (self *FileTreeViewModel) GetSelectedFile() *models.File {
- node := self.GetSelectedFileNode()
+ node := self.GetSelected()
if node == nil {
return nil
}
@@ -53,7 +53,7 @@ func (self *FileTreeViewModel) GetSelectedFile() *models.File {
}
func (self *FileTreeViewModel) GetSelectedPath() string {
- node := self.GetSelectedFileNode()
+ node := self.GetSelected()
if node == nil {
return ""
}
@@ -63,7 +63,7 @@ func (self *FileTreeViewModel) GetSelectedPath() string {
func (self *FileTreeViewModel) SetTree() {
newFiles := self.GetAllFiles()
- selectedNode := self.GetSelectedFileNode()
+ selectedNode := self.GetSelected()
// for when you stage the old file of a rename and the new file is in a collapsed dir
for _, file := range newFiles {
@@ -135,7 +135,7 @@ func (self *FileTreeViewModel) SetFilter(filter FileTreeDisplayFilter) {
// If we're going from tree to flat and we have a file selected we want to select that.
// If instead we've selected a directory we need to select the first file in that directory.
func (self *FileTreeViewModel) ToggleShowTree() {
- selectedNode := self.GetSelectedFileNode()
+ selectedNode := self.GetSelected()
self.IFileTree.ToggleShowTree()