2019-01-20 19:20:45 +08:00
|
|
|
|
unit fOptions;
|
|
|
|
|
|
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
uses
|
2019-01-26 01:37:22 +08:00
|
|
|
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
|
|
|
|
|
ComCtrls, ExtCtrls, StdCtrls, Menus, Buttons, uOptions;
|
2019-01-20 19:20:45 +08:00
|
|
|
|
|
|
|
|
|
type
|
|
|
|
|
|
|
|
|
|
{ TfmOptions }
|
|
|
|
|
|
|
|
|
|
TfmOptions = class(TForm)
|
2019-01-21 00:45:05 +08:00
|
|
|
|
btnSave: TButton;
|
|
|
|
|
btnClose: TButton;
|
|
|
|
|
btnCheckUpdates: TButton;
|
|
|
|
|
btnChangelog: TButton;
|
|
|
|
|
btnBugReport: TButton;
|
|
|
|
|
btnOnlineHelp: TButton;
|
|
|
|
|
btnLicense: TButton;
|
|
|
|
|
cbChkExitCodes: TCheckBox;
|
|
|
|
|
cbDntUnChkItems: TCheckBox;
|
|
|
|
|
cbExpandSoft: TCheckBox;
|
|
|
|
|
cbExpandTools: TCheckBox;
|
|
|
|
|
cbShowProgress: TCheckBox;
|
|
|
|
|
cbColorSoftTree: TCheckBox;
|
|
|
|
|
cbOnTop: TCheckBox;
|
|
|
|
|
cbShowPkgDesc: TCheckBox;
|
|
|
|
|
cbQuietREG: TCheckBox;
|
|
|
|
|
cbHideOnTool: TCheckBox;
|
|
|
|
|
cbDrawOutlines: TCheckBox;
|
|
|
|
|
cbScreenSnap: TCheckBox;
|
2019-01-26 01:37:22 +08:00
|
|
|
|
cmbLanguage: TComboBox;
|
2019-01-21 00:45:05 +08:00
|
|
|
|
grpOptMainform: TGroupBox;
|
|
|
|
|
grpOptInstall: TGroupBox;
|
|
|
|
|
grpOptTools: TGroupBox;
|
2019-01-20 19:20:45 +08:00
|
|
|
|
imgLogo: TImage;
|
2019-01-21 00:45:05 +08:00
|
|
|
|
labAboutTitle: TLabel;
|
|
|
|
|
labCopyright: TLabel;
|
|
|
|
|
labDescription: TLabel;
|
2019-01-26 01:37:22 +08:00
|
|
|
|
Label1: TLabel;
|
2019-01-21 00:45:05 +08:00
|
|
|
|
mmLicenseText: TMemo;
|
2019-01-20 19:20:45 +08:00
|
|
|
|
PageControl: TPageControl;
|
2019-01-26 01:37:22 +08:00
|
|
|
|
pnLanguage: TPanel;
|
|
|
|
|
btnSetDefault: TSpeedButton;
|
2019-01-20 19:20:45 +08:00
|
|
|
|
tabCommon: TTabSheet;
|
|
|
|
|
tabPackages: TTabSheet;
|
|
|
|
|
tabAbout: TTabSheet;
|
2019-01-21 00:45:05 +08:00
|
|
|
|
tabLicense: TTabSheet;
|
2019-01-26 01:37:22 +08:00
|
|
|
|
procedure btnSaveClick(Sender: TObject);
|
|
|
|
|
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
|
|
|
|
procedure FormShow(Sender: TObject);
|
2019-01-20 19:20:45 +08:00
|
|
|
|
private
|
2019-01-26 01:37:22 +08:00
|
|
|
|
procedure ResetControlls;
|
2019-01-20 19:20:45 +08:00
|
|
|
|
public
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
var
|
|
|
|
|
fmOptions: TfmOptions;
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
|
|
{$R *.lfm}
|
|
|
|
|
|
|
|
|
|
{ TfmOptions }
|
|
|
|
|
|
2019-01-26 01:37:22 +08:00
|
|
|
|
{------------------------------------------------------------------------------
|
|
|
|
|
Процедура: TfmOptions.btnSaveClick()
|
|
|
|
|
Назначение: Закрытие формы настроек и возврат модального результата при клике
|
|
|
|
|
по кнопке "Сохранить"
|
|
|
|
|
Описание: Закрытие формы происходит автоматически благодаря свойству
|
|
|
|
|
ModalResult = mrOK, заданному кнопке в инспекторе объектов.
|
|
|
|
|
------------------------------------------------------------------------------}
|
|
|
|
|
procedure TfmOptions.btnSaveClick(Sender: TObject);
|
2019-01-20 19:20:45 +08:00
|
|
|
|
begin
|
2019-01-26 01:37:22 +08:00
|
|
|
|
//TODO сохранение настроек
|
2019-01-20 19:20:45 +08:00
|
|
|
|
end;
|
|
|
|
|
|
2019-01-26 01:37:22 +08:00
|
|
|
|
{------------------------------------------------------------------------------
|
|
|
|
|
Процедура: TfmOptions.FormClose()
|
|
|
|
|
Назначение: Закрытие формы при её закрытии через кнопку в заголовке и возврат
|
|
|
|
|
модального результата
|
|
|
|
|
------------------------------------------------------------------------------}
|
|
|
|
|
procedure TfmOptions.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
2019-01-21 00:45:05 +08:00
|
|
|
|
begin
|
2019-01-26 01:37:22 +08:00
|
|
|
|
ModalResult := mrClose;
|
2019-01-21 00:45:05 +08:00
|
|
|
|
end;
|
2019-01-26 01:37:22 +08:00
|
|
|
|
|
|
|
|
|
{------------------------------------------------------------------------------
|
|
|
|
|
Процедура: TfmOptions.FormShow()
|
|
|
|
|
Назначение: Показ окна настроек
|
|
|
|
|
Описание: Форма настроек создаётся однажды при её первом вызове. При закрытии
|
|
|
|
|
она не уничтожается. Она может быть закрыта без сохранения настроек. При
|
|
|
|
|
повторном открытии окна контроллы должны принять состояние, соответствущее
|
|
|
|
|
текущим (при запуске или прошлом сохранении) настройкам. В противном случае,
|
|
|
|
|
повторное открытие окна отобразит прошлые несохранённые изменения - это
|
|
|
|
|
введёт пользователя в заблуждение и он примет эти настройки как текущие.
|
|
|
|
|
------------------------------------------------------------------------------}
|
|
|
|
|
procedure TfmOptions.FormShow(Sender: TObject);
|
2019-01-21 00:45:05 +08:00
|
|
|
|
begin
|
2019-01-26 01:37:22 +08:00
|
|
|
|
ResetControlls;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{------------------------------------------------------------------------------
|
|
|
|
|
Процедура: TfmOptions.ResetControlls()
|
|
|
|
|
Назначение: Сброс состояния контроллов в сооответствии с текущими настройками
|
|
|
|
|
------------------------------------------------------------------------------}
|
|
|
|
|
procedure TfmOptions.ResetControlls;
|
|
|
|
|
begin
|
|
|
|
|
cmbLanguage.Items := GlobalOptions.ReadAvailableLocales(false);
|
|
|
|
|
|
|
|
|
|
cbScreenSnap.Checked := GlobalOptions.ScreenSnap;
|
|
|
|
|
cbShowPkgDesc.Checked := GlobalOptions.ShowPkgDesc;
|
|
|
|
|
cbDrawOutlines.Checked := GlobalOptions.DrawOutlines;
|
|
|
|
|
cbOnTop.Checked := GlobalOptions.OnTop;
|
|
|
|
|
|
|
|
|
|
cbChkExitCodes.Checked := GlobalOptions.ChkExitCodes;
|
|
|
|
|
cbDntUnChkItems.Checked := GlobalOptions.DntUnChkItems;
|
|
|
|
|
cbColorSoftTree.Checked := GlobalOptions.ColorSoftTree;
|
|
|
|
|
cbShowProgress.Checked := GlobalOptions.ShowProgress;
|
|
|
|
|
cbQuietREG.Checked := GlobalOptions.QuietREG;
|
|
|
|
|
cbExpandSoft.Checked := GlobalOptions.ExpandSoft;
|
|
|
|
|
|
|
|
|
|
cbHideOnTool.Checked := GlobalOptions.HideOnTool;
|
|
|
|
|
cbExpandTools.Checked := GlobalOptions.ExpandTools;
|
2019-01-21 00:45:05 +08:00
|
|
|
|
end;
|
|
|
|
|
|
2019-01-20 19:20:45 +08:00
|
|
|
|
end.
|
|
|
|
|
|