예제 #1
0
        protected override async void OnStartup(StartupEventArgs e)
        {
            WindowsServicesManager servicesManager = new WindowsServicesManager();

            servicesManager.Initialize();

            FileLoggerHandler.Initialize(servicesManager.FileService);

            DispatcherHelper.RegisterDispatcher(new WindowsDispatcher(this.Dispatcher));

            DialogHelper.Initialize(new WPFDialogShower());

            Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;
            AppDomain.CurrentDomain.UnhandledException       += CurrentDomain_UnhandledException;

            await ChannelSession.Initialize(servicesManager);

            WindowsIdentity id = WindowsIdentity.GetCurrent();

            ChannelSession.IsElevated = id.Owner != id.User;

            Logger.ForceLog(LogLevel.Information, "Application Version: " + ChannelSession.Services.FileService.GetApplicationVersion());
            if (ChannelSession.IsDebug() || ChannelSession.AppSettings.DiagnosticLogging)
            {
                Logger.SetLogLevel(LogLevel.Debug);
            }
            else
            {
                Logger.SetLogLevel(LogLevel.Error);
            }

            this.SwitchTheme(ChannelSession.AppSettings.ColorScheme, ChannelSession.AppSettings.BackgroundColor, ChannelSession.AppSettings.FullThemeName);

            base.OnStartup(e);
        }
예제 #2
0
        public App()
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

            try
            {
                // We need to load the language setting VERY early, so this is the minimal code necessary to get this value
                WindowsServicesManager servicesManager = new WindowsServicesManager();
                servicesManager.Initialize();
                ChannelSession.Initialize(servicesManager).Wait();
                var selectedLanguageTask = ApplicationSettingsV2Model.Load();
                selectedLanguageTask.Wait();

                var culture = System.Threading.Thread.CurrentThread.CurrentCulture;
                if (LanguageMaps.TryGetValue(selectedLanguageTask.Result.LanguageOption, out string locale))
                {
                    culture = new System.Globalization.CultureInfo(locale);
                }

                System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
            }
            catch { }
        }