private void CompleteAction(string type, string arguments) { arguments = StringArgsToArgs(arguments, type); // Replace all _arg1_ and _allargs_ vars to their values switch (type) { case "SEARCH": Process.Start("https://www.google.com/search?q=" + Uri.EscapeDataString(StringArgsToArgs(arguments, type))); break; case "EXIT": Application.Current.Shutdown(); break; case "PROCESS": Process.Start(arguments.Trim()); break; case "ADDPATH": _fUiSettings.AppFolders.Add(StringArgsToArgs(arguments, type)); _settingsSaver.SaveSettings(_fUiSettings); Restart(); break; case "REMOVEPATH": _fUiSettings.AppFolders.Remove(StringArgsToArgs(arguments, type)); _settingsSaver.SaveSettings(_fUiSettings); Restart(); break; } }
void IPropellerModule.Init(LoggerBase log, JsonValue settings, ISettingsSaver saver) { _log = log; _saver = saver; _settings = ClassifyJson.Deserialize <Settings>(settings) ?? new Settings(); var validPaths = new List <string>(); foreach (var path in _settings.Paths) { if (!Directory.Exists(path)) { _log.Warn(@"DocGen: Warning: The folder ""{0}"" specified in the settings does not exist. Ignoring path.".Fmt(path)); } else { validPaths.Add(path); } } _settings.Paths = validPaths.ToArray(); saver.SaveSettings(ClassifyJson.Serialize(_settings)); string copyToPath = null; if (_settings.DllTempPath != null) { // Try to clean up old folders we've created before var tempPath = _settings.DllTempPath; Directory.CreateDirectory(tempPath); foreach (var path in Directory.GetDirectories(tempPath, "docgen-tmp-*")) { try { Directory.Delete(path, true); } catch { } } // Find a new folder to put the DLL files into int j = 1; copyToPath = Path.Combine(tempPath, "docgen-tmp-" + j); while (Directory.Exists(copyToPath)) { j++; copyToPath = Path.Combine(tempPath, "docgen-tmp-" + j); } Directory.CreateDirectory(copyToPath); } _docGen = new DocumentationGenerator(_settings.Paths, _settings.RequireAuthentication ? _settings.UsernamePasswordFile ?? "" : null, copyToPath); lock (_log) { _log.Info("DocGen initialised with {0} assemblies: {1}".Fmt(_docGen.AssembliesLoaded.Count, _docGen.AssembliesLoaded.JoinString(", "))); if (_docGen.AssemblyLoadErrors.Count > 0) { _log.Warn("{0} assembly load errors:".Fmt(_docGen.AssemblyLoadErrors.Count)); foreach (var tuple in _docGen.AssemblyLoadErrors) { _log.Warn("{0} error: {1}".Fmt(tuple.Item1, tuple.Item2)); } } } }
/// <summary>Saves the settings stored in <see cref="Settings"/>.</summary> protected void SaveSettings() { SettingsSaver.SaveSettings(ClassifyJson.Serialize(Settings)); }