private void AddonListView_OnMouseUp(object sender, MouseButtonEventArgs e) { if (e.ChangedButton != MouseButton.Left) { return; } if (!(AddonListView.SelectedItem is AddonEntry entry)) { return; } if (entry.Addon is GenericAddon genericAddon) { var addonSetup = new GenericAddonSetupWindow(genericAddon); addonSetup.ShowDialog(); if (addonSetup.Result != null) { App.Settings.AddonList = App.Settings.AddonList.Where(x => x.Addon is GenericAddon thisGenericAddon && thisGenericAddon.Path != genericAddon.Path).ToList(); var addonList = App.Settings.AddonList; addonList.Add(new AddonEntry { IsEnabled = entry.IsEnabled, Addon = addonSetup.Result }); App.Settings.AddonList = addonList; AddonListView.ItemsSource = App.Settings.AddonList; } } }
private void AddonListView_OnMouseUp(object sender, MouseButtonEventArgs e) { if (e.ChangedButton != MouseButton.Left) { return; } if (!(AddonListView.SelectedItem is AddonEntry entry)) { return; } if (entry.Addon is RichPresenceAddon) { MessageBox.Show("This addon shows your character information in your discord profile.", "Addon information", MessageBoxButton.OK, MessageBoxImage.Information); return; } if (entry.Addon is GenericAddon genericAddon) { var addonSetup = new GenericAddonSetupWindow(genericAddon); addonSetup.ShowDialog(); if (addonSetup.Result != null) { var addonList = Settings.GetAddonList(); addonList = addonList.Where(x => { if (x.Addon is RichPresenceAddon) { return(true); } if (x.Addon is HooksAddon) { return(true); } return(x.Addon is GenericAddon thisGenericAddon && thisGenericAddon.Path != genericAddon.Path); }).ToList(); addonList.Add(new AddonEntry { IsEnabled = entry.IsEnabled, Addon = addonSetup.Result }); AddonListView.ItemsSource = addonList; Settings.SetAddonList(addonList); } } }
// All of the list handling is very dirty - but i guess it works private void AddAddon_OnClick(object sender, RoutedEventArgs e) { var addonSetup = new GenericAddonSetupWindow(); addonSetup.ShowDialog(); if (addonSetup.Result != null && !string.IsNullOrEmpty(addonSetup.Result.Path)) { var addonList = Settings.GetAddonList(); addonList.Add(new AddonEntry { IsEnabled = true, Addon = addonSetup.Result }); AddonListView.ItemsSource = addonList; Settings.SetAddonList(addonList); } }