github.com/AlpineAIO/wails/v2@v2.0.0-beta.32.0.20240505041856-1047a8fa5fef/internal/go-common-file-dialog/cfdutil/CFDUtil.go (about)

     1  package cfdutil
     2  
     3  import (
     4  	"github.com/AlpineAIO/wails/v2/internal/go-common-file-dialog/cfd"
     5  )
     6  
     7  // TODO doc
     8  func ShowOpenFileDialog(config cfd.DialogConfig) (string, error) {
     9  	dialog, err := cfd.NewOpenFileDialog(config)
    10  	if err != nil {
    11  		return "", err
    12  	}
    13  	defer func() {
    14  		_ = dialog.Release()
    15  	}()
    16  	return dialog.ShowAndGetResult()
    17  }
    18  
    19  // TODO doc
    20  func ShowOpenMultipleFilesDialog(config cfd.DialogConfig) ([]string, error) {
    21  	dialog, err := cfd.NewOpenMultipleFilesDialog(config)
    22  	if err != nil {
    23  		return nil, err
    24  	}
    25  	defer func() {
    26  		_ = dialog.Release()
    27  	}()
    28  	return dialog.ShowAndGetResults()
    29  }
    30  
    31  // TODO doc
    32  func ShowPickFolderDialog(config cfd.DialogConfig) (string, error) {
    33  	dialog, err := cfd.NewSelectFolderDialog(config)
    34  	if err != nil {
    35  		return "", err
    36  	}
    37  	defer func() {
    38  		_ = dialog.Release()
    39  	}()
    40  	return dialog.ShowAndGetResult()
    41  }
    42  
    43  // TODO doc
    44  func ShowSaveFileDialog(config cfd.DialogConfig) (string, error) {
    45  	dialog, err := cfd.NewSaveFileDialog(config)
    46  	if err != nil {
    47  		return "", err
    48  	}
    49  	defer func() {
    50  		_ = dialog.Release()
    51  	}()
    52  	return dialog.ShowAndGetResult()
    53  }