summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-09-30 22:05:34 +1000
committerJesse Duffield <jessedduffield@gmail.com>2020-10-02 08:09:42 +1000
commit71d4c552aff78fc4095a3fd03b1e250511fbb13f (patch)
tree4f6a5f17bc13eeeca2446f990f811e55f04b855d /pkg/gui
parentd4ab607d0dd94f73eb1dcd4ba9842eb86b6aa0f4 (diff)
allow updating submodule url
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/keybindings.go7
-rw-r--r--pkg/gui/submodules_panel.go24
2 files changed, 23 insertions, 8 deletions
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go
index 7ee9cacee..1c1fa6c9a 100644
--- a/pkg/gui/keybindings.go
+++ b/pkg/gui/keybindings.go
@@ -1608,6 +1608,13 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
Handler: gui.wrappedHandler(gui.handleAddSubmodule),
Description: gui.Tr.SLocalize("addSubmodule"),
},
+ {
+ ViewName: "files",
+ Contexts: []string{SUBMODULES_CONTEXT_KEY},
+ Key: gui.getKey("universal.edit"),
+ Handler: gui.wrappedHandler(gui.handleEditSubmoduleUrl),
+ Description: gui.Tr.SLocalize("editSubmoduleUrl"),
+ },
}
for _, viewName := range []string{"status", "branches", "files", "commits", "commitFiles", "stash", "menu"} {
diff --git a/pkg/gui/submodules_panel.go b/pkg/gui/submodules_panel.go
index abc021123..9fc847e7f 100644
--- a/pkg/gui/submodules_panel.go
+++ b/pkg/gui/submodules_panel.go
@@ -130,20 +130,28 @@ func (gui *Gui) handleAddSubmodule() error {
return gui.prompt(gui.Tr.SLocalize("newSubmoduleName"), nameSuggestion, func(submoduleName string) error {
return gui.prompt(gui.Tr.SLocalize("newSubmodulePath"), submoduleName, func(submodulePath string) error {
return gui.WithWaitingStatus(gui.Tr.SLocalize("addingSubmoduleStatus"), func() error {
- err := gui.GitCommand.AddSubmodule(submoduleName, submodulePath, submoduleUrl)
+ err := gui.GitCommand.SubmoduleAdd(submoduleName, submodulePath, submoduleUrl)
gui.handleCredentialsPopup(err)
return gui.refreshSidePanels(refreshOptions{scope: []int{SUBMODULES}})
})
+ })
+ })
+ })
+}
+
+func (gui *Gui) handleEditSubmoduleUrl() error {
+ submodule := gui.getSelectedSubmodule()
+ if submodule == nil {
+ return nil
+ }
- // go func() {
- // err := gui.GitCommand.AddSubmodule(submoduleName, submodulePath, submoduleUrl)
- // gui.handleCredentialsPopup(err)
+ return gui.prompt(gui.Tr.SLocalizef("updateSubmoduleUrl", submodule.Name), submodule.Url, func(newUrl string) error {
+ return gui.WithWaitingStatus(gui.Tr.SLocalize("updatingSubmoduleUrlStatus"), func() error {
+ err := gui.GitCommand.SubmoduleUpdateUrl(submodule.Name, newUrl)
+ gui.handleCredentialsPopup(err)
- // _ = gui.refreshSidePanels(refreshOptions{scope: []int{SUBMODULES}})
- // }()
- return nil
- })
+ return gui.refreshSidePanels(refreshOptions{scope: []int{SUBMODULES}})
})
})
}