Added queues.
Reworked the architecture.
This commit is contained in:
		
							
								
								
									
										42
									
								
								menu/view.go
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								menu/view.go
									
									
									
									
									
								
							@@ -5,7 +5,7 @@ import (
 | 
			
		||||
	"fyne.io/fyne/v2/canvas"
 | 
			
		||||
	"fyne.io/fyne/v2/container"
 | 
			
		||||
	"fyne.io/fyne/v2/widget"
 | 
			
		||||
	"git.kor-elf.net/kor-elf/gui-for-ffmpeg/localizer"
 | 
			
		||||
	"git.kor-elf.net/kor-elf/gui-for-ffmpeg/kernel"
 | 
			
		||||
	"github.com/nicksnyder/go-i18n/v2/i18n"
 | 
			
		||||
	"golang.org/x/image/colornames"
 | 
			
		||||
	"net/url"
 | 
			
		||||
@@ -16,23 +16,17 @@ type ViewContract interface {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type View struct {
 | 
			
		||||
	w                fyne.Window
 | 
			
		||||
	app              fyne.App
 | 
			
		||||
	appVersion       string
 | 
			
		||||
	localizerService localizer.ServiceContract
 | 
			
		||||
	app kernel.AppContract
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewView(w fyne.Window, app fyne.App, appVersion string, localizerService localizer.ServiceContract) *View {
 | 
			
		||||
func NewView(app kernel.AppContract) *View {
 | 
			
		||||
	return &View{
 | 
			
		||||
		w:                w,
 | 
			
		||||
		app:              app,
 | 
			
		||||
		appVersion:       appVersion,
 | 
			
		||||
		localizerService: localizerService,
 | 
			
		||||
		app: app,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (v View) About(ffmpegVersion string, ffprobeVersion string) {
 | 
			
		||||
	view := v.app.NewWindow(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	view := v.app.GetAppFyne().NewWindow(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "about",
 | 
			
		||||
	}))
 | 
			
		||||
	view.Resize(fyne.Size{Width: 793, Height: 550})
 | 
			
		||||
@@ -42,7 +36,7 @@ func (v View) About(ffmpegVersion string, ffprobeVersion string) {
 | 
			
		||||
	programmName.TextStyle = fyne.TextStyle{Bold: true}
 | 
			
		||||
	programmName.TextSize = 20
 | 
			
		||||
 | 
			
		||||
	programmLink := widget.NewHyperlink(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	programmLink := widget.NewHyperlink(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "programmLink",
 | 
			
		||||
	}), &url.URL{
 | 
			
		||||
		Scheme: "https",
 | 
			
		||||
@@ -50,7 +44,7 @@ func (v View) About(ffmpegVersion string, ffprobeVersion string) {
 | 
			
		||||
		Path:   "kor-elf/gui-for-ffmpeg/releases",
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	licenseLink := widget.NewHyperlink(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	licenseLink := widget.NewHyperlink(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "licenseLink",
 | 
			
		||||
	}), &url.URL{
 | 
			
		||||
		Scheme: "https",
 | 
			
		||||
@@ -58,7 +52,7 @@ func (v View) About(ffmpegVersion string, ffprobeVersion string) {
 | 
			
		||||
		Path:   "kor-elf/gui-for-ffmpeg/src/branch/main/LICENSE",
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	licenseLinkOther := widget.NewHyperlink(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	licenseLinkOther := widget.NewHyperlink(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "licenseLinkOther",
 | 
			
		||||
	}), &url.URL{
 | 
			
		||||
		Scheme: "https",
 | 
			
		||||
@@ -66,16 +60,16 @@ func (v View) About(ffmpegVersion string, ffprobeVersion string) {
 | 
			
		||||
		Path:   "kor-elf/gui-for-ffmpeg/src/branch/main/LICENSE-3RD-PARTY.txt",
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	programmVersion := widget.NewRichTextFromMarkdown(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	programmVersion := widget.NewRichTextFromMarkdown(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "programmVersion",
 | 
			
		||||
		TemplateData: map[string]string{
 | 
			
		||||
			"Version": v.appVersion,
 | 
			
		||||
			"Version": v.app.GetAppFyne().Metadata().Version,
 | 
			
		||||
		},
 | 
			
		||||
	}))
 | 
			
		||||
 | 
			
		||||
	aboutText := widget.NewRichText(
 | 
			
		||||
		&widget.TextSegment{
 | 
			
		||||
			Text: v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
			Text: v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
				MessageID: "aboutText",
 | 
			
		||||
			}),
 | 
			
		||||
		},
 | 
			
		||||
@@ -84,10 +78,10 @@ func (v View) About(ffmpegVersion string, ffprobeVersion string) {
 | 
			
		||||
	image.SetMinSize(fyne.Size{Width: 100, Height: 100})
 | 
			
		||||
	image.FillMode = canvas.ImageFillContain
 | 
			
		||||
 | 
			
		||||
	ffmpegTrademark := widget.NewRichTextFromMarkdown(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	ffmpegTrademark := widget.NewRichTextFromMarkdown(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "ffmpegTrademark",
 | 
			
		||||
	}))
 | 
			
		||||
	ffmpegLGPL := widget.NewRichTextFromMarkdown(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	ffmpegLGPL := widget.NewRichTextFromMarkdown(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "ffmpegLGPL",
 | 
			
		||||
	}))
 | 
			
		||||
 | 
			
		||||
@@ -105,7 +99,7 @@ func (v View) About(ffmpegVersion string, ffprobeVersion string) {
 | 
			
		||||
			)),
 | 
			
		||||
			v.getAboutFfmpeg(ffmpegVersion),
 | 
			
		||||
			v.getAboutFfprobe(ffprobeVersion),
 | 
			
		||||
			widget.NewCard(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
			widget.NewCard(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
				MessageID: "AlsoUsedProgram",
 | 
			
		||||
			}), "", v.getOther()),
 | 
			
		||||
		)),
 | 
			
		||||
@@ -123,7 +117,7 @@ func (v View) getAboutFfmpeg(version string) *fyne.Container {
 | 
			
		||||
	programmName.TextStyle = fyne.TextStyle{Bold: true}
 | 
			
		||||
	programmName.TextSize = 20
 | 
			
		||||
 | 
			
		||||
	programmLink := widget.NewHyperlink(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	programmLink := widget.NewHyperlink(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "programmLink",
 | 
			
		||||
	}), &url.URL{
 | 
			
		||||
		Scheme: "https",
 | 
			
		||||
@@ -131,7 +125,7 @@ func (v View) getAboutFfmpeg(version string) *fyne.Container {
 | 
			
		||||
		Path:   "",
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	licenseLink := widget.NewHyperlink(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	licenseLink := widget.NewHyperlink(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "licenseLink",
 | 
			
		||||
	}), &url.URL{
 | 
			
		||||
		Scheme: "https",
 | 
			
		||||
@@ -153,7 +147,7 @@ func (v View) getAboutFfprobe(version string) *fyne.Container {
 | 
			
		||||
	programmName.TextStyle = fyne.TextStyle{Bold: true}
 | 
			
		||||
	programmName.TextSize = 20
 | 
			
		||||
 | 
			
		||||
	programmLink := widget.NewHyperlink(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	programmLink := widget.NewHyperlink(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "programmLink",
 | 
			
		||||
	}), &url.URL{
 | 
			
		||||
		Scheme: "https",
 | 
			
		||||
@@ -161,7 +155,7 @@ func (v View) getAboutFfprobe(version string) *fyne.Container {
 | 
			
		||||
		Path:   "ffprobe.html",
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	licenseLink := widget.NewHyperlink(v.localizerService.GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
	licenseLink := widget.NewHyperlink(v.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
 | 
			
		||||
		MessageID: "licenseLink",
 | 
			
		||||
	}), &url.URL{
 | 
			
		||||
		Scheme: "https",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user