@@ -50,6 +50,7 @@ public sealed partial class MainForm : Form
5050 private int _delayCount ;
5151 private bool _selectionDragging ;
5252 private DateTime _nextUpdateCheckTime ;
53+ private DateTime _nextAutoResetTime ;
5354
5455 public MainForm ( )
5556 {
@@ -438,7 +439,7 @@ public MainForm()
438439 FormClosed += CloseApplication ;
439440 // Make sure the settings are saved when the user logs off
440441 Microsoft . Win32 . SystemEvents . SessionEnded += ( _ , _ ) => CloseApplication ( null , EventArgs . Empty ) ;
441- // Microsoft.Win32.SystemEvents.PowerModeChanged += PowerModeChanged;
442+ Microsoft . Win32 . SystemEvents . PowerModeChanged += PowerModeChanged ;
442443 }
443444
444445 private void StopFileHardwareMenuFromClosing ( object sender , ToolStripDropDownClosingEventArgs e )
@@ -470,11 +471,9 @@ private void BackgroundUpdater_DoWork(object sender, DoWorkEventArgs e)
470471
471472 private void PowerModeChanged ( object sender , Microsoft . Win32 . PowerModeChangedEventArgs eventArgs )
472473 {
473- if ( eventArgs . Mode == Microsoft . Win32 . PowerModes . Resume && _computer . IsBatteryEnabled )
474+ if ( eventArgs . Mode == Microsoft . Win32 . PowerModes . Resume || _computer . IsBatteryEnabled )
474475 {
475- _computer . IsBatteryEnabled = false ;
476- _computer . IsBatteryEnabled = true ;
477- //_computer.Reset();
476+ _nextAutoResetTime = DateTime . Now . AddSeconds ( 2 ) ;
478477 }
479478 }
480479
@@ -556,6 +555,14 @@ private void NodeTextBoxText_EditorShowing(object sender, CancelEventArgs e)
556555
557556 private void Timer_Tick ( object sender , EventArgs e )
558557 {
558+ if ( _nextAutoResetTime != DateTime . MinValue && _nextAutoResetTime < DateTime . Now )
559+ {
560+ _nextAutoResetTime = DateTime . MinValue ;
561+ _computer . IsBatteryEnabled = false ;
562+ _computer . IsBatteryEnabled = true ;
563+ //_computer.Reset();
564+ }
565+
559566 treeView . Invalidate ( ) ;
560567 _systemTray . Redraw ( ) ;
561568 _gadget ? . Redraw ( ) ;
0 commit comments