OptionFrm.pas 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. unit OptionFrm;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, StdCtrls, ExtCtrls, ComCtrls, XPMenu;
  6. type
  7. TOptionForm = class(TForm)
  8. pcOptions: TPageControl;
  9. tsCommon: TTabSheet;
  10. btnOk: TButton;
  11. btnCancel: TButton;
  12. lblCommon: TLabel;
  13. pnlUserInfo: TPanel;
  14. xpm: TXPMenu;
  15. cbAutoSave: TCheckBox;
  16. lblSaveInterval: TLabel;
  17. cbbSaveIntervall: TComboBox;
  18. lblMinutes: TLabel;
  19. gbOverRange: TGroupBox;
  20. lblTitleOverRange: TLabel;
  21. rbLedger: TRadioButton;
  22. rbDeal: TRadioButton;
  23. rbBoth: TRadioButton;
  24. procedure cbAutoSaveClick(Sender: TObject);
  25. procedure rbLedgerClick(Sender: TObject);
  26. private
  27. procedure SetSaveIntervalEnable(AEnable: Boolean);
  28. function GetOverRangeType: Integer;
  29. procedure SetOverRangeType(const Value: Integer);
  30. public
  31. procedure Load;
  32. procedure Save;
  33. property OverRangeType: Integer read GetOverRangeType write SetOverRangeType;
  34. end;
  35. procedure ModifiedOptions;
  36. implementation
  37. {$R *.dfm}
  38. uses
  39. Globals, ConfigDoc;
  40. procedure ModifiedOptions;
  41. var
  42. OptionFrom: TOptionForm;
  43. begin
  44. OptionFrom := TOptionForm.Create(nil);
  45. try
  46. OptionFrom.Load;
  47. if OptionFrom.ShowModal = mrOk then
  48. OptionFrom.Save;
  49. finally
  50. OptionFrom.Free;
  51. end;
  52. end;
  53. { TOptionForm }
  54. procedure TOptionForm.Load;
  55. begin
  56. with SupportManager.ConfigInfo do
  57. begin
  58. cbAutoSave.Checked := AutoSave;
  59. SetSaveIntervalEnable(cbAutoSave.Checked);
  60. cbbSaveIntervall.Text := IntToStr(AutoSaveInterval);
  61. Self.OverRangeType := OverRangeType;
  62. end;
  63. end;
  64. procedure TOptionForm.Save;
  65. begin
  66. with SupportManager.ConfigInfo do
  67. begin
  68. AutoSave := cbAutoSave.Checked;
  69. AutoSaveInterval := StrToIntDef(cbbSaveIntervall.Text, 15);
  70. OverRangeType := Self.OverRangeType;
  71. end;
  72. end;
  73. procedure TOptionForm.cbAutoSaveClick(Sender: TObject);
  74. begin
  75. SetSaveIntervalEnable(cbAutoSave.Checked);
  76. end;
  77. procedure TOptionForm.SetSaveIntervalEnable(AEnable: Boolean);
  78. begin
  79. lblSaveInterval.Enabled := AEnable;
  80. cbbSaveIntervall.Enabled := AEnable;
  81. lblMinutes.Enabled := AEnable;
  82. end;
  83. function TOptionForm.GetOverRangeType: Integer;
  84. begin
  85. if rbLedger.Checked then
  86. Result := rbLedger.Tag
  87. else if rbDeal.Checked then
  88. Result := rbDeal.Tag
  89. else if rbBoth.Checked then
  90. Result := rbBoth.Tag;
  91. end;
  92. procedure TOptionForm.SetOverRangeType(const Value: Integer);
  93. begin
  94. rbLedger.Checked := rbLedger.Tag = Value;
  95. rbDeal.Checked := rbDeal.Tag = Value;
  96. rbBoth.Checked := rbBoth.Tag = Value;
  97. end;
  98. procedure TOptionForm.rbLedgerClick(Sender: TObject);
  99. begin
  100. TRadioButton(Sender).Checked := True;
  101. end;
  102. end.