Add services pause functionality

pull/317/head
Luka Markušić 2 years ago
parent badc92f192
commit 0ced576d9c

@ -297,6 +297,13 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
Handler: gui.handleServiceStop,
Description: gui.Tr.Stop,
},
{
ViewName: "services",
Key: 'p',
Modifier: gocui.ModNone,
Handler: gui.handleServicePause,
Description: gui.Tr.Pause,
},
{
ViewName: "services",
Key: 'r',

@ -219,6 +219,30 @@ func (gui *Gui) handleServiceRemoveMenu(g *gocui.Gui, v *gocui.View) error {
return gui.createServiceCommandMenu(options, gui.Tr.RemovingStatus)
}
func (gui *Gui) handleServicePause(g *gocui.Gui, v *gocui.View) error {
service, err := gui.getSelectedService()
if err != nil {
return nil
}
if service.Container == nil {
return nil
}
return gui.WithWaitingStatus(gui.Tr.PausingStatus, func() error {
if service.Container.Details.State.Paused {
err = service.Container.Unpause()
} else {
err = service.Container.Pause()
}
if err != nil {
return gui.createErrorPanel(gui.g, err.Error())
}
return gui.refreshContainersAndServices()
})
}
func (gui *Gui) handleServiceStop(g *gocui.Gui, v *gocui.View) error {
service, err := gui.getSelectedService()
if err != nil {

Loading…
Cancel
Save