mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-06 23:46:13 +02:00
pkg/gui: Add support for 'notification' popups
Add a new 'Notification()' method to 'IPopupHandler' that makes it easier to show a modal info message to the user. This is simply a convenience wrapper around 'Ask()', so the popup can be closed using both 'Enter' and 'ESC'.
This commit is contained in:
parent
ac406f57ff
commit
9bccc20888
@ -85,6 +85,10 @@ func (self *RealPopupHandler) ErrorMsg(message string) error {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *RealPopupHandler) Alert(title string, message string) error {
|
||||||
|
return self.Ask(types.AskOpts{Title: title, Prompt: message})
|
||||||
|
}
|
||||||
|
|
||||||
func (self *RealPopupHandler) Ask(opts types.AskOpts) error {
|
func (self *RealPopupHandler) Ask(opts types.AskOpts) error {
|
||||||
self.Lock()
|
self.Lock()
|
||||||
self.index++
|
self.index++
|
||||||
@ -147,7 +151,7 @@ func (self *RealPopupHandler) WithLoaderPanel(message string, f func() error) er
|
|||||||
}
|
}
|
||||||
|
|
||||||
// returns the content that has currently been typed into the prompt. Useful for
|
// returns the content that has currently been typed into the prompt. Useful for
|
||||||
// asyncronously updating the suggestions list under the prompt.
|
// asynchronously updating the suggestions list under the prompt.
|
||||||
func (self *RealPopupHandler) GetPromptInput() string {
|
func (self *RealPopupHandler) GetPromptInput() string {
|
||||||
return self.getPromptInputFn()
|
return self.getPromptInputFn()
|
||||||
}
|
}
|
||||||
@ -168,6 +172,10 @@ func (self *TestPopupHandler) ErrorMsg(message string) error {
|
|||||||
return self.OnErrorMsg(message)
|
return self.OnErrorMsg(message)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *TestPopupHandler) Alert(title string, message string) error {
|
||||||
|
panic("not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
func (self *TestPopupHandler) Ask(opts types.AskOpts) error {
|
func (self *TestPopupHandler) Ask(opts types.AskOpts) error {
|
||||||
return self.OnAsk(opts)
|
return self.OnAsk(opts)
|
||||||
}
|
}
|
||||||
|
@ -50,6 +50,10 @@ type IGuiCommon interface {
|
|||||||
type IPopupHandler interface {
|
type IPopupHandler interface {
|
||||||
ErrorMsg(message string) error
|
ErrorMsg(message string) error
|
||||||
Error(err error) error
|
Error(err error) error
|
||||||
|
// Shows a notification popup with the given title and message to the user.
|
||||||
|
//
|
||||||
|
// This is a convenience wrapper around Ask(), thus the popup can be closed using both 'Enter' and 'ESC'.
|
||||||
|
Alert(title string, message string) error
|
||||||
Ask(opts AskOpts) error
|
Ask(opts AskOpts) error
|
||||||
Prompt(opts PromptOpts) error
|
Prompt(opts PromptOpts) error
|
||||||
WithLoaderPanel(message string, f func() error) error
|
WithLoaderPanel(message string, f func() error) error
|
||||||
|
Loading…
x
Reference in New Issue
Block a user