mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 05:11:29 +08:00
48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package runtime
|
|
|
|
import "github.com/wailsapp/wails/lib/interfaces"
|
|
import "strings"
|
|
|
|
// Dialog exposes an interface to native dialogs
|
|
type Dialog struct {
|
|
renderer interfaces.Renderer
|
|
}
|
|
|
|
// NewDialog creates a new Dialog struct
|
|
func NewDialog(renderer interfaces.Renderer) *Dialog {
|
|
return &Dialog{
|
|
renderer: renderer,
|
|
}
|
|
}
|
|
|
|
// SelectFile prompts the user to select a file
|
|
func (r *Dialog) SelectFile(params ...string) string {
|
|
title := "Select File"
|
|
filter := ""
|
|
if len(params) > 0 {
|
|
title = params[0]
|
|
}
|
|
if len(params) > 1 {
|
|
filter = strings.Replace(params[1], " ", "", -1)
|
|
}
|
|
return r.renderer.SelectFile(title, filter)
|
|
}
|
|
|
|
// SelectDirectory prompts the user to select a directory
|
|
func (r *Dialog) SelectDirectory() string {
|
|
return r.renderer.SelectDirectory()
|
|
}
|
|
|
|
// SelectSaveFile prompts the user to select a file for saving
|
|
func (r *Dialog) SelectSaveFile(params ...string) string {
|
|
title := "Select Save"
|
|
filter := ""
|
|
if len(params) > 0 {
|
|
title = params[0]
|
|
}
|
|
if len(params) > 1 {
|
|
filter = strings.Replace(params[1], " ", "", -1)
|
|
}
|
|
return r.renderer.SelectSaveFile(title, filter)
|
|
}
|