public static void LoadSettings(string fp = null) { LoggerTimer timer = EngineLogger.StartTimer("LoadSettings started"); Thread threadOptions = new Thread(() => { Engine.ConfigOptions = ZScreenOptions.Read(OptionsFilePath); }); Thread threadMainFormSettings = new Thread(() => { if (string.IsNullOrEmpty(fp)) { Engine.ConfigUI = XMLSettings.Read(); } else { Engine.ConfigUI = XMLSettings.Read(fp); } }); Thread threadWorkflow = new Thread(() => { Engine.ConfigWorkflow = Workflow.Read(WorkflowConfigPath); }); Thread threadUploadersConfig = new Thread(() => { Engine.ConfigUploaders = UploadersConfig.Load(UploadersConfigPath); }); Thread threadGt = new Thread(() => { Engine.ConfigGT = GoogleTranslatorConfig.Read(GoogleTranslateConfigPath); }); threadOptions.Start(); threadMainFormSettings.Start(); threadGt.Start(); threadWorkflow.Start(); threadUploadersConfig.Start(); threadMainFormSettings.Join(); threadWorkflow.Join(); threadUploadersConfig.Join(); timer.WriteLineTime("LoadSettings finished"); Engine.InitializeFiles(); // Use Configuration Wizard Settings if applied if (RunConfig) { Engine.ConfigUI.ConfOutputs = Engine.ConfigApp.AppOutputs; Engine.ConfigUI.ConfClipboardContent = Engine.ConfigApp.ClipboardContent; Engine.ConfigUI.MyImageUploaders = Engine.ConfigApp.ImageUploaders; Engine.ConfigUI.MyTextUploaders = Engine.ConfigApp.TextUploaders; Engine.ConfigUI.MyFileUploaders = Engine.ConfigApp.FileUploaders; Engine.ConfigUI.MyURLShorteners = Engine.ConfigApp.LinkUploaders; } // Portable then we don't need PreferSystemFolders to be true if (IsPortable) { Engine.ConfigApp.PreferSystemFolders = false; } }