From d088a7e3356fcabfd3eff28cad7de39446976a43 Mon Sep 17 00:00:00 2001 From: Balaji Krishnan Date: Mon, 29 Feb 2016 21:39:22 -0800 Subject: [PATCH] Don't throw from properties used in databinding. The BooleanCodeStyleOptionViewModel are a glue between older checkbox style options and the new grid UI with severity levels. Well, the older options don't have severity levels and I was throwing NotSupportedEx, but forgot they were used in databinding. As a result we had non-fatal exceptions. This change removes them. --- .../Options/AbstractCodeStyleOptionViewModel.cs | 7 ++++++- .../Impl/Options/BooleanCodeStyleOptionViewModel.cs | 13 ------------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/src/VisualStudio/Core/Impl/Options/AbstractCodeStyleOptionViewModel.cs b/src/VisualStudio/Core/Impl/Options/AbstractCodeStyleOptionViewModel.cs index 0aefcfd5bdb..b39519ceec1 100644 --- a/src/VisualStudio/Core/Impl/Options/AbstractCodeStyleOptionViewModel.cs +++ b/src/VisualStudio/Core/Impl/Options/AbstractCodeStyleOptionViewModel.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using System.Linq; using Microsoft.CodeAnalysis.CodeStyle; using Microsoft.CodeAnalysis.Options; using Microsoft.VisualStudio.Imaging; @@ -32,12 +33,16 @@ internal abstract class AbstractCodeStyleOptionViewModel : AbstractNotifyPropert public double DescriptionMargin { get; set; } public string GroupName { get; set; } public abstract CodeStylePreference SelectedPreference { get; set; } - public abstract NotificationOptionViewModel SelectedNotificationPreference { get; set; } public List Preferences { get; set; } public List NotificationPreferences { get; set; } public abstract bool NotificationsAvailable { get; } public virtual string GetPreview() => SelectedPreference.IsChecked ? _truePreview : _falsePreview; + public virtual NotificationOptionViewModel SelectedNotificationPreference + { + get { return NotificationPreferences.First(); } + set { } + } public AbstractCodeStyleOptionViewModel( IOption option, diff --git a/src/VisualStudio/Core/Impl/Options/BooleanCodeStyleOptionViewModel.cs b/src/VisualStudio/Core/Impl/Options/BooleanCodeStyleOptionViewModel.cs index 851696de99b..460ca986962 100644 --- a/src/VisualStudio/Core/Impl/Options/BooleanCodeStyleOptionViewModel.cs +++ b/src/VisualStudio/Core/Impl/Options/BooleanCodeStyleOptionViewModel.cs @@ -39,19 +39,6 @@ internal class BooleanCodeStyleOptionViewModel : AbstractCodeStyleOptionViewMode } public override bool NotificationsAvailable => false; - public override NotificationOptionViewModel SelectedNotificationPreference - { - // presently, these options do not support notification styles. - get - { - throw new NotSupportedException(); - } - - set - { - throw new NotSupportedException(); - } - } private CodeStylePreference _selectedPreference; public override CodeStylePreference SelectedPreference -- GitLab