private IGameFile HandleMultipleMetaFilesFound(IGameFile localFile, IEnumerable <IGameFile> remoteFiles) { if (remoteFiles.Count() == 1) { return(remoteFiles.First()); } FillFileSize(localFile); IEnumerable <IGameFile> check = remoteFiles.Where(x => x.FileSizeBytes == localFile.FileSizeBytes); if (check.Count() == 1) { return(check.First()); } FileSelectForm form = new FileSelectForm(); form.Initialize(DataSourceAdapter, m_tabHandler.TabViews.First(x => x.Key.Equals(TabKeys.IdGamesKey)), remoteFiles); form.ShowSearchControl(false); string display = localFile.FileName; if (!string.IsNullOrEmpty(localFile.Title)) { display = string.Format("{0}({1})", localFile.Title, localFile.FileNameNoPath); } form.SetDisplayText(string.Format("Multiple files found for {0}. Please select intended file.", display)); form.MultiSelect = false; form.StartPosition = FormStartPosition.CenterParent; if (form.ShowDialog() != DialogResult.Cancel) { IGameFile[] selectedFiles = form.SelectedFiles; if (selectedFiles.Length > 0) { return(selectedFiles.First()); } } return(null); }
private IGameFile PromptUserMainFile(IEnumerable <IGameFile> gameFiles, out bool accepted) { accepted = false; FileSelectForm form = new FileSelectForm(); ITabView tabView = m_tabHandler.TabViews.FirstOrDefault(x => x.Key.Equals(TabKeys.LocalKey)); form.Initialize(DataSourceAdapter, tabView, gameFiles); form.StartPosition = FormStartPosition.CenterParent; form.SetDisplayText("Please select the main file that all data will be associated with. (Screenshots, demos, save games, etc.)"); form.MultiSelect = false; form.ShowSearchControl(false); if (form.ShowDialog(this) == DialogResult.OK && form.SelectedFiles.Length > 0) { accepted = true; return(form.SelectedFiles[0]); } return(gameFiles.First()); }