97 lines
No EOL
3.5 KiB
C#
97 lines
No EOL
3.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using JD.Localization.Core.Model;
|
|
using JD.LocalizationExport.Service.API;
|
|
using JD.LocalizationExport.Service.Implementation;
|
|
using JD.LocalizationExport.Service.Model.Options;
|
|
using JD.Oasis.Module;
|
|
using JD.Oasis.Service.Implementation;
|
|
using JD.Rosetta.Module;
|
|
using Plume.Application.WPF;
|
|
using Plume.Interfaces.Services;
|
|
using Plume.Interfaces.WPF.Modules;
|
|
using Plume.Output;
|
|
using Plume.Perforce.Service.Implementation;
|
|
using System.Configuration;
|
|
|
|
namespace Rosetta
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for App.xaml
|
|
/// </summary>
|
|
public partial class App : WpfApplication
|
|
{
|
|
public override bool HasDocumentWorkspace => false;
|
|
|
|
public override Size InitialWindowSize => new Size(1440, 900);
|
|
|
|
public App()
|
|
{
|
|
Documentation = new Uri("https://mdc-web-tomcat17.ubisoft.org/confluence/x/d_TpJw");
|
|
}
|
|
|
|
protected override void OnStartup(StartupEventArgs e)
|
|
{
|
|
// Setting working directory to the application directory before anything else
|
|
string applicationPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
|
|
Directory.SetCurrentDirectory(applicationPath);
|
|
|
|
base.OnStartup(e);
|
|
}
|
|
|
|
protected override void OnApplicationReady()
|
|
{
|
|
base.OnApplicationReady();
|
|
|
|
RosettaModule rosettaModule = ModuleManager.Get<RosettaModule>();
|
|
rosettaModule.LocalizationExportLaunched += OnLocalizationExportLaunched;
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing)
|
|
{
|
|
RosettaModule rosettaModule = ModuleManager.Get<RosettaModule>();
|
|
rosettaModule.LocalizationExportLaunched -= OnLocalizationExportLaunched;
|
|
}
|
|
}
|
|
|
|
protected override IEnumerable<WpfModuleInfo> SetupModules()
|
|
{
|
|
yield return new WpfModuleInfo(new OutputModule()); // Setupping it first to get logging on the other modules right from the start
|
|
yield return new WpfModuleInfo(new RosettaModule(), new RosettaModuleSetup
|
|
{
|
|
PerforceDataHost = ConfigurationManager.AppSettings["PerforceDataHost"],
|
|
PerforceCodeHost = ConfigurationManager.AppSettings["PerforceCodeHost"]
|
|
});
|
|
yield return new WpfModuleInfo(new OasisModule(), new OasisModuleSetup
|
|
{
|
|
PerforceDataHost = ConfigurationManager.AppSettings["PerforceDataHost"],
|
|
PerforceCodeHost = ConfigurationManager.AppSettings["PerforceCodeHost"]
|
|
});
|
|
}
|
|
|
|
protected override IEnumerable<IService> SetupServices()
|
|
{
|
|
yield return new OasisService();
|
|
yield return new PerforceService();
|
|
yield return new LocalizationExportService();
|
|
}
|
|
|
|
protected override void OnToolbarInitialization()
|
|
{
|
|
}
|
|
|
|
private async Task OnLocalizationExportLaunched(IDictionary<ExportType, ExportOptionsModel> exportTypesAndOptionsToExecute, IEnumerable<UafLanguage> languagesToExport)
|
|
{
|
|
OasisModule oasisModule = ModuleManager.Get<OasisModule>();
|
|
if (oasisModule != null)
|
|
{
|
|
await oasisModule.OnLocalizationExportLaunched(exportTypesAndOptionsToExecute, languagesToExport);
|
|
}
|
|
}
|
|
}
|
|
} |