SettingsForm.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using System;
  2. using System.Windows.Forms;
  3. namespace Steam_Desktop_Authenticator
  4. {
  5. public partial class SettingsForm : Form
  6. {
  7. Manifest manifest;
  8. bool fullyLoaded = false;
  9. public SettingsForm()
  10. {
  11. InitializeComponent();
  12. // Get latest manifest
  13. manifest = Manifest.GetManifest(true);
  14. chkPeriodicChecking.Checked = manifest.PeriodicChecking;
  15. numPeriodicInterval.Value = manifest.PeriodicCheckingInterval;
  16. chkCheckAll.Checked = manifest.CheckAllAccounts;
  17. chkConfirmMarket.Checked = manifest.AutoConfirmMarketTransactions;
  18. chkConfirmTrades.Checked = manifest.AutoConfirmTrades;
  19. SetControlsEnabledState(chkPeriodicChecking.Checked);
  20. fullyLoaded = true;
  21. }
  22. private void SetControlsEnabledState(bool enabled)
  23. {
  24. numPeriodicInterval.Enabled = chkCheckAll.Enabled = chkConfirmMarket.Enabled = chkConfirmTrades.Enabled = enabled;
  25. }
  26. private void ShowWarning(CheckBox affectedBox)
  27. {
  28. if (!fullyLoaded) return;
  29. var result = MessageBox.Show("Warning: enabling this will severely reduce the security of your items! Use of this option is at your own risk. Would you like to continue?", "Warning!", MessageBoxButtons.YesNo);
  30. if (result == DialogResult.No)
  31. {
  32. affectedBox.Checked = false;
  33. }
  34. }
  35. private void btnSave_Click(object sender, EventArgs e)
  36. {
  37. manifest.PeriodicChecking = chkPeriodicChecking.Checked;
  38. manifest.PeriodicCheckingInterval = (int)numPeriodicInterval.Value;
  39. manifest.CheckAllAccounts = chkCheckAll.Checked;
  40. manifest.AutoConfirmMarketTransactions = chkConfirmMarket.Checked;
  41. manifest.AutoConfirmTrades = chkConfirmTrades.Checked;
  42. manifest.Save();
  43. this.Close();
  44. }
  45. private void chkPeriodicChecking_CheckedChanged(object sender, EventArgs e)
  46. {
  47. SetControlsEnabledState(chkPeriodicChecking.Checked);
  48. }
  49. private void chkConfirmMarket_CheckedChanged(object sender, EventArgs e)
  50. {
  51. if (chkConfirmMarket.Checked)
  52. ShowWarning(chkConfirmMarket);
  53. }
  54. private void chkConfirmTrades_CheckedChanged(object sender, EventArgs e)
  55. {
  56. if (chkConfirmTrades.Checked)
  57. ShowWarning(chkConfirmTrades);
  58. }
  59. }
  60. }