private void newProfileToolStripMenuItem_Click(object sender, EventArgs e) { TextBoxForm form = CreateProfileTextBoxForm("New Profile", true); bool success = false; while (!success && form.ShowDialog(this) == DialogResult.OK) { success = IsValidProfileName(-1, form.DisplayText.Trim(), out string error); if (success) { GameProfile gameProfile = new GameProfile(GameFile.GameFileID.Value, form.DisplayText); GameProfile.ApplyDefaultsToProfile(gameProfile, m_appConfig); if (form.CheckBoxChecked) { UpdateGameProfile(gameProfile); } m_adapter.InsertGameProfile(gameProfile); cmbProfiles.SelectedIndexChanged -= CmbProfiles_SelectedIndexChanged; var profiles = LoadProfiles(); cmbProfiles.SelectedIndexChanged += CmbProfiles_SelectedIndexChanged; cmbProfiles.SelectedValue = profiles.Max(x => x.GameProfileID); } else { MessageBox.Show(this, error, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public void SetGameProfile(IGameProfile gameProfile) { SetIwadInfoLabel(); UnregisterEvents(); m_handler = new FileLoadHandler(m_adapter, GameFile, gameProfile); SetDefaultSelections(); GameProfile.ApplyDefaultsToProfile(gameProfile, m_appConfig); cmbProfiles.SelectedValue = gameProfile.GameProfileID; if (GameFile != null) { chkSaveStats.Checked = gameProfile.SettingsStat; chkLoadLatestSave.Checked = gameProfile.SettingsLoadLatestSave; if (gameProfile.SourcePortID.HasValue) { SelectedSourcePort = m_adapter.GetSourcePort(gameProfile.SourcePortID.Value); } // Selected GameFile is an IWAD so lock the IWAD selection if (IsIwad(GameFile)) { cmbIwad.Enabled = false; SelectedIWad = GameFile; } else if (gameProfile.IWadID.HasValue) { SelectedIWad = m_adapter.GetGameFileIWads().FirstOrDefault(x => x.IWadID == gameProfile.IWadID); } if (!string.IsNullOrEmpty(gameProfile.SettingsMap)) { SelectedMap = gameProfile.SettingsMap; } if (!string.IsNullOrEmpty(gameProfile.SettingsSkill)) { SelectedSkill = gameProfile.SettingsSkill; } if (!string.IsNullOrEmpty(gameProfile.SettingsExtraParams)) { ExtraParameters = gameProfile.SettingsExtraParams; } if (!string.IsNullOrEmpty(gameProfile.SettingsSpecificFiles)) { SpecificFiles = Util.SplitString(gameProfile.SettingsSpecificFiles); } } bool reset = ShouldRecalculateAdditionalFiles(); HandleSourcePortSelectionChange(reset); HandleIwadSelectionChanged(reset); SetAdditionalFiles(reset); HandleDemoChange(); RegisterEvents(); }