diff --git a/src/DynamoCore/Graph/Workspaces/SerializationConverters.cs b/src/DynamoCore/Graph/Workspaces/SerializationConverters.cs index 713e095b9e9..10c0b985bbd 100644 --- a/src/DynamoCore/Graph/Workspaces/SerializationConverters.cs +++ b/src/DynamoCore/Graph/Workspaces/SerializationConverters.cs @@ -1263,8 +1263,8 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist var startId = obj["Start"].Value(); var endId = obj["End"].Value(); var isHiddenExists = obj[nameof(ConnectorModel.IsHidden)]; - - var isHidden = isHiddenExists != null && obj[nameof(ConnectorModel.IsHidden)].Value(); + // final connector visibility would respect current setting first, if visible then fallback to serialized value + var isHidden = !PreferenceSettings.Instance.ShowConnector || isHiddenExists != null && obj[nameof(ConnectorModel.IsHidden)].Value(); var resolver = (IdReferenceResolver)serializer.ReferenceResolver; diff --git a/test/DynamoCoreWpfTests/ConnectorViewModelTests.cs b/test/DynamoCoreWpfTests/ConnectorViewModelTests.cs index 6fe6070e1f7..1140263ea95 100644 --- a/test/DynamoCoreWpfTests/ConnectorViewModelTests.cs +++ b/test/DynamoCoreWpfTests/ConnectorViewModelTests.cs @@ -1,12 +1,11 @@ -using System.Linq; +using System; +using System.IO; +using System.Linq; using Dynamo.Selection; -using NUnit.Framework; -using static Dynamo.Models.DynamoModel; using Dynamo.Utilities; using Dynamo.ViewModels; -using System; -using System.Xml; -using System.IO; +using NUnit.Framework; +using static Dynamo.Models.DynamoModel; namespace DynamoCoreWpfTests { @@ -14,6 +13,23 @@ public class ConnectorViewModelTests : DynamoTestUIBase { #region Regular Connector Tests + /// + /// Check to see if a connector is visible after in session preferences is set to hide connectors + /// + [Test] + public void ConnectorVisibilityWithPrefrencesTest() + { + Model.PreferenceSettings.ShowConnector = false; + + Open(@"UI/ConnectorPinTests.dyn"); + + var connectorViewModel = this.ViewModel.CurrentSpaceViewModel.Connectors.First(); + + // Although default IsHidden state should be false when opening legacy graph, + // if current preferences are set to hide connectors, the connector should be hidden + Assert.AreEqual(connectorViewModel.IsHidden, true); + } + /// /// Check to see if a connector is visible after pre 2.13 graph open /// @@ -457,4 +473,4 @@ public void CanUndoPlaceWatchNode() } #endregion } -} \ No newline at end of file +}