package credential import ( "image/color" "fyne.io/fyne/v2" "fyne.io/fyne/v2/canvas" "fyne.io/fyne/v2/dialog" "fyne.io/fyne/v2/widget" ) type ( CredentialDialog struct { *dialog.FormDialog inputUsername *widget.Entry inputPassword *widget.Entry } ) func Make(remoteHostname string, callback func(v bool), w fyne.Window) *CredentialDialog { label := canvas.NewText("Connexion to "+remoteHostname, color.Black) inputUsername := widget.NewEntry() inputUsername.SetPlaceHolder("Username") inputPassword := widget.NewEntry() inputPassword.Password = true inputPassword.SetPlaceHolder("Password") formItems := []*widget.FormItem{ { Text: "", Widget: label, }, { Text: "Username", Widget: inputUsername, }, { Text: "Password", Widget: inputPassword, }, } d := &CredentialDialog{ FormDialog: dialog.NewForm("Syncing", "Connexion", "Cancel", formItems, callback, w), inputUsername: inputUsername, inputPassword: inputPassword, } return d } func (c *CredentialDialog) Credentials() (string, string) { return c.inputUsername.Text, c.inputPassword.Text }