Skip to content

Commit 6c3351c

Browse files
committed
* Added property that displays whether the RAM monitor is active or not
* Disable RAM monitor when MemPlus is hidden
1 parent 8dc62a5 commit 6c3351c

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

MemPlus/Classes/RAM/RamController.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ internal sealed class RamController : IDisposable
6868
/// Property containing how much RAM was saved during the last optimisation
6969
/// </summary>
7070
internal double RamSavings { get; private set; }
71+
/// <summary>
72+
/// Property displaying whether the RAM monitor is enabled or not
73+
/// </summary>
74+
internal bool RamMonitorEnabled { get; private set; }
7175
#endregion
7276

7377
/// <summary>
@@ -115,7 +119,9 @@ internal RamController(Dispatcher dispatcher, SfCircularGauge gauge, Label lblTo
115119
internal void EnableMonitor()
116120
{
117121
if (_ramTimer.Enabled) return;
122+
118123
_ramTimer.Enabled = true;
124+
RamMonitorEnabled = true;
119125

120126
UpdateRamUsage();
121127
UpdateGuiControls();
@@ -129,6 +135,7 @@ internal void EnableMonitor()
129135
internal void DisableMonitor()
130136
{
131137
_ramTimer.Enabled = false;
138+
RamMonitorEnabled = false;
132139
_logController.AddLog(new ApplicationLog("The RAM monitor has been disabled"));
133140
}
134141

MemPlus/Windows/MainWindow.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919

2020
<tb:TaskbarIcon
2121
ToolTipText="DeviceLog"
22-
IconSource="../ram.ico">
22+
IconSource="../ram.ico"
23+
TrayMouseDoubleClick="OpenTbItem_Click">
2324

2425
<tb:TaskbarIcon.ContextMenu>
2526
<ContextMenu>

MemPlus/Windows/MainWindow.xaml.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ public partial class MainWindow
1818
private readonly RamController _ramController;
1919
private readonly LogController _logController;
2020

21+
private bool _rmEnabledBeforeInvisible;
22+
2123
public MainWindow()
2224
{
2325
_logController = new LogController();
@@ -28,6 +30,7 @@ public MainWindow()
2830
LoadProperties();
2931

3032
_ramController = new RamController(Dispatcher, CgRamUsage,LblTotalPhysicalMemory, LblAvailablePhysicalMemory, 1000, _logController);
33+
_rmEnabledBeforeInvisible = true;
3134
_ramController.EnableMonitor();
3235

3336
Application app = Application.Current;
@@ -219,11 +222,21 @@ private void OpenTbItem_Click(object sender, RoutedEventArgs e)
219222
{
220223
_logController.AddLog(new ApplicationLog("MainWindow is now hidden"));
221224
Hide();
225+
226+
if (_rmEnabledBeforeInvisible)
227+
{
228+
_ramController.DisableMonitor();
229+
}
222230
}
223231
else
224232
{
225233
_logController.AddLog(new ApplicationLog("MainWindow is now visible"));
226234
Show();
235+
236+
if (_rmEnabledBeforeInvisible)
237+
{
238+
_ramController.EnableMonitor();
239+
}
227240
}
228241
}
229242

0 commit comments

Comments
 (0)