Skip to content

Commit 6ebdd36

Browse files
committed
Added option to start application hidden.
Fixed bug that caused net graph form buttons to toggle state when saving options.
1 parent f012660 commit 6ebdd36

File tree

11 files changed

+172
-116
lines changed

11 files changed

+172
-116
lines changed

Source/App.config

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<setting name="LastNic" serializeAs="String">
1414
<value />
1515
</setting>
16-
<setting name="BootHide" serializeAs="String">
16+
<setting name="BootHidden" serializeAs="String">
1717
<value>True</value>
1818
</setting>
1919
<setting name="Topmost" serializeAs="String">
@@ -28,6 +28,9 @@
2828
<setting name="Transparent" serializeAs="String">
2929
<value>False</value>
3030
</setting>
31+
<setting name="LoadHidden" serializeAs="String">
32+
<value>False</value>
33+
</setting>
3134
</ScriptFUSION.UpDown_Meter.Properties.Settings>
3235
</userSettings>
3336
</configuration>

Source/Forms/NetGraphForm.cs

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public NetGraphForm() {
2525
sampler.SampleAdded += Sampler_SampleAdded;
2626

2727
Options = new Options(Settings.Default);
28+
ApplyLoadTimeOptions();
2829

2930
trayIconIllustrator = new TrayIconIllustrator();
3031
trayIcon.Icon = Icon;
@@ -73,6 +74,17 @@ private bool IsConnectionDormant
7374
get { return LastSample.Max < 1000 && AverageDownloadSpeed < 1000 && AverageUploadSpeed < 1000; }
7475
}
7576

77+
private void ApplyLoadTimeOptions() {
78+
if (!Options.Bounds.Location.IsEmpty) {
79+
StartPosition = FormStartPosition.Manual;
80+
Location = Options.Bounds.Location;
81+
}
82+
83+
if (!Options.LoadHidden) {
84+
Show();
85+
}
86+
}
87+
7688
private void SyncOptionsWithSampler(Options options) {
7789
var nic = sampler.NetworkInterface = options.NetworkInterface;
7890

@@ -82,13 +94,8 @@ private void SyncOptionsWithSampler(Options options) {
8294
}
8395

8496
private void SyncOptionsWithUI(Options options) {
85-
if (!options.Bounds.Location.IsEmpty && StartPosition != FormStartPosition.Manual) {
86-
StartPosition = FormStartPosition.Manual;
87-
Location = options.Bounds.Location;
88-
}
89-
90-
if (options.Topmost) topmost.SimulateClick();
91-
if (options.Transparent) transparent.SimulateClick();
97+
if (options.Topmost && !topmost.Selected) topmost.SimulateClick();
98+
if (options.Transparent && !transparent.Selected) transparent.SimulateClick();
9299
}
93100

94101
private void UpdateStats() {
@@ -139,7 +146,7 @@ private void ToggleWindowVisibility() {
139146
}
140147

141148
private bool CanSnap(int clientEdge, int containerEdge, int tension) {
142-
if (!options.Docking) {
149+
if (!Options.Docking) {
143150
return false;
144151
}
145152

@@ -159,22 +166,22 @@ private void close_Click(object sender, EventArgs e) {
159166
}
160167

161168
private void minimize_Click(object sender, EventArgs e) {
162-
Visible = false;
169+
Hide();
163170
}
164171

165172
private void topmost_Click(object sender, EventArgs e) {
166-
TopMost = topmost.Selected = topmostMenuItem.Checked = options.Topmost =
173+
TopMost = topmost.Selected = topmostMenuItem.Checked = Options.Topmost =
167174
sender == topmost ? topmost.Selected : topmostMenuItem.Checked;
168175

169-
options.Save();
176+
Options.Save();
170177
}
171178

172179
private void transparent_Click(object sender, EventArgs e) {
173-
Opacity = (transparent.Selected = transparencyMenuItem.Checked = options.Transparent =
180+
Opacity = (transparent.Selected = transparencyMenuItem.Checked = Options.Transparent =
174181
sender == transparent ? transparent.Selected : transparencyMenuItem.Checked
175182
) ? .4 : 1;
176183

177-
options.Save();
184+
Options.Save();
178185
}
179186

180187
private void reset_Click(object sender, EventArgs e) {
@@ -265,9 +272,9 @@ private void NetGraphForm_Paint(object sender, PaintEventArgs e) {
265272
}
266273

267274
private void NetGraphForm_FormClosed(object sender, FormClosedEventArgs e) {
268-
options.Bounds = Bounds;
275+
Options.Bounds = Bounds;
269276

270-
options.Save();
277+
Options.Save();
271278
}
272279

273280
#endregion

Source/Forms/OptionsForm.Designer.cs

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

0 commit comments

Comments
 (0)