Replaced the external `icon.png` file with an embedded resource using Go's embed functionality. Updated all references to use the new resource, eliminating the need for the standalone icon file.
77 lines
2.6 KiB
Go
77 lines
2.6 KiB
Go
package main
|
|
|
|
import (
|
|
_ "embed"
|
|
"fyne.io/fyne/v2"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/convertor"
|
|
error2 "git.kor-elf.net/kor-elf/gui-for-ffmpeg/error"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/handler"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/internal/resources"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/kernel"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/localizer"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/menu"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/setting"
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/theme"
|
|
)
|
|
|
|
var application kernel.AppContract
|
|
var ffPathUtilities *kernel.FFPathUtilities
|
|
|
|
func init() {
|
|
appMetadata := &fyne.AppMetadata{
|
|
ID: "net.kor-elf.projects.gui-for-ffmpeg",
|
|
Name: "GUI for FFmpeg",
|
|
Version: "0.9.0",
|
|
Icon: resources.IconAppLogoResource(),
|
|
}
|
|
|
|
ffPathUtilities = &kernel.FFPathUtilities{FFmpeg: "", FFprobe: "", FFplay: ""}
|
|
convertorService := kernel.NewService(ffPathUtilities)
|
|
ffplayService := kernel.NewFFplay(ffPathUtilities)
|
|
|
|
queue := kernel.NewQueueList()
|
|
application = kernel.NewApp(
|
|
appMetadata,
|
|
queue,
|
|
ffplayService,
|
|
convertorService,
|
|
)
|
|
}
|
|
|
|
func main() {
|
|
errorView := error2.NewView(application)
|
|
|
|
settingRepository := setting.NewRepository(application.GetAppFyne())
|
|
settingDirectoryForSaving := setting.NewSettingDirectoryForSaving(settingRepository)
|
|
|
|
convertorRepository := convertor.NewRepository(settingRepository)
|
|
ffPathUtilities.FFmpeg = convertorRepository.GetPathFfmpeg()
|
|
ffPathUtilities.FFprobe = convertorRepository.GetPathFfprobe()
|
|
ffPathUtilities.FFplay = convertorRepository.GetPathFfplay()
|
|
|
|
application.RunConvertor()
|
|
defer application.AfterClosing()
|
|
|
|
localizerView := localizer.NewView(application)
|
|
convertorView := convertor.NewView(application)
|
|
itemsToConvertService := kernel.NewItemsToConvert(
|
|
application.GetWindow().GetLayout().GetRightTabs().GetAddedFilesContainer(),
|
|
application.GetFFplayService(),
|
|
application.GetLocalizerService(),
|
|
)
|
|
convertorHandler := handler.NewConvertorHandler(application, convertorView, errorView, convertorRepository, settingDirectoryForSaving, itemsToConvertService)
|
|
|
|
themeRepository := theme.NewRepository(settingRepository)
|
|
themeService := theme.NewTheme(application, themeRepository)
|
|
|
|
menuView := menu.NewView(application)
|
|
menuSettingView := menu.NewViewSetting(application, themeService)
|
|
mainMenu := handler.NewMenuHandler(application, convertorHandler, menuView, menuSettingView, localizerView, themeService)
|
|
|
|
mainHandler := handler.NewMainHandler(application, convertorHandler, mainMenu)
|
|
mainHandler.Start()
|
|
|
|
application.GetWindow().SetMainMenu(mainMenu.GetMainMenu())
|
|
application.GetWindow().ShowAndRun()
|
|
}
|