summaryrefslogtreecommitdiff
path: root/grapher/Models/Serialized
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-10-08 02:07:56 -0400
committera1xd <[email protected]>2020-10-08 02:07:56 -0400
commit2be0106211cb4ce30036fc0c8e84ae70dff68c87 (patch)
treed36296ff0402c014d355b7fb1b8e7cc4c11fc3f4 /grapher/Models/Serialized
parentease requirements for loading driver settings (diff)
downloadrawaccel-2be0106211cb4ce30036fc0c8e84ae70dff68c87.tar.xz
rawaccel-2be0106211cb4ce30036fc0c8e84ae70dff68c87.zip
add toggle button + save gui settings on close
remove option to disable write on startup
Diffstat (limited to 'grapher/Models/Serialized')
-rw-r--r--grapher/Models/Serialized/GUISettings.cs27
-rw-r--r--grapher/Models/Serialized/RawAccelSettings.cs12
-rw-r--r--grapher/Models/Serialized/SettingsManager.cs22
3 files changed, 36 insertions, 25 deletions
diff --git a/grapher/Models/Serialized/GUISettings.cs b/grapher/Models/Serialized/GUISettings.cs
index 84e681b..f9e5755 100644
--- a/grapher/Models/Serialized/GUISettings.cs
+++ b/grapher/Models/Serialized/GUISettings.cs
@@ -10,32 +10,35 @@ namespace grapher.Models.Serialized
public GUISettings() {}
- public GUISettings(bool autoWrite, int dpi, int pollRate)
- {
- AutoWriteToDriverOnStartup = autoWrite;
- DPI = dpi;
- PollRate = pollRate;
- }
-
#endregion Constructors
#region Properties
- [JsonProperty(Order = 1)]
- public bool AutoWriteToDriverOnStartup { get; set; }
- [JsonProperty(Order = 2)]
+ [JsonProperty(Order = 1)]
public int DPI { get; set; }
- [JsonProperty(Order = 3)]
+ [JsonProperty(Order = 2)]
public int PollRate { get; set; }
- [JsonProperty(Order = 4)]
+ [JsonProperty(Order = 3)]
public bool ShowLastMouseMove { get; set; }
[JsonProperty(Order = 4)]
public bool ShowVelocityAndGain { get; set; }
#endregion Properties
+
+ #region Methods
+
+ public bool ValueEquals(GUISettings other)
+ {
+ return DPI == other.DPI &&
+ PollRate == other.PollRate &&
+ ShowLastMouseMove == other.ShowLastMouseMove &&
+ ShowVelocityAndGain == other.ShowVelocityAndGain;
+ }
+
+ #endregion Methods
}
}
diff --git a/grapher/Models/Serialized/RawAccelSettings.cs b/grapher/Models/Serialized/RawAccelSettings.cs
index 6f48d44..e0362ff 100644
--- a/grapher/Models/Serialized/RawAccelSettings.cs
+++ b/grapher/Models/Serialized/RawAccelSettings.cs
@@ -115,6 +115,18 @@ namespace grapher.Models.Serialized
.AddFirst(new JProperty("### Mode Types ###", modes));
}
+ public bool IsDefaultEquivalent()
+ {
+ bool wholeOrNoY = AccelerationSettings.combineMagnitudes ||
+ AccelerationSettings.modes.y == AccelMode.noaccel;
+
+ return AccelerationSettings.sensitivity.x == 1 &&
+ AccelerationSettings.sensitivity.y == 1 &&
+ AccelerationSettings.rotation == 0 &&
+ AccelerationSettings.modes.x == AccelMode.noaccel &&
+ wholeOrNoY;
+ }
+
#endregion Methods
}
}
diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs
index f53c9c9..8712c87 100644
--- a/grapher/Models/Serialized/SettingsManager.cs
+++ b/grapher/Models/Serialized/SettingsManager.cs
@@ -14,14 +14,12 @@ namespace grapher.Models.Serialized
ManagedAccel activeAccel,
Field dpiField,
Field pollRateField,
- ToolStripMenuItem autoWrite,
ToolStripMenuItem showLastMouseMove,
ToolStripMenuItem showVelocityAndGain)
{
ActiveAccel = activeAccel;
DpiField = dpiField;
PollRateField = pollRateField;
- AutoWriteMenuItem = autoWrite;
ShowLastMouseMoveMenuItem = showLastMouseMove;
ShowVelocityAndGainMoveMenuItem = showVelocityAndGain;
}
@@ -38,8 +36,6 @@ namespace grapher.Models.Serialized
private Field PollRateField { get; set; }
- private ToolStripMenuItem AutoWriteMenuItem { get; set; }
-
private ToolStripMenuItem ShowLastMouseMoveMenuItem { get; set; }
private ToolStripMenuItem ShowVelocityAndGainMoveMenuItem { get; set; }
@@ -90,17 +86,20 @@ namespace grapher.Models.Serialized
return errors;
}
- public void UpdateActiveAccelFromFileSettings(DriverSettings settings)
+ public void UpdateFieldsFromGUISettings()
{
- TryUpdateAccel(settings);
-
DpiField.SetToEntered(RawAccelSettings.GUISettings.DPI);
PollRateField.SetToEntered(RawAccelSettings.GUISettings.PollRate);
- AutoWriteMenuItem.Checked = RawAccelSettings.GUISettings.AutoWriteToDriverOnStartup;
ShowLastMouseMoveMenuItem.Checked = RawAccelSettings.GUISettings.ShowLastMouseMove;
ShowVelocityAndGainMoveMenuItem.Checked = RawAccelSettings.GUISettings.ShowVelocityAndGain;
}
+ public void UpdateActiveAccelFromFileSettings(DriverSettings settings)
+ {
+ TryUpdateAccel(settings);
+ UpdateFieldsFromGUISettings();
+ }
+
public SettingsErrors TryUpdateAccel(DriverSettings settings)
{
var errors = SendToDriverSafe(settings);
@@ -124,7 +123,6 @@ namespace grapher.Models.Serialized
{
return new GUISettings
{
- AutoWriteToDriverOnStartup = AutoWriteMenuItem.Checked,
DPI = (int)DpiField.Data,
PollRate = (int)PollRateField.Data,
ShowLastMouseMove = ShowLastMouseMoveMenuItem.Checked,
@@ -139,10 +137,8 @@ namespace grapher.Models.Serialized
try
{
RawAccelSettings = RawAccelSettings.Load(() => MakeGUISettingsFromFields());
- if (RawAccelSettings.GUISettings.AutoWriteToDriverOnStartup)
- {
- UpdateActiveAccelFromFileSettings(RawAccelSettings.AccelerationSettings);
- }
+ UpdateFieldsFromGUISettings();
+ UpdateActiveAccelFromFileSettings(RawAccelSettings.AccelerationSettings);
return;
}
catch (JsonException e)