@@ -80,6 +80,16 @@ public partial class MainWindowViewModel : ViewModelBase
8080 [ ObservableProperty ]
8181 private bool showTimestamps ;
8282
83+ [ ObservableProperty ]
84+ [ NotifyPropertyChangedFor ( nameof ( IsDescriptionInlineMode ) ) ]
85+ [ NotifyPropertyChangedFor ( nameof ( IsDescriptionNewLineMode ) ) ]
86+ [ NotifyPropertyChangedFor ( nameof ( IsDescriptionBottomPanelMode ) ) ]
87+ private string descriptionDisplayMode = "NewLine" ;
88+
89+ public bool IsDescriptionInlineMode => DescriptionDisplayMode == "Inline" ;
90+ public bool IsDescriptionNewLineMode => DescriptionDisplayMode == "NewLine" ;
91+ public bool IsDescriptionBottomPanelMode => DescriptionDisplayMode == "BottomPanel" ;
92+
8393 [ ObservableProperty ]
8494 private string i2cScanOutput = Assets . Resources . ScanButtonText ;
8595
@@ -98,6 +108,9 @@ public partial class MainWindowViewModel : ViewModelBase
98108 [ ObservableProperty ]
99109 private bool debugModeUnlocked ;
100110
111+ [ ObservableProperty ]
112+ private LogEntry ? selectedLogEntry ;
113+
101114 private int _appVersionClickCount ;
102115
103116 public IStorageProvider ? StorageProvider
@@ -137,6 +150,7 @@ public MainWindowViewModel(
137150 }
138151 SelectedConsoleModel = ConsoleModels . FirstOrDefault ( ) ;
139152 ShowTimestamps = _configurationService . Config . ShowTimestamps ;
153+ DescriptionDisplayMode = _configurationService . Config . DescriptionDisplayMode ;
140154
141155 RefreshPorts ( ) ;
142156 _serialService . DataReceived += OnDataReceived ;
@@ -243,6 +257,24 @@ private void ClearLog()
243257 {
244258 LogEntries . Clear ( ) ;
245259 RawLogEntries . Clear ( ) ;
260+ SelectedLogEntry = null ;
261+ }
262+
263+ [ RelayCommand ]
264+ private void SelectLogEntry ( LogEntry entry )
265+ {
266+ if ( SelectedLogEntry == entry )
267+ {
268+ entry . IsSelected = false ;
269+ SelectedLogEntry = null ;
270+ return ;
271+ }
272+
273+ if ( SelectedLogEntry != null )
274+ SelectedLogEntry . IsSelected = false ;
275+
276+ entry . IsSelected = true ;
277+ SelectedLogEntry = entry ;
246278 }
247279
248280 [ RelayCommand ]
@@ -420,6 +452,7 @@ private async Task ShowConfigurationAsync()
420452 await dialog . ShowDialog ( GetParentWindow ( ) ) ;
421453
422454 ShowTimestamps = _configurationService . Config . ShowTimestamps ;
455+ DescriptionDisplayMode = _configurationService . Config . DescriptionDisplayMode ;
423456 }
424457
425458 [ RelayCommand ]
0 commit comments