Версия 0.3.1 #4
@ -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
|
||||
|
@ -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
|
||||
|
@ -178,19 +178,30 @@ func (p Progress) Run(stdOut io.ReadCloser, stdErr io.ReadCloser) error {
|
||||
progress := 0.0
|
||||
|
||||
go func() {
|
||||
scannerErr := bufio.NewScanner(stdErr)
|
||||
for scannerErr.Scan() {
|
||||
errorText = scannerErr.Text()
|
||||
}
|
||||
if err := scannerErr.Err(); err != nil {
|
||||
errorText = err.Error()
|
||||
scannerErr := bufio.NewReader(stdErr)
|
||||
for {
|
||||
line, _, err := scannerErr.ReadLine()
|
||||
if err != nil {
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
continue
|
||||
}
|
||||
data := strings.TrimSpace(string(line))
|
||||
errorText = data
|
||||
}
|
||||
}()
|
||||
|
||||
scannerOut := bufio.NewScanner(stdOut)
|
||||
for scannerOut.Scan() {
|
||||
data := scannerOut.Text()
|
||||
|
||||
scannerOut := bufio.NewReader(stdOut)
|
||||
for {
|
||||
line, _, err := scannerOut.ReadLine()
|
||||
if err != nil {
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
continue
|
||||
}
|
||||
data := strings.TrimSpace(string(line))
|
||||
if strings.Contains(data, "progress=end") {
|
||||
p.progressbar.Value = p.totalDuration
|
||||
p.progressbar.Refresh()
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"errors"
|
||||
"fyne.io/fyne/v2/canvas"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/convertor"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/src/convertor"
|
||||
"github.com/nicksnyder/go-i18n/v2/i18n"
|
||||
"io"
|
||||
"net/http"
|
||||
|
@ -20,7 +20,7 @@ import (
|
||||
"os"
|
||||
)
|
||||
|
||||
const appVersion string = "0.3.0"
|
||||
const appVersion string = "0.3.1"
|
||||
|
||||
func main() {
|
||||
a := app.New()
|
||||
|
Loading…
Reference in New Issue
Block a user