summaryrefslogtreecommitdiffstats
path: root/pkg/gui/controllers/tags_controller.go
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2023-10-08 16:46:04 +0200
committerStefan Haller <stefan@haller-berlin.de>2023-10-08 18:45:36 +0200
commit3d6965ccbbd992adc7cd68015dfd38309cbc8835 (patch)
treedeaf6ae598dd10e06747d248269c37e4c5addfb9 /pkg/gui/controllers/tags_controller.go
parent707fa37160e82c1c88cc44a7ae07762ccec48008 (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.go13
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
})
},