summaryrefslogtreecommitdiff
path: root/vendor/0xacab.org/leap/go-dialog/dlgs_linux.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/0xacab.org/leap/go-dialog/dlgs_linux.go')
-rw-r--r--vendor/0xacab.org/leap/go-dialog/dlgs_linux.go122
1 files changed, 0 insertions, 122 deletions
diff --git a/vendor/0xacab.org/leap/go-dialog/dlgs_linux.go b/vendor/0xacab.org/leap/go-dialog/dlgs_linux.go
deleted file mode 100644
index ea8ac3d..0000000
--- a/vendor/0xacab.org/leap/go-dialog/dlgs_linux.go
+++ /dev/null
@@ -1,122 +0,0 @@
-package dialog
-
-import (
- "os"
- "path/filepath"
-
- "github.com/gotk3/gotk3/gdk"
- "github.com/gotk3/gotk3/glib"
- "github.com/gotk3/gotk3/gtk"
-)
-
-func closeDialog(dlg *gtk.Dialog) {
- dlg.Destroy()
-}
-
-func (b *MsgBuilder) yesNo() bool {
- ch := make(chan bool)
- _, err := glib.IdleAdd(b._yesNo, ch)
- if err != nil {
- return false
- }
- return <-ch
-}
-
-func (b *MsgBuilder) _yesNo(ch chan bool) bool {
- dlg := gtk.MessageDialogNew(nil, 0, gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, "%s", b.Msg)
- dlg.SetTitle(firstOf(b.Dlg.Title, "Confirm?"))
- b.setIcon(dlg)
- defer closeDialog(&dlg.Dialog)
- ch <- dlg.Run() == gtk.RESPONSE_YES
- return false
-}
-
-func (b *MsgBuilder) info() {
- ch := make(chan bool)
- glib.IdleAdd(b._info, ch)
- <-ch
-}
-
-func (b *MsgBuilder) _info(ch chan bool) {
- dlg := gtk.MessageDialogNew(nil, 0, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, "%s", b.Msg)
- dlg.SetTitle(firstOf(b.Dlg.Title, "Information"))
- b.setIcon(dlg)
- defer closeDialog(&dlg.Dialog)
- dlg.Run()
- ch <- true
-}
-
-func (b *MsgBuilder) error() {
- ch := make(chan bool)
- glib.IdleAdd(b._info, ch)
- <-ch
-}
-
-func (b *MsgBuilder) _error() {
- dlg := gtk.MessageDialogNew(nil, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "%s", b.Msg)
- dlg.SetTitle(firstOf(b.Dlg.Title, "Error"))
- b.setIcon(dlg)
- defer closeDialog(&dlg.Dialog)
- dlg.Run()
-}
-
-func (b *MsgBuilder) setIcon(dlg *gtk.MessageDialog) {
- if b.IconPath == "" {
- return
- }
-
- pixbuf, err := gdk.PixbufNewFromFile(b.IconPath)
- if err != nil {
- return
- }
- dlg.SetIcon(pixbuf)
-}
-
-func (b *FileBuilder) load() (string, error) {
- return chooseFile("Load", gtk.FILE_CHOOSER_ACTION_OPEN, b)
-}
-
-func (b *FileBuilder) save() (string, error) {
- f, err := chooseFile("Save", gtk.FILE_CHOOSER_ACTION_SAVE, b)
- if err != nil {
- return "", err
- }
- _, err = os.Stat(f)
- if !os.IsNotExist(err) && !Message("%s already exists, overwrite?", filepath.Base(f)).yesNo() {
- return "", Cancelled
- }
- return f, nil
-}
-
-func chooseFile(title string, action gtk.FileChooserAction, b *FileBuilder) (string, error) {
- dlg, err := gtk.FileChooserDialogNewWith2Buttons(firstOf(b.Dlg.Title, title), nil, action, "Ok", gtk.RESPONSE_ACCEPT, "Cancel", gtk.RESPONSE_CANCEL)
- if err != nil {
- return "", err
- }
-
- for _, filt := range b.Filters {
- filter, err := gtk.FileFilterNew()
- if err != nil {
- return "", err
- }
-
- filter.SetName(filt.Desc)
- for _, ext := range filt.Extensions {
- filter.AddPattern("*." + ext)
- }
- dlg.AddFilter(filter)
- }
- if b.StartDir != "" {
- dlg.SetCurrentFolder(b.StartDir)
- }
- r := dlg.Run()
- defer closeDialog(&dlg.Dialog)
- if r == gtk.RESPONSE_ACCEPT {
- return dlg.GetFilename(), nil
- }
- return "", Cancelled
-}
-
-func (b *DirectoryBuilder) browse() (string, error) {
- return chooseFile("Open Directory", gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, &FileBuilder{Dlg: b.Dlg})
-}