diff options
author | Kali Kaneko (leap communications) <kali@leap.se> | 2019-01-12 18:39:45 +0100 |
---|---|---|
committer | Ruben Pollan <meskio@sindominio.net> | 2019-01-17 12:30:32 +0100 |
commit | b1247d2d0d51108c910a73891ff3116e5f032ab1 (patch) | |
tree | e9948964f0bfb1ad2df3bc7bad02aa1f41ccfbd8 /vendor/0xacab.org/leap/go-dialog/dlgs_darwin.go | |
parent | efcb8312e31b5c2261b1a1e95ace55b322cfcc27 (diff) |
[pkg] all your deps are vendored to us
Diffstat (limited to 'vendor/0xacab.org/leap/go-dialog/dlgs_darwin.go')
-rw-r--r-- | vendor/0xacab.org/leap/go-dialog/dlgs_darwin.go | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/vendor/0xacab.org/leap/go-dialog/dlgs_darwin.go b/vendor/0xacab.org/leap/go-dialog/dlgs_darwin.go new file mode 100644 index 0000000..ae28560 --- /dev/null +++ b/vendor/0xacab.org/leap/go-dialog/dlgs_darwin.go @@ -0,0 +1,58 @@ +package dialog + +import ( + "github.com/sqweek/dialog/cocoa" +) + +func (b *MsgBuilder) yesNo() bool { + return cocoa.YesNoDlg(b.Msg, b.Dlg.Title) +} + +func (b *MsgBuilder) info() { + cocoa.InfoDlg(b.Msg, b.Dlg.Title) +} + +func (b *MsgBuilder) error() { + cocoa.ErrorDlg(b.Msg, b.Dlg.Title) +} + +func (b *FileBuilder) load() (string, error) { + return b.run(false) +} + +func (b *FileBuilder) save() (string, error) { + return b.run(true) +} + +func (b *FileBuilder) run(save bool) (string, error) { + star := false + var exts []string + for _, filt := range b.Filters { + for _, ext := range filt.Extensions { + if ext == "*" { + star = true + } else { + exts = append(exts, ext) + } + } + } + if star && save { + /* OSX doesn't allow the user to switch visible file types/extensions. Also + ** NSSavePanel's allowsOtherFileTypes property has no effect for an open + ** dialog, so if "*" is a possible extension we must always show all files. */ + exts = nil + } + f, err := cocoa.FileDlg(save, b.Dlg.Title, exts, star) + if f == "" && err == nil { + return "", Cancelled + } + return f, err +} + +func (b *DirectoryBuilder) browse() (string, error) { + f, err := cocoa.DirDlg(b.Dlg.Title); + if f == "" && err == nil { + return "", Cancelled + } + return f, err +} |