public AppFinder(LaunchablePlugins launchablePlugins, CharacterPlugins characterPlugins, XStream xstream, PersistanceHelper persistanceHelper) { this.xstream = xstream; this.persistanceHelper = persistanceHelper; LoadFiles(launchablePlugins); history = new History(new File(new FileInfo(Paths.Instance.History)), this.xstream, persistanceHelper); this.characterPlugins = characterPlugins; }
public void AddFolder(LaunchablePlugins launchablePlugins) { Folders folders = LoadFoldersToParse(); var dialog = new FolderBrowserDialog {SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal)}; if (dialog.ShowDialog() == DialogResult.OK) folders.Add(new Folder(dialog.SelectedPath)); File.WriteAllText(Paths.Instance.Folders, xstream.ToXml(folders)); LoadFiles(launchablePlugins); }
internal void LoadFiles(LaunchablePlugins launchablePlugins) { var foldersToParse = new FoldersToParse(LoadFoldersToParse(), launchablePlugins); dictionary = foldersToParse.LoadLaunchables(); allLaunchables = dictionary.Launchables; foldersToParse.LaunchablesChanged += ((plugin, launchables) => new Runner(delegate { LogManager.WriteLog("Refresh caused by " + plugin); dictionary.SetValue(plugin.GetType(), launchables); allLaunchables = dictionary.Launchables; }).AsyncStart()); }
public FoldersToParse(Folders folders, LaunchablePlugins launchablePlugins) { this.launchablePlugins = new LaunchablePlugins(launchablePlugins) {folders}; }