summaryrefslogtreecommitdiff
path: root/grapher/Models/AccelGUI.cs
diff options
context:
space:
mode:
Diffstat (limited to 'grapher/Models/AccelGUI.cs')
-rw-r--r--grapher/Models/AccelGUI.cs99
1 files changed, 47 insertions, 52 deletions
diff --git a/grapher/Models/AccelGUI.cs b/grapher/Models/AccelGUI.cs
index dd1e37d..c08313b 100644
--- a/grapher/Models/AccelGUI.cs
+++ b/grapher/Models/AccelGUI.cs
@@ -33,13 +33,8 @@ namespace grapher
ToggleButton = (CheckBox)toggleButton;
ScaleMenuItem = scaleMenuItem;
Settings = settings;
- Settings.Startup();
- RefreshOnRead(Settings.RawAccelSettings.AccelerationSettings);
- AccelForm.DoResize();
-
DefaultButtonFont = WriteButton.Font;
SmallButtonFont = new Font(WriteButton.Font.Name, WriteButton.Font.Size * Constants.SmallButtonSizeFactor);
-
MouseWatcher = mouseWatcher;
ScaleMenuItem.Click += new System.EventHandler(OnScaleMenuItemClick);
@@ -50,9 +45,30 @@ namespace grapher
ButtonTimerInterval = Convert.ToInt32(DriverInterop.WriteDelayMs);
ButtonTimer = new Timer();
ButtonTimer.Tick += new System.EventHandler(OnButtonTimerTick);
- SetupButtons();
ChartRefresh = SetupChartTimer();
+
+ bool settingsActive = Settings.Startup();
+ SettingsNotDefault = !Settings.RawAccelSettings.IsDefaultEquivalent();
+
+ if (settingsActive)
+ {
+ LastToggleChecked = SettingsNotDefault;
+ ToggleButton.Enabled = LastToggleChecked;
+ RefreshOnRead(Settings.RawAccelSettings.AccelerationSettings);
+ }
+ else
+ {
+ DriverSettings active = DriverInterop.GetActiveSettings();
+ bool activeNotDefault = !RawAccelSettings.IsDefaultEquivalent(active);
+
+ LastToggleChecked = activeNotDefault;
+ ToggleButton.Enabled = SettingsNotDefault || activeNotDefault;
+ RefreshOnRead(active);
+ }
+
+ SetupButtons();
+ AccelForm.DoResize();
}
#endregion Constructors
@@ -109,6 +125,10 @@ namespace grapher
{
var driverSettings = Settings.RawAccelSettings.AccelerationSettings;
+ var newArgs = ApplyOptions.GetArgs();
+ newArgs.x.speedCap = driverSettings.args.x.speedCap;
+ newArgs.y.speedCap = driverSettings.args.y.speedCap;
+
var settings = new DriverSettings
{
rotation = ApplyOptions.Rotation.Field.Data,
@@ -119,15 +139,16 @@ namespace grapher
},
combineMagnitudes = ApplyOptions.IsWhole,
modes = ApplyOptions.GetModes(),
- args = ApplyOptions.GetArgs(),
+ args = newArgs,
minimumTime = driverSettings.minimumTime
};
- WriteButtonDelay();
+ ButtonDelay(WriteButton);
SettingsErrors errors = Settings.TryUpdateActiveSettings(settings);
if (errors.Empty())
{
- RefreshToggleStateFromNewSettings();
+ SettingsNotDefault = !Settings.RawAccelSettings.IsDefaultEquivalent();
+ LastToggleChecked = SettingsNotDefault;
RefreshOnRead(Settings.RawAccelSettings.AccelerationSettings);
}
else
@@ -176,34 +197,23 @@ namespace grapher
ToggleButton.Size = WriteButton.Size;
ToggleButton.Top = WriteButton.Top;
- RefreshToggleStateFromNewSettings();
- SetToggleButtonDefault();
- SetWriteButtonDefault();
+ SetButtonDefaults();
}
- private void RefreshToggleStateFromNewSettings()
+ private void SetButtonDefaults()
{
- SettingsNotDefault = !Settings.RawAccelSettings.IsDefaultEquivalent();
- LastToggleChecked = SettingsNotDefault;
- }
+ ToggleButton.Checked = LastToggleChecked;
+
+ ToggleButton.Font = DefaultButtonFont;
+ ToggleButton.Text = ToggleButton.Checked ? "Enabled" : "Disabled";
+ ToggleButton.Update();
- private void SetWriteButtonDefault()
- {
WriteButton.Font = DefaultButtonFont;
WriteButton.Text = Constants.WriteButtonDefaultText;
WriteButton.Enabled = ToggleButton.Checked || !ToggleButton.Enabled;
WriteButton.Update();
}
- private void SetToggleButtonDefault()
- {
- ToggleButton.Checked = LastToggleChecked;
- ToggleButton.Enabled = SettingsNotDefault;
- ToggleButton.Font = DefaultButtonFont;
- ToggleButton.Text = ToggleButton.Checked ? "Enabled" : "Disabled";
- ToggleButton.Update();
- }
-
private void OnScaleMenuItemClick(object sender, EventArgs e)
{
UpdateGraph(Settings.RawAccelSettings.AccelerationSettings);
@@ -220,7 +230,8 @@ namespace grapher
Settings.RawAccelSettings.AccelerationSettings :
DriverInterop.DefaultSettings;
- ToggleButtonDelay();
+ LastToggleChecked = ToggleButton.Checked;
+ ButtonDelay(ToggleButton);
SettingsManager.SendToDriver(settings);
Settings.ActiveAccel.UpdateFromSettings(settings);
@@ -230,8 +241,8 @@ namespace grapher
private void OnButtonTimerTick(object sender, EventArgs e)
{
ButtonTimer.Stop();
- SetToggleButtonDefault();
- SetWriteButtonDefault();
+ ToggleButton.Enabled = SettingsNotDefault;
+ SetButtonDefaults();
}
private void StartButtonTimer()
@@ -240,33 +251,17 @@ namespace grapher
ButtonTimer.Start();
}
- private void WriteButtonDelay()
+ private void ButtonDelay(ButtonBase btn)
{
- WriteButton.Font = SmallButtonFont;
- WriteButton.Text = $"{Constants.ButtonDelayText} : {ButtonTimerInterval} ms";
+ ToggleButton.Checked = false;
+
+ ToggleButton.Enabled = false;
WriteButton.Enabled = false;
- WriteButton.Update();
- if (ToggleButton.Enabled)
- {
- LastToggleChecked = ToggleButton.Checked;
- ToggleButton.Checked = false;
- ToggleButton.Enabled = false;
- ToggleButton.Update();
- }
- StartButtonTimer();
- }
+ btn.Font = SmallButtonFont;
+ btn.Text = $"{Constants.ButtonDelayText} : {ButtonTimerInterval} ms";
- private void ToggleButtonDelay()
- {
- LastToggleChecked = ToggleButton.Checked;
- ToggleButton.Checked = false;
- ToggleButton.Enabled = false;
- ToggleButton.Font = SmallButtonFont;
- ToggleButton.Text = $"{Constants.ButtonDelayText} : {ButtonTimerInterval} ms";
ToggleButton.Update();
-
- WriteButton.Enabled = false;
WriteButton.Update();
StartButtonTimer();