/// <summary> /// 実行ファイルのパスからアプリケーションを登録する /// </summary> /// <param name="filePath"></param> /// <param name="isFromDropped"></param> public void AddListFromPath(string filePath, bool isFromDropped = true) { string[] parsed = filePath.Split('\\'); string name = parsed.Last().Replace(".exe", ""); if (mainWindow.AppDatas.Any(a => a.ProcessName == name)) { if (!isFromDropped) { MessageBox.Show("既に登録されています"); } } else { Mouse.OverrideCursor = Cursors.Wait; AppDataObject appData = new AppDataObject(mainWindow, name) { DisplayedName = name }; IconGetter.SetIconToNewAppData(filePath, appData); appData.SaveFileDatas(); AddFileListWindow(appData); lock (mainWindow.AppDatas) { mainWindow.AppDatas.Add(appData); } mainWindow.SaveAndLoader.SaveCsvData(); } UpdateListView(); Mouse.OverrideCursor = null; }
/// <summary> /// アプリケーションのデータを削除 /// </summary> /// <param name="appData"></param> public void RemoveAppData(AppDataObject appData) { appData.RemoveAllFileData(); lock (AppDatas) { AppDatas.Remove(appData); } ListViewSetter.UpdateListView(); SaveAndLoader.SaveCsvData(); IconGetter.RemoveIconImage(appData.ProcessName); }