Skip to content

Commit 8827223

Browse files
committed
* Added ability to change RAM usage warning level
1 parent c79222a commit 8827223

File tree

6 files changed

+54
-9
lines changed

6 files changed

+54
-9
lines changed

MemPlus/App.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@
8888
<setting name="NotifyIconStatistics" serializeAs="String">
8989
<value>True</value>
9090
</setting>
91+
<setting name="WarningLevel" serializeAs="String">
92+
<value>75</value>
93+
</setting>
9194
</MemPlus.Properties.Settings>
9295
</userSettings>
9396
</configuration>

MemPlus/Properties/Settings.Designer.cs

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MemPlus/Properties/Settings.settings

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,8 @@
8383
<Setting Name="NotifyIconStatistics" Type="System.Boolean" Scope="User">
8484
<Value Profile="(Default)">True</Value>
8585
</Setting>
86+
<Setting Name="WarningLevel" Type="System.Int64" Scope="User">
87+
<Value Profile="(Default)">75</Value>
88+
</Setting>
8689
</Settings>
8790
</SettingsFile>

MemPlus/Views/Windows/MainWindow.xaml.cs

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using MemPlus.Business.RAM;
1111
using MemPlus.Business.UTILS;
1212
using Microsoft.Win32;
13+
using Syncfusion.UI.Xaml.Gauges;
1314

1415
namespace MemPlus.Views.Windows
1516
{
@@ -246,10 +247,28 @@ internal void ChangeVisualStyle()
246247

247248
StyleManager.ChangeStyle(this);
248249

249-
SolidColorBrush brush = new SolidColorBrush(Properties.Settings.Default.MetroColor);
250-
CgRamUsage.Scales[0].Ranges[0].Stroke = brush;
251-
CgRamUsage.Scales[0].Pointers[0].NeedlePointerStroke = brush;
252-
CgRamUsage.Scales[0].Pointers[0].PointerCapStroke = brush;
250+
try
251+
{
252+
SolidColorBrush brush = new SolidColorBrush(Properties.Settings.Default.MetroColor);
253+
254+
CircularRange rangeNormal = CgRamUsage.Scales[0].Ranges[0];
255+
CircularRange rangeWarning = CgRamUsage.Scales[0].Ranges[1];
256+
257+
rangeNormal.Stroke = brush;
258+
rangeNormal.StartValue = 0;
259+
rangeNormal.EndValue = Properties.Settings.Default.WarningLevel;
260+
261+
rangeWarning.StartValue = Properties.Settings.Default.WarningLevel;
262+
rangeWarning.EndValue = 100;
263+
264+
CgRamUsage.Scales[0].Pointers[0].NeedlePointerStroke = brush;
265+
CgRamUsage.Scales[0].Pointers[0].PointerCapStroke = brush;
266+
}
267+
catch (Exception ex)
268+
{
269+
MessageBox.Show(ex.Message, "MemPlus", MessageBoxButton.OK, MessageBoxImage.Error);
270+
_logController.AddLog(new ApplicationLog(ex.Message));
271+
}
253272

254273
_logController.AddLog(new ApplicationLog("Done changing MainWindow theme style"));
255274
}

MemPlus/Views/Windows/SettingsWindow.xaml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -198,13 +198,15 @@
198198
<RowDefinition Height="Auto" />
199199
<RowDefinition Height="Auto" />
200200
<RowDefinition Height="Auto" />
201+
<RowDefinition Height="Auto" />
201202
</Grid.RowDefinitions>
202203
<Grid.ColumnDefinitions>
203204
<ColumnDefinition Width="Auto" />
205+
<ColumnDefinition />
204206
<ColumnDefinition Width="Auto" />
205207
</Grid.ColumnDefinitions>
206208
<Label Margin="3" Content="Style:" />
207-
<ComboBox Margin="3" x:Name="CboStyle" SelectedValuePath="Content" Grid.Row="0" Grid.Column="1" IsReadOnly="True">
209+
<ComboBox Margin="3" x:Name="CboStyle" SelectedValuePath="Content" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2" IsReadOnly="True">
208210
<ComboBoxItem Content="Metro" />
209211
<ComboBoxItem Content="Blend" />
210212
<ComboBoxItem Content="VS2010" />
@@ -222,13 +224,17 @@
222224
<ComboBoxItem Content="None" />
223225
</ComboBox>
224226
<Label Margin="3" Grid.Row="1" Grid.Column="0" Content="Metro brush:" />
225-
<syncfusion:ColorPicker Margin="3" x:Name="CpMetroBrush" Grid.Row="1" Grid.Column="1" />
227+
<syncfusion:ColorPicker Margin="3" x:Name="CpMetroBrush" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" />
226228
<Label Margin="3" Grid.Row="2" Grid.Column="0" Content="Border thickness:" />
227-
<syncfusion:IntegerTextBox Margin="3" x:Name="IntBorderThickness" Grid.Row="2" Grid.Column="1" MinValue="0"></syncfusion:IntegerTextBox>
229+
<syncfusion:IntegerTextBox Margin="3" x:Name="IntBorderThickness" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" MinValue="0"></syncfusion:IntegerTextBox>
228230
<Label Margin="3" Grid.Row="3" Grid.Column="0" Content="Window opacity:" />
229-
<Slider x:Name="SldOpacity" Margin="3" Grid.Row="3" Grid.Column="1" Minimum="30" Maximum="100" Width="150" ValueChanged="SldOpacity_OnValueChanged" />
231+
<Slider x:Name="SldOpacity" Margin="3" Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="2" Minimum="30" Maximum="100" Width="180" ValueChanged="SldOpacity_OnValueChanged" />
230232
<Label Margin="3" Grid.Row="4" Grid.Column="0" Content="Resize border:" />
231-
<Slider x:Name="SldWindowResize" Margin="3" Grid.Row="4" Grid.Column="1" Minimum="2" Maximum="10" Width="150" ValueChanged="SldWindowResize_OnValueChanged" />
233+
<Slider x:Name="SldWindowResize" Margin="3" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2" Minimum="2" Maximum="10" Width="180" ValueChanged="SldWindowResize_OnValueChanged" />
234+
235+
<Label Grid.Row="5" Grid.Column="0" Content="Warning level:" />
236+
<syncfusion:IntegerTextBox x:Name="ItbWarningLevel" Grid.Row="5" Grid.Column="1" MinValue="1" MaxValue="99" />
237+
<Label Grid.Row="5" Grid.Column="2" Content="%" />
232238
</Grid>
233239
</GroupBox>
234240
</Grid>

MemPlus/Views/Windows/SettingsWindow.xaml.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ private void LoadProperties()
155155
IntBorderThickness.Value = Properties.Settings.Default.BorderThickness;
156156
SldOpacity.Value = Properties.Settings.Default.WindowOpacity * 100;
157157
SldWindowResize.Value = Properties.Settings.Default.WindowResizeBorder;
158+
ItbWarningLevel.Value = Properties.Settings.Default.WarningLevel;
158159
}
159160
catch (Exception ex)
160161
{
@@ -275,6 +276,7 @@ private void SaveProperties()
275276
if (IntBorderThickness.Value != null) Properties.Settings.Default.BorderThickness = (int)IntBorderThickness.Value;
276277
Properties.Settings.Default.WindowOpacity = SldOpacity.Value / 100;
277278
Properties.Settings.Default.WindowResizeBorder = SldWindowResize.Value;
279+
if (ItbWarningLevel.Value != null) Properties.Settings.Default.WarningLevel = ItbWarningLevel.Value.Value;
278280

279281
Properties.Settings.Default.Save();
280282

0 commit comments

Comments
 (0)