diff options
author | Stefan Haller <stefan@haller-berlin.de> | 2023-10-08 16:46:04 +0200 |
---|---|---|
committer | Stefan Haller <stefan@haller-berlin.de> | 2023-10-08 18:45:36 +0200 |
commit | 3d6965ccbbd992adc7cd68015dfd38309cbc8835 (patch) | |
tree | deaf6ae598dd10e06747d248269c37e4c5addfb9 /pkg/gui/controllers/tags_controller.go | |
parent | 707fa37160e82c1c88cc44a7ae07762ccec48008 (diff) |
Add inline status for pushing tags and deleting remote tags
Diffstat (limited to 'pkg/gui/controllers/tags_controller.go')
-rw-r--r-- | pkg/gui/controllers/tags_controller.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/pkg/gui/controllers/tags_controller.go b/pkg/gui/controllers/tags_controller.go index 2fa24f734..224ad83a4 100644 --- a/pkg/gui/controllers/tags_controller.go +++ b/pkg/gui/controllers/tags_controller.go @@ -129,9 +129,9 @@ func (self *TagsController) remoteDelete(tag *models.Tag) error { Title: confirmTitle, Prompt: confirmPrompt, HandleConfirm: func() error { - return self.c.WithWaitingStatus(self.c.Tr.DeletingStatus, func(t gocui.Task) error { + return self.c.WithInlineStatus(tag, types.ItemOperationDeleting, context.TAGS_CONTEXT_KEY, func(task gocui.Task) error { self.c.LogAction(self.c.Tr.Actions.DeleteRemoteTag) - if err := self.c.Git().Remote.DeleteRemoteTag(t, upstream, tag.Name); err != nil { + if err := self.c.Git().Remote.DeleteRemoteTag(task, upstream, tag.Name); err != nil { return err } self.c.Toast(self.c.Tr.RemoteTagDeletedMessage) @@ -188,9 +188,16 @@ func (self *TagsController) push(tag *models.Tag) error { InitialContent: "origin", FindSuggestionsFunc: self.c.Helpers().Suggestions.GetRemoteSuggestionsFunc(), HandleConfirm: func(response string) error { - return self.c.WithWaitingStatus(self.c.Tr.PushingTagStatus, func(task gocui.Task) error { + return self.c.WithInlineStatus(tag, types.ItemOperationPushing, context.TAGS_CONTEXT_KEY, func(task gocui.Task) error { self.c.LogAction(self.c.Tr.Actions.PushTag) err := self.c.Git().Tag.Push(task, response, tag.Name) + + // Render again to remove the inline status: + self.c.OnUIThread(func() error { + _ = self.c.Contexts().Tags.HandleRender() + return nil + }) + return err }) }, |