@@ -4,21 +4,21 @@ This Source Code Form is subject to the terms of the Mozilla Public
44 License, v. 2.0. If a copy of the MPL was not distributed with this
55 file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
7- Copyright (C) 2009-2012 Michael Möller <mmoeller@openhardwaremonitor.org>
7+ Copyright (C) 2009-2020 Michael Möller <mmoeller@openhardwaremonitor.org>
88
99*/
1010
1111using System ;
1212using System . Collections . Generic ;
13- using System . Drawing ;
1413using OpenHardwareMonitor . Hardware ;
1514
1615namespace OpenHardwareMonitor . GUI {
1716 public class HardwareNode : Node {
1817
19- private PersistentSettings settings ;
20- private UnitManager unitManager ;
21- private IHardware hardware ;
18+ private readonly PersistentSettings settings ;
19+ private readonly UnitManager unitManager ;
20+ private readonly IHardware hardware ;
21+ private readonly Identifier expandedIdentifier ;
2222
2323 private List < TypeNode > typeNodes = new List < TypeNode > ( ) ;
2424
@@ -31,13 +31,17 @@ public HardwareNode(IHardware hardware, PersistentSettings settings,
3131 this . Image = HardwareTypeImage . Instance . GetImage ( hardware . HardwareType ) ;
3232
3333 foreach ( SensorType sensorType in Enum . GetValues ( typeof ( SensorType ) ) )
34- typeNodes . Add ( new TypeNode ( sensorType ) ) ;
34+ typeNodes . Add ( new TypeNode ( sensorType , hardware , settings ) ) ;
3535
3636 foreach ( ISensor sensor in hardware . Sensors )
3737 SensorAdded ( sensor ) ;
3838
3939 hardware . SensorAdded += new SensorEventHandler ( SensorAdded ) ;
4040 hardware . SensorRemoved += new SensorEventHandler ( SensorRemoved ) ;
41+
42+ this . expandedIdentifier = new Identifier ( hardware . Identifier , "expanded" ) ;
43+ base . IsExpanded =
44+ settings . GetValue ( expandedIdentifier . ToString ( ) , base . IsExpanded ) ;
4145 }
4246
4347 public override string Text {
@@ -49,6 +53,18 @@ public IHardware Hardware {
4953 get { return hardware ; }
5054 }
5155
56+ public override bool IsExpanded {
57+ get {
58+ return base . IsExpanded ;
59+ }
60+ set {
61+ if ( base . IsExpanded != value ) {
62+ base . IsExpanded = value ;
63+ settings . SetValue ( expandedIdentifier . ToString ( ) , value ) ;
64+ }
65+ }
66+ }
67+
5268 private void UpdateNode ( TypeNode node ) {
5369 if ( node . Nodes . Count > 0 ) {
5470 if ( ! Nodes . Contains ( node ) ) {
0 commit comments