diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2022-01-30 13:08:09 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-17 19:13:40 +1100 |
commit | 8ea7b7a62e5a09314bbe7a446a45e649d66b524d (patch) | |
tree | 4f2e2fe927b5f8380249e51eef30820383d145e2 /pkg/gui/controllers/files_controller.go | |
parent | 09dc160da98a0a4fe976d3d174cc93af57c53892 (diff) |
migrate files context to new structure
Diffstat (limited to 'pkg/gui/controllers/files_controller.go')
-rw-r--r-- | pkg/gui/controllers/files_controller.go | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/pkg/gui/controllers/files_controller.go b/pkg/gui/controllers/files_controller.go index b8e853d48..a27197948 100644 --- a/pkg/gui/controllers/files_controller.go +++ b/pkg/gui/controllers/files_controller.go @@ -22,13 +22,13 @@ type FilesController struct { // struct embedding, but Go does not allow hiding public fields in an embedded struct // to the client c *types.ControllerCommon - getContext func() types.IListContext + getContext func() *context.WorkingTreeContext + getFiles func() []*models.File git *commands.GitCommand os *oscommands.OSCommand getSelectedFileNode func() *filetree.FileNode getContexts func() context.ContextTree - getViewModel func() *filetree.FileTreeViewModel enterSubmodule func(submodule *models.SubmoduleConfig) error getSubmodules func() []*models.SubmoduleConfig setCommitMessage func(message string) @@ -48,12 +48,12 @@ var _ types.IController = &FilesController{} func NewFilesController( c *types.ControllerCommon, - getContext func() types.IListContext, + getContext func() *context.WorkingTreeContext, + getFiles func() []*models.File, git *commands.GitCommand, os *oscommands.OSCommand, getSelectedFileNode func() *filetree.FileNode, allContexts func() context.ContextTree, - getViewModel func() *filetree.FileTreeViewModel, enterSubmodule func(submodule *models.SubmoduleConfig) error, getSubmodules func() []*models.SubmoduleConfig, setCommitMessage func(message string), @@ -70,11 +70,11 @@ func NewFilesController( return &FilesController{ c: c, getContext: getContext, + getFiles: getFiles, git: git, os: os, getSelectedFileNode: getSelectedFileNode, getContexts: allContexts, - getViewModel: getViewModel, enterSubmodule: enterSubmodule, getSubmodules: getSubmodules, setCommitMessage: setCommitMessage, @@ -185,6 +185,7 @@ func (self *FilesController) Keybindings(getKey func(key string) interface{}, co Description: self.c.Tr.LcViewResetToUpstreamOptions, OpensMenu: true, }, + // here { Key: getKey(config.Files.ToggleTreeView), Handler: self.toggleTreeView, @@ -303,7 +304,7 @@ func (self *FilesController) EnterFile(opts types.OnFocusOpts) error { } func (self *FilesController) allFilesStaged() bool { - for _, file := range self.getViewModel().GetAllFiles() { + for _, file := range self.getFiles() { if file.HasUnstagedChanges { return false } @@ -433,7 +434,7 @@ func (self *FilesController) HandleCommitPress() error { return self.c.Error(err) } - if self.getViewModel().GetItemsLength() == 0 { + if len(self.getFiles()) == 0 { return self.c.ErrorMsg(self.c.Tr.NoFilesStagedTitle) } @@ -484,7 +485,7 @@ func (self *FilesController) promptToStageAllAndRetry(retry func() error) error } func (self *FilesController) handleAmendCommitPress() error { - if self.getViewModel().GetItemsLength() == 0 { + if len(self.getFiles()) == 0 { return self.c.ErrorMsg(self.c.Tr.NoFilesStagedTitle) } @@ -510,7 +511,7 @@ func (self *FilesController) handleAmendCommitPress() error { // HandleCommitEditorPress - handle when the user wants to commit changes via // their editor rather than via the popup panel func (self *FilesController) HandleCommitEditorPress() error { - if self.getViewModel().GetItemsLength() == 0 { + if len(self.getFiles()) == 0 { return self.c.ErrorMsg(self.c.Tr.NoFilesStagedTitle) } @@ -551,7 +552,7 @@ func (self *FilesController) handleStatusFilterPressed() error { } func (self *FilesController) setStatusFiltering(filter filetree.FileTreeDisplayFilter) error { - self.getViewModel().SetFilter(filter) + self.getContext().FileTreeViewModel.SetFilter(filter) return self.c.PostRefreshUpdate(self.getContext()) } @@ -642,7 +643,7 @@ func (self *FilesController) handleToggleDirCollapsed() error { return nil } - self.getViewModel().ToggleCollapsed(node.GetPath()) + self.getContext().FileTreeViewModel.ToggleCollapsed(node.GetPath()) if err := self.c.PostRefreshUpdate(self.getContexts().Files); err != nil { self.c.Log.Error(err) @@ -655,12 +656,12 @@ func (self *FilesController) toggleTreeView() error { // get path of currently selected file path := self.getSelectedPath() - self.getViewModel().ToggleShowTree() + self.getContext().FileTreeViewModel.ToggleShowTree() // find that same node in the new format and move the cursor to it if path != "" { - self.getViewModel().ExpandToPath(path) - index, found := self.getViewModel().GetIndexForPath(path) + self.getContext().FileTreeViewModel.ExpandToPath(path) + index, found := self.getContext().FileTreeViewModel.GetIndexForPath(path) if found { self.getContext().GetPanelState().SetSelectedLineIdx(index) } |