private async void ListItemClicked(object sender, EventArgs e) { switch ((int)lastItemHovered.Tag) { case -1: if (!await OnedriveHelper.Instance.IsAuthenticated()) { MessageBox.Show( (string)lang["add_game_disabled"], "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } NewGameForm addGameForm = new NewGameForm(GenerateGamesList); addGameForm.ShowDialog(this); break; default: if (!await OnedriveHelper.Instance.IsAuthenticated()) { MessageBox.Show( (string)lang["restore_disabled"], "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Game selectedGame = LibraryHelper.Library.GetGames()[(int)lastItemHovered.Tag]; string message = (string)lang["restore_game"] + Environment.NewLine + Environment.NewLine + (string)lang["data_path"] + Environment.NewLine + (selectedGame.DataPath == "" ? (string)lang["none"] : selectedGame.DataPath) + Environment.NewLine + Environment.NewLine + (string)lang["saves_path"] + Environment.NewLine + (selectedGame.SavePath == "" ? (string)lang["none"] : selectedGame.SavePath); DialogResult answer = MessageBox.Show(message, (string)lang["warning"], MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); if (answer == DialogResult.Yes) { UploadProgressForm uploadForm = new UploadProgressForm(); uploadForm.Owner = this; await CompressionHelper.JoinAndDecompress(selectedGame, uploadForm, selectedGame.DataPath, selectedGame.SavePath); } else if (answer == DialogResult.No) { UploadProgressForm uploadForm = new UploadProgressForm(); uploadForm.Owner = this; string dataPath = "", savesPath = ""; if (selectedGame.DataPath != "") { DialogResult dataResult = dataFolderBrowserDialog.ShowDialog(); if (dataResult == DialogResult.OK) { dataPath = dataFolderBrowserDialog.SelectedPath; } } if (selectedGame.SavePath != "") { DialogResult savesResult = savesFolderBrowserDialog.ShowDialog(); if (savesResult == DialogResult.OK) { savesPath = savesFolderBrowserDialog.SelectedPath; } } await CompressionHelper.JoinAndDecompress(selectedGame, uploadForm, dataPath, savesPath); } break; } }
private static Game GetNewGameFromForm() { Game game; using (var gameForm = new NewGameForm()) { gameForm.ShowDialog(); game = gameForm.Game; } return(game); }