public void ChangeToSlicePresetDetail(SliceSettingsCollection collection = null) { if (collection != null) { Dictionary<string, SliceSetting> settingsDictionary = new Dictionary<string, SliceSetting>(); foreach (SliceSetting s in GetCollectionSettings(collection.Id)) { settingsDictionary[s.Name] = s; } this.ActivePresetLayer = new ClassicSqlitePrinterProfiles.ClassicSettingsLayer(collection, settingsDictionary); } UiThread.RunOnIdle(DoChangeToSlicePresetDetail); }
public void ChangeToSlicePresetList() { this.ActivePresetLayer = null; UiThread.RunOnIdle(DoChangeToSlicePresetList); }
private void duplicatePresets_Click(object sender, EventArgs mouseEvent) { UiThread.RunOnIdle(() => { SliceSettingsCollection duplicateCollection = new SliceSettingsCollection(); duplicateCollection.Name = string.Format("{0} (copy)".FormatWith(windowController.ActivePresetLayer.settingsCollectionData.Name)); duplicateCollection.Tag = windowController.ActivePresetLayer.settingsCollectionData.Tag; duplicateCollection.PrinterId = windowController.ActivePresetLayer.settingsCollectionData.PrinterId; Dictionary<string, SliceSetting> settingsDictionary = new Dictionary<string, SliceSetting>(); IEnumerable<SliceSetting> settingsList = this.windowController.GetCollectionSettings(windowController.ActivePresetLayer.settingsCollectionData.Id); foreach (SliceSetting s in settingsList) { SliceSetting newSetting = new SliceSetting(); newSetting.Name = s.Name; newSetting.Value = s.Value; settingsDictionary.Add(s.Name, newSetting); } var duplicateLayer = new ClassicSqlitePrinterProfiles.ClassicSettingsLayer(duplicateCollection, settingsDictionary); windowController.ActivePresetLayer = duplicateLayer; windowController.ChangeToSlicePresetDetail(); }); }