Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }