internal void CreateProfile(string name, string commandName) { var profile = new WritableLaunchProfile { Name = name, CommandName = commandName }; CurrentLaunchSettings.Profiles.Add(profile); LaunchProfiles.Add(profile); NotifyProfileCollectionChanged(); // Fire a property changed so we can get the page to be dirty when we add a new profile OnPropertyChanged("_NewProfile"); SelectedDebugProfile = profile; }
internal virtual void InitializeDebugTargetsCore(ILaunchSettings profiles) { IWritableLaunchSettings newSettings = profiles.ToWritableLaunchSettings(); // Since this get's reentered if the user saves or the user switches active profiles. if (CurrentLaunchSettings != null && !CurrentLaunchSettings.SettingsDiffer(newSettings)) { return; } try { // This should never change the dirty state when loading the dialog PushIgnoreEvents(); // Remember the current selection string curProfileName = SelectedDebugProfile?.Name; // Update the set of settings and generate a property change so the list of profiles gets updated. Note that we always // clear the active profile on the CurrentLaunchSettings so that when we do set one and property changed event is set CurrentLaunchSettings = newSettings; CurrentLaunchSettings.ActiveProfile = null; // Reload the launch profiles collection LaunchProfiles.Clear(); foreach (IWritableLaunchProfile profile in CurrentLaunchSettings.Profiles) { LaunchProfiles.Add(profile); } // When loading new profiles we need to clear the launch type. This is so the external changes cause the current // active provider to be refreshed _selectedLaunchType = null; NotifyProfileCollectionChanged(); // If we have a selection, we want to leave it as is if (curProfileName == null || newSettings.Profiles.Find(p => LaunchProfile.IsSameProfileName(p.Name, curProfileName)) == null) { // Note that we have to be careful since the collection can be empty. if (profiles.ActiveProfile != null && !string.IsNullOrEmpty(profiles.ActiveProfile.Name)) { SelectedDebugProfile = LaunchProfiles.Single(p => LaunchProfile.IsSameProfileName(p.Name, profiles.ActiveProfile.Name)); } else { if (LaunchProfiles.Count > 0) { SelectedDebugProfile = LaunchProfiles[0]; } else { SetEnvironmentGrid(null); } } } else { SelectedDebugProfile = LaunchProfiles.Single(p => LaunchProfile.IsSameProfileName(p.Name, curProfileName)); } } finally { PopIgnoreEvents(); _firstSnapshotCompleteSource?.TrySetResult(); _debugTargetsCoreInitialized = true; } }
internal bool IsNewProfileNameValid(string name) { return(!LaunchProfiles.Any( profile => LaunchProfile.IsSameProfileName(profile.Name, name))); }
internal bool IsNewProfileNameValid(string name) { return(LaunchProfiles.Where( profile => LaunchProfile.IsSameProfileName(profile.Name, name)).Count() == 0); }
// Make like mojang launcher public void launprof(string name, string version, string client, string mdir) { Authentication auth = new Authentication(); auth.username = name; Profiles pr = new Profiles(); pr.authentication = auth; pr.javaArgs = ""; pr.lastVersionId = client; pr.name = client; Dictionary<string, Profiles> pro = new Dictionary<string, Profiles>(); pro.Add(client, pr); LaunchProfiles prof = new LaunchProfiles(); prof.clientToken = ""; prof.selectedProfile = client; prof.profiles = pro; try { string output = JsonConvert.SerializeObject(prof, Formatting.Indented); bool fexist = File.Exists(mdir + "\\launcher_profiles.json"); if (fexist == true) File.Delete(mdir + "\\launcher_profiles.json"); StreamWriter sr = new StreamWriter(mdir + "\\launcher_profiles.json"); sr.WriteLine(output); sr.Close(); } catch { if (debug == true) MessageBox.Show("Can't create launcher_profile.json"); } }