42 lines
768 B
Go
42 lines
768 B
Go
package ui
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"varia.zone/hui/internal/bldr"
|
|
"varia.zone/hui/internal/conf"
|
|
"varia.zone/hui/internal/model"
|
|
)
|
|
|
|
// ShowErrDialog raises a dialog dedicated to showing error messages.
|
|
func ShowErrDialog(m *model.Model, uiErr error) error {
|
|
dialog, err := bldr.GetDialog(m.Builder, conf.ErrorDialog)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
label, err := bldr.GetLabel(m.Builder, conf.ErrorMessageLabel)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
label.SetLabel(fmt.Sprintf("ERROR: %s", uiErr))
|
|
label.Show()
|
|
|
|
dialog.Show()
|
|
|
|
return nil
|
|
}
|
|
|
|
// HideErrorDialog handles the hide error dialog signal.
|
|
func HideErrorDialog(m *model.Model) error {
|
|
dialog, err := bldr.GetDialog(m.Builder, conf.ErrorDialog)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
dialog.Hide()
|
|
|
|
return nil
|
|
}
|