You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

44 lines
1.1 KiB

package os
import (
"github.com/pkg/browser"
"github.com/wailsapp/wails"
"portfall/pkg/logger"
)
// PortfallOS manages os related functionality such as opening files or browsers
type PortfallOS struct {
rt *wails.Runtime
log *logger.CustomLogger
}
// OpenFile opens the system dialog to get a file and return it to the frontend
func (p *PortfallOS) OpenFile() string {
file := p.rt.Dialog.SelectFile()
return file
}
// OpenInBrowser opens the operating system browser at the specified url
func (p *PortfallOS) OpenInBrowser(openUrl string) {
err := browser.OpenURL(openUrl)
if err != nil {
p.log.Errorf("%v", err)
}
}
func (p *PortfallOS) GetVersion() string {
//bi, ok := debug.ReadBuildInfo()
//if !ok {
// p.log.Warn("Could not get build info")
//}
//p.log.Debugf("Got version %s", bi.Main.Version)
//return bi.Main.Version
return "v0.8.4"
}
// WailsInit assigns the runtime to the PortfallOS struct
func (p *PortfallOS) WailsInit(runtime *wails.Runtime) error {
p.rt = runtime
p.log = logger.NewCustomLogger("PortfallOS", runtime)
return nil
}