From ee0a305972fa6482313589e75ac676f63d4649bd Mon Sep 17 00:00:00 2001 From: Leonid Nikitin Date: Sat, 10 Feb 2024 20:11:26 +0600 Subject: [PATCH] I made sure that the current folder was saved. --- src/convertor/view.go | 21 +++++++++++++++++++-- src/convertor/view_setting.go | 18 ++++++++++++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/convertor/view.go b/src/convertor/view.go index 0ef751f..7a18160 100644 --- a/src/convertor/view.go +++ b/src/convertor/view.go @@ -6,11 +6,13 @@ import ( "fyne.io/fyne/v2/canvas" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/dialog" + "fyne.io/fyne/v2/storage" "fyne.io/fyne/v2/widget" "git.kor-elf.net/kor-elf/gui-for-ffmpeg/src/helper" "git.kor-elf.net/kor-elf/gui-for-ffmpeg/src/localizer" "github.com/nicksnyder/go-i18n/v2/i18n" "image/color" + "path/filepath" ) type ViewContract interface { @@ -78,14 +80,14 @@ func (v View) Main( Widget: fileVideoForConversion, }, { - Widget: fileVideoForConversionMessage, + Widget: container.NewHScroll(fileVideoForConversionMessage), }, { Text: v.localizerService.GetMessage(&i18n.LocalizeConfig{MessageID: "buttonForSelectedDirTitle"}), Widget: buttonForSelectedDir, }, { - Widget: buttonForSelectedDirMessage, + Widget: container.NewHScroll(buttonForSelectedDirMessage), }, { Widget: checkboxOverwriteOutputFiles, @@ -147,6 +149,8 @@ func (v View) getButtonFileVideoForConversion(form *widget.Form, progress *widge MessageID: "choose", }) + var locationURI fyne.ListableURI + button := widget.NewButton(buttonTitle, func() { fileDialog := dialog.NewFileOpen( func(r fyne.URIReadCloser, err error) { @@ -170,9 +174,15 @@ func (v View) getButtonFileVideoForConversion(form *widget.Form, progress *widge progress.Value = 0 progress.Refresh() conversionMessage.Text = "" + + listableURI := storage.NewFileURI(filepath.Dir(r.URI().Path())) + locationURI, err = storage.ListerForURI(listableURI) }, v.w) helper.FileDialogResize(fileDialog, v.w) fileDialog.Show() + if locationURI != nil { + fileDialog.SetLocation(locationURI) + } }) return button, fileVideoForConversionMessage, fileInput @@ -190,6 +200,8 @@ func (v View) getButtonForSelectingDirectoryForSaving() (button *widget.Button, MessageID: "choose", }) + var locationURI fyne.ListableURI + button = widget.NewButton(buttonTitle, func() { fileDialog := dialog.NewFolderOpen( func(r fyne.ListableURI, err error) { @@ -206,9 +218,14 @@ func (v View) getButtonForSelectingDirectoryForSaving() (button *widget.Button, buttonMessage.Text = r.Path() setStringSuccessStyle(buttonMessage) + locationURI, _ = storage.ListerForURI(r) + }, v.w) helper.FileDialogResize(fileDialog, v.w) fileDialog.Show() + if locationURI != nil { + fileDialog.SetLocation(locationURI) + } }) return diff --git a/src/convertor/view_setting.go b/src/convertor/view_setting.go index 813c8ea..c09acba 100644 --- a/src/convertor/view_setting.go +++ b/src/convertor/view_setting.go @@ -5,11 +5,13 @@ import ( "fyne.io/fyne/v2/canvas" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/dialog" + "fyne.io/fyne/v2/storage" "fyne.io/fyne/v2/widget" "git.kor-elf.net/kor-elf/gui-for-ffmpeg/src/helper" "github.com/nicksnyder/go-i18n/v2/i18n" "image/color" "net/url" + "path/filepath" ) func (v View) SelectFFPath( @@ -47,7 +49,7 @@ func (v View) SelectFFPath( Widget: buttonFFmpeg, }, { - Widget: buttonFFmpegMessage, + Widget: container.NewHScroll(buttonFFmpegMessage), }, { Text: v.localizerService.GetMessage(&i18n.LocalizeConfig{ @@ -56,7 +58,7 @@ func (v View) SelectFFPath( Widget: buttonFFprobe, }, { - Widget: buttonFFprobeMessage, + Widget: container.NewHScroll(buttonFFprobeMessage), }, { Widget: errorMessage, @@ -99,6 +101,12 @@ func (v View) getButtonSelectFile(path string) (filePath *string, button *widget MessageID: "choose", }) + var locationURI fyne.ListableURI + if len(path) > 0 { + listableURI := storage.NewFileURI(filepath.Dir(path)) + locationURI, _ = storage.ListerForURI(listableURI) + } + button = widget.NewButton(buttonTitle, func() { fileDialog := dialog.NewFileOpen( func(r fyne.URIReadCloser, err error) { @@ -115,9 +123,15 @@ func (v View) getButtonSelectFile(path string) (filePath *string, button *widget buttonMessage.Text = r.URI().Path() setStringSuccessStyle(buttonMessage) + + listableURI := storage.NewFileURI(filepath.Dir(r.URI().Path())) + locationURI, _ = storage.ListerForURI(listableURI) }, v.w) helper.FileDialogResize(fileDialog, v.w) fileDialog.Show() + if locationURI != nil { + fileDialog.SetLocation(locationURI) + } }) return