mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-27 18:53:48 +02:00
622 lines
21 KiB
ObjectPascal
622 lines
21 KiB
ObjectPascal
{
|
|
***************************************************************************
|
|
* *
|
|
* This source is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This code is distributed in the hope that it will be useful, but *
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
|
* General Public License for more details. *
|
|
* *
|
|
* A copy of the GNU General Public License is available on the World *
|
|
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
|
|
* obtain it by writing to the Free Software Foundation, *
|
|
* Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA. *
|
|
* *
|
|
***************************************************************************
|
|
|
|
Author: Balázs Székely
|
|
Abstract:
|
|
Implementation of the options dialog.
|
|
}
|
|
|
|
unit opkman_optionsfrm;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
SysUtils, Math, Graphics, Classes,
|
|
// ideintf
|
|
MacroIntf, IDEImagesIntf,
|
|
// LCL
|
|
Forms, Controls, Dialogs, StdCtrls, ExtCtrls, Spin, ComCtrls, EditBtn, Menus,
|
|
ButtonPanel, Buttons,
|
|
// LazUtils
|
|
LazFileUtils,
|
|
// OpkMan
|
|
opkman_options, opkman_common, opkman_const, opkman_repositories, opkman_colorsfrm;
|
|
|
|
type
|
|
|
|
{ TOptionsFrm }
|
|
|
|
TOptionsFrm = class(TForm)
|
|
Bevel1: TBevel;
|
|
Bevel2: TBevel;
|
|
Bevel3: TBevel;
|
|
bFilesAdd: TButton;
|
|
bFilesDelete: TButton;
|
|
bFilesEdit: TButton;
|
|
bFoldersAdd: TButton;
|
|
bFoldersDelete: TButton;
|
|
bFoldersEdit: TButton;
|
|
bOpen: TButton;
|
|
bpOptions: TButtonPanel;
|
|
bColors: TButton;
|
|
cbIncompatiblePackages: TCheckBox;
|
|
cbAlreadyInstalledPackages: TCheckBox;
|
|
cbLoadJsonLocally: TCheckBox;
|
|
cbProxy: TCheckBox;
|
|
cbForceDownloadExtract: TCheckBox;
|
|
cbDeleteZipAfterInstall: TCheckBox;
|
|
cbCheckForUpdates: TComboBox;
|
|
cbUseDefaultTheme: TCheckBox;
|
|
cbRemoteRepository: TComboBox;
|
|
cbSelectProfile: TComboBox;
|
|
cbRegularIcons: TCheckBox;
|
|
edLocalRepositoryUpdate: TDirectoryEdit;
|
|
edLocalRepositoryPackages: TDirectoryEdit;
|
|
edLocalRepositoryArchive: TDirectoryEdit;
|
|
edProxyPassword: TEdit;
|
|
edProxyServer: TEdit;
|
|
edProxyUser: TEdit;
|
|
gbProxySettings: TGroupBox;
|
|
lbConTimeOut: TLabel;
|
|
lbFilterDirs: TLabel;
|
|
lbFilterFiles: TLabel;
|
|
lbLastUpdate: TLabel;
|
|
lbSelectProfile: TLabel;
|
|
lbUpdates: TLabel;
|
|
lbLocalRepositoryArchive: TLabel;
|
|
lbLocalRepositoryUpdate: TLabel;
|
|
lbRemoteRepository: TLabel;
|
|
lbServer: TLabel;
|
|
lbLocalRepositoryPackages: TLabel;
|
|
lbDaysToShowNewPackages: TLabel;
|
|
lbUserName: TLabel;
|
|
lbPort: TLabel;
|
|
lbPassword: TLabel;
|
|
lbExcludeFiles: TListBox;
|
|
lbExcludeFolders: TListBox;
|
|
pnRepositories: TPanel;
|
|
pnProfilesRight: TPanel;
|
|
pnProfilesTop: TPanel;
|
|
pnProfiles: TPanel;
|
|
pnFolders: TPanel;
|
|
pnProxy: TPanel;
|
|
pnGeneral: TPanel;
|
|
pgOptions: TPageControl;
|
|
pnBottom: TPanel;
|
|
pnProfilesMain: TPanel;
|
|
pnProfilesLeft: TPanel;
|
|
rbOpenSSL: TRadioGroup;
|
|
rbHintFormOptions: TRadioGroup;
|
|
SDD: TSelectDirectoryDialog;
|
|
seProxyPort: TSpinEdit;
|
|
spDaysToShowNewPackages: TSpinEdit;
|
|
spConTimeOut: TSpinEdit;
|
|
tsOpenSSL: TTabSheet;
|
|
tsFolders: TTabSheet;
|
|
tsProfiles: TTabSheet;
|
|
tsGeneral: TTabSheet;
|
|
tsProxy: TTabSheet;
|
|
procedure bColorsClick(Sender: TObject);
|
|
procedure bFilesAddClick(Sender: TObject);
|
|
procedure bFilesDeleteClick(Sender: TObject);
|
|
procedure bFilesEditClick(Sender: TObject);
|
|
procedure bOpenClick(Sender: TObject);
|
|
procedure cbProxyChange(Sender: TObject);
|
|
procedure cbSelectProfileChange(Sender: TObject);
|
|
procedure edLocalRepositoryPackagesButtonClick(Sender:TObject);
|
|
procedure edRemoteRepositoryKeyPress(Sender: TObject; var Key: char);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure FormDestroy(Sender: TObject);
|
|
procedure FormKeyPress(Sender: TObject; var Key: char);
|
|
procedure HelpButtonClick(Sender: TObject);
|
|
procedure OKButtonClick(Sender: TObject);
|
|
procedure pnProfilesMainResize(Sender: TObject);
|
|
procedure pnProfilesTopResize(Sender: TObject);
|
|
private
|
|
FHintFormOptionColors: TStringList;
|
|
function GetSelectedText(AListBox: TListBox; var AIndex: Integer): String;
|
|
procedure SetupColors;
|
|
public
|
|
procedure SetupControls(const AActivePageIndex: Integer = 0);
|
|
end;
|
|
|
|
var
|
|
OptionsFrm: TOptionsFrm;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TOptionsFrm }
|
|
|
|
procedure TOptionsFrm.bOpenClick(Sender: TObject);
|
|
var
|
|
I: Integer;
|
|
begin
|
|
RepositoriesFrm := TRepositoriesFrm.Create(Self);
|
|
try
|
|
if RepositoriesFrm.ShowModal = mrOk then
|
|
begin
|
|
cbRemoteRepository.Clear;
|
|
for I := 0 to Options.RemoteRepositoryTmp.Count - 1 do
|
|
cbRemoteRepository.Items.Add(Options.RemoteRepositoryTmp.Strings[I]);
|
|
if Options.ActiveRepositoryIndex <= cbRemoteRepository.Items.Count - 1 then
|
|
cbRemoteRepository.ItemIndex := Options.ActiveRepositoryIndex
|
|
else
|
|
begin
|
|
cbRemoteRepository.ItemIndex := 0;
|
|
Options.ActiveRepositoryIndex := 0;
|
|
end;
|
|
end;
|
|
finally
|
|
RepositoriesFrm.Free;
|
|
end;
|
|
end;
|
|
|
|
function TOptionsFrm.GetSelectedText(AListBox: TListBox; var AIndex: Integer): String;
|
|
var
|
|
I: Integer;
|
|
begin
|
|
Result := '';
|
|
for I := 0 to AListBox.Count - 1 do
|
|
begin
|
|
if AListBox.Selected[I] then
|
|
begin
|
|
Result := AListBox.Items.Strings[I];
|
|
AIndex := I;
|
|
Break;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TOptionsFrm.SetupColors;
|
|
begin
|
|
if not Options.UseDefaultTheme then
|
|
begin
|
|
Self.Color := clBtnFace;
|
|
tsGeneral.Color := clBtnFace;
|
|
tsProxy.Color := clBtnFace;
|
|
tsFolders.Color := clBtnFace;
|
|
tsProfiles.Color := clBtnFace;
|
|
pnGeneral.Color := clBtnFace;
|
|
pnProxy.Color := clBtnFace;
|
|
pnFolders.Color := clBtnFace;
|
|
pnProfiles.Color := clBtnFace;
|
|
lbExcludeFiles.Color := clBtnFace;
|
|
lbExcludeFolders.Color := clBtnFace;
|
|
end;
|
|
end;
|
|
|
|
procedure TOptionsFrm.bFilesAddClick(Sender: TObject);
|
|
var
|
|
Value: String;
|
|
Index: Integer;
|
|
ListBox: TListBox;
|
|
begin
|
|
case (Sender as TButton).Tag of
|
|
0: begin
|
|
ListBox := lbExcludeFiles;
|
|
Value := InputBox(rsOptions_InputBox_Caption, rsOptions_InputBox_Text0, '*.');
|
|
end;
|
|
1: begin
|
|
ListBox := lbExcludeFolders;
|
|
Value := InputBox(rsOptions_InputBox_Caption, rsOptions_InputBox_Text1, '');
|
|
end;
|
|
end;
|
|
if Value <> '' then
|
|
begin
|
|
Index := ListBox.Items.Add(Value);
|
|
ListBox.Selected[Index] := True;
|
|
end;
|
|
end;
|
|
|
|
procedure TOptionsFrm.bColorsClick(Sender: TObject);
|
|
begin
|
|
ColorsFrm := TColorsFrm.Create(Self);
|
|
try
|
|
if FHintFormOptionColors.Count > 0 then
|
|
ColorsFrm.LoadColors(FHintFormOptionColors)
|
|
else
|
|
ColorsFrm.LoadColors(Options.HintFormOptionColors);
|
|
if ColorsFrm.ShowModal = mrOK then
|
|
begin
|
|
FHintFormOptionColors.Clear;
|
|
FHintFormOptionColors.Add(ColorToString(ColorsFrm.shName.Brush.Color));
|
|
FHintFormOptionColors.Add(ColorToString(ColorsFrm.shDescription.Brush.Color));
|
|
FHintFormOptionColors.Add(ColorToString(ColorsFrm.shLicense.Brush.Color));
|
|
end;
|
|
finally
|
|
ColorsFrm.Free;
|
|
end;
|
|
end;
|
|
|
|
procedure TOptionsFrm.bFilesEditClick(Sender: TObject);
|
|
var
|
|
Value: String;
|
|
Index: Integer;
|
|
MsgInfo: String;
|
|
MsgTxt: String;
|
|
ListBox: TListBox;
|
|
begin
|
|
case (Sender as TButton).Tag of
|
|
0: begin
|
|
MsgInfo := rsOptions_InputBox_Info0;
|
|
MsgTxt := rsOptions_InputBox_Text0;
|
|
Listbox := lbExcludeFiles;
|
|
end;
|
|
1: begin
|
|
MsgInfo := rsOptions_InputBox_Info1;
|
|
MsgTxt := rsOptions_InputBox_Text1;
|
|
ListBox := lbExcludeFolders;
|
|
end;
|
|
end;
|
|
if ListBox.SelCount = 0 then
|
|
begin
|
|
MessageDlgEx(MsgInfo, mtInformation, [mbOk], Self);
|
|
ListBox.SetFocus;
|
|
Exit;
|
|
end;
|
|
Index := -1;
|
|
Value := InputBox(rsOptions_InputBox_Caption, MsgTxt, GetSelectedText(ListBox, Index));
|
|
if (Value <> '') and (Index <> -1) then
|
|
begin
|
|
ListBox.Sorted := False;
|
|
ListBox.Items[Index] := Value;
|
|
ListBox.Sorted := True;
|
|
Index := ListBox.Items.IndexOf(Value);
|
|
ListBox.Selected[Index] := True;
|
|
end;
|
|
end;
|
|
|
|
procedure TOptionsFrm.bFilesDeleteClick(Sender: TObject);
|
|
var
|
|
MsgConf: String;
|
|
MsgInfo: String;
|
|
ListBox: TListBox;
|
|
Value: String;
|
|
Index: Integer;
|
|
begin
|
|
case (Sender as TButton).Tag of
|
|
0: begin
|
|
MsgInfo := rsOptions_InputBox_Info0;
|
|
MsgConf := rsOptions_InputBox_Conf0;
|
|
ListBox := lbExcludeFiles;
|
|
end;
|
|
1: begin
|
|
MsgInfo := rsOptions_InputBox_Info1;
|
|
MsgConf := rsOptions_InputBox_Conf1;
|
|
ListBox := lbExcludeFolders;
|
|
end;
|
|
end;
|
|
if ListBox.SelCount = 0 then
|
|
begin
|
|
MessageDlgEx(MsgInfo, mtInformation, [mbOk], Self);
|
|
ListBox.SetFocus;
|
|
Exit;
|
|
end;
|
|
Index := -1;
|
|
Value := GetSelectedText(ListBox, Index);
|
|
if (Value <> '') and (Index <> -1) then
|
|
if MessageDlgEx(Format(MsgConf, [Value]), mtConfirmation, [mbYes, mbNo], Self) = mrYes then
|
|
ListBox.Items.Delete(Index);
|
|
end;
|
|
|
|
procedure TOptionsFrm.cbProxyChange(Sender: TObject);
|
|
begin
|
|
gbProxySettings.Enabled:= cbProxy.Checked;
|
|
end;
|
|
|
|
procedure TOptionsFrm.cbSelectProfileChange(Sender: TObject);
|
|
begin
|
|
pnProfilesMain.Visible := cbSelectProfile.ItemIndex = 1;
|
|
end;
|
|
|
|
procedure TOptionsFrm.edLocalRepositoryPackagesButtonClick(Sender:TObject);
|
|
var Sendert:TDirectoryEdit;
|
|
d:string;
|
|
begin
|
|
Sendert:=sender as TDirectoryEdit;
|
|
d:=Sendert.Directory;
|
|
IDEMacros.SubstituteMacros(d);
|
|
Sendert.Directory:=d;
|
|
end;
|
|
|
|
procedure TOptionsFrm.edRemoteRepositoryKeyPress(Sender: TObject; var Key: char);
|
|
begin
|
|
if Key = #13 then
|
|
OKButtonClick(bpOptions.OKButton);
|
|
end;
|
|
|
|
procedure TOptionsFrm.FormCreate(Sender: TObject);
|
|
begin
|
|
FHintFormOptionColors := TStringList.Create;
|
|
end;
|
|
|
|
procedure TOptionsFrm.FormDestroy(Sender: TObject);
|
|
begin
|
|
FHintFormOptionColors.Free;
|
|
end;
|
|
|
|
procedure TOptionsFrm.FormKeyPress(Sender: TObject; var Key: char);
|
|
begin
|
|
if Key = #27 then
|
|
Close;
|
|
end;
|
|
|
|
procedure TOptionsFrm.HelpButtonClick(Sender: TObject);
|
|
begin
|
|
if MessageDlgEx(rsOptions_RestoreDefaults_Conf, mtInformation, [mbYes, mbNo], Self) = mrYes then
|
|
begin
|
|
Options.LoadDefault;
|
|
Options.CreateMissingPaths;
|
|
SetupControls;
|
|
end;
|
|
end;
|
|
|
|
procedure TOptionsFrm.OKButtonClick(Sender: TObject);
|
|
var
|
|
I: Integer;
|
|
begin
|
|
ModalResult := mrNone;
|
|
if Trim(cbRemoteRepository.Text) = '' then
|
|
begin
|
|
MessageDlgEx(rsOptions_RemoteRepository_Information, mtInformation, [mbOk], Self);
|
|
cbRemoteRepository.SetFocus;
|
|
Exit;
|
|
end;
|
|
|
|
if cbProxy.Checked then
|
|
begin
|
|
if Trim(edProxyServer.Text) = '' then
|
|
begin
|
|
MessageDlgEx(rsOptions_ProxyServer_Info, mtInformation, [mbOk], Self);
|
|
edProxyServer.SetFocus;
|
|
Exit;
|
|
end;
|
|
if seProxyPort.Value = 0 then
|
|
begin
|
|
MessageDlgEx(rsOptions_ProxyPort_Info, mtInformation, [mbOk], Self);
|
|
seProxyPort.SetFocus;
|
|
Exit;
|
|
end;
|
|
end;
|
|
|
|
if Trim(edLocalRepositoryPackages.Text) = '' then
|
|
begin
|
|
MessageDlgEx(rsOptions_InvalidDirectory_Info, mtInformation, [mbOk], Self);
|
|
edLocalRepositoryPackages.SetFocus;
|
|
Exit;
|
|
end;
|
|
if Trim(edLocalRepositoryArchive.Text) = '' then
|
|
begin
|
|
MessageDlgEx(rsOptions_InvalidDirectory_Info, mtInformation, [mbOk], Self);
|
|
edLocalRepositoryArchive.SetFocus;
|
|
Exit;
|
|
end;
|
|
if Trim(edLocalRepositoryUpdate.Text) = '' then
|
|
begin
|
|
MessageDlgEx(rsOptions_InvalidDirectory_Info, mtInformation, [mbOk], Self);
|
|
edLocalRepositoryUpdate.SetFocus;
|
|
Exit;
|
|
end;
|
|
if Options.RemoteRepositoryTmp.Count > 0 then
|
|
Options.RemoteRepository.Text := Options.RemoteRepositoryTmp.Text;
|
|
Options.ActiveRepositoryIndex := cbRemoteRepository.ItemIndex;
|
|
Options.LoadJsonLocally := cbLoadJsonLocally.Checked;
|
|
Options.ForceDownloadAndExtract := cbForceDownloadExtract.Checked;
|
|
Options.ConTimeOut := spConTimeOut.Value;
|
|
Options.DeleteZipAfterInstall := cbDeleteZipAfterInstall.Checked;
|
|
Options.IncompatiblePackages := cbIncompatiblePackages.Checked;
|
|
Options.AlreadyInstalledPackages := cbAlreadyInstalledPackages.Checked;
|
|
Options.CheckForUpdates := cbCheckForUpdates.ItemIndex;
|
|
Options.DaysToShowNewPackages := spDaysToShowNewPackages.Value;
|
|
Options.ShowRegularIcons := cbRegularIcons.Checked;
|
|
Options.HintFormOption := rbHintFormOptions.ItemIndex;
|
|
Options.UseDefaultTheme := cbUseDefaultTheme.Checked;
|
|
|
|
Options.ProxyEnabled := cbProxy.Checked;
|
|
Options.ProxyServer := edProxyServer.Text;
|
|
Options.ProxyPort := seProxyPort.Value;
|
|
Options.ProxyUser := edProxyUser.Text;
|
|
Options.ProxyPassword := edProxyPassword.Text;
|
|
|
|
Options.OpenSSLDownloadType:= rbOpenSSL.ItemIndex;
|
|
|
|
Options.LocalRepositoryPackages := edLocalRepositoryPackages.Text;
|
|
Options.LocalRepositoryArchive := edLocalRepositoryArchive.Text;
|
|
Options.LocalRepositoryUpdate := edLocalRepositoryUpdate.Text;
|
|
if not DirectoryExists(Options.LocalRepositoryPackagesExpanded) then
|
|
ForceDirectories(Options.LocalRepositoryPackagesExpanded);
|
|
if not DirectoryExists(Options.LocalRepositoryArchiveExpanded) then
|
|
ForceDirectories(Options.LocalRepositoryArchiveExpanded);
|
|
if not DirectoryExists(Options.LocalRepositoryUpdateExpanded) then
|
|
ForceDirectories(Options.LocalRepositoryUpdateExpanded);
|
|
|
|
Options.UserProfile := cbSelectProfile.ItemIndex;
|
|
for I := 0 to lbExcludeFiles.Items.Count - 1 do
|
|
begin
|
|
if I = 0 then
|
|
Options.ExcludedFiles := lbExcludeFiles.Items[I]
|
|
else
|
|
Options.ExcludedFiles := Options.ExcludedFiles + ',' + lbExcludeFiles.Items[I];
|
|
end;
|
|
for I := 0 to lbExcludeFolders.Items.Count - 1 do
|
|
begin
|
|
if I = 0 then
|
|
Options.ExcludedFolders := lbExcludeFolders.Items[I]
|
|
else
|
|
Options.ExcludedFolders := Options.ExcludedFolders + ',' + lbExcludeFolders.Items[I];
|
|
end;
|
|
if FHintFormOptionColors.Count > 0 then
|
|
begin
|
|
Options.HintFormOptionColors.Clear;
|
|
Options.HintFormOptionColors.Text := FHintFormOptionColors.Text;
|
|
end;
|
|
|
|
Options.Save;
|
|
ModalResult := mrOk;
|
|
end;
|
|
|
|
procedure TOptionsFrm.SetupControls(const AActivePageIndex: Integer = 0);
|
|
var
|
|
I: Integer;
|
|
begin
|
|
Self.DoubleBuffered := True;
|
|
Caption := rsOptions_FrmCaption;
|
|
pgOptions.ActivePageIndex := AActivePageIndex;
|
|
tsGeneral.Caption := rsOptions_tsGeneral_Caption;
|
|
lbRemoteRepository.Caption := rsOptions_lbRemoteRepository_Caption;
|
|
Options.RemoteRepositoryTmp.Clear;
|
|
cbRemoteRepository.Clear;
|
|
for I := 0 to Options.RemoteRepository.Count - 1 do
|
|
cbRemoteRepository.Items.Add(Options.RemoteRepository.Strings[I]);
|
|
cbRemoteRepository.ItemIndex := Options.ActiveRepositoryIndex;
|
|
cbLoadJsonLocally.Checked := Options.LoadJsonLocally;
|
|
cbForceDownloadExtract.Checked := Options.ForceDownloadAndExtract;
|
|
cbDeleteZipAfterInstall.Checked := Options.DeleteZipAfterInstall;
|
|
cbIncompatiblePackages.Checked := Options.IncompatiblePackages;
|
|
cbAlreadyInstalledPackages.Checked := Options.AlreadyInstalledPackages;
|
|
cbLoadJsonLocally.Caption := rsOptions_cbLoadJsonLocally_Caption;
|
|
cbLoadJsonLocally.Hint := rsOptions_cbLoadJsonLocally_Hint;
|
|
cbForceDownloadExtract.Caption := rsOptions_cbForceDownloadExtract_Caption;
|
|
cbForceDownloadExtract.Hint := rsOptions_cbForceDownloadExtract_Hint;
|
|
lbConTimeOut.Caption := rsOptions_lbConTimeOut_Caption;
|
|
lbConTimeOut.Hint := rsOptions_lbConTimeOut_Hint;
|
|
spConTimeOut.Value := Options.ConTimeOut;
|
|
cbDeleteZipAfterInstall.Caption := rsOptions_cbDelete_Caption;
|
|
cbDeleteZipAfterInstall.Hint := rsOptions_cbDelete_Hint;
|
|
cbIncompatiblePackages.Caption := rsOption_cbIncompatiblePackage_Caption;
|
|
cbIncompatiblePackages.Hint := rsOption_cbIncompatiblePackage_Hint;
|
|
cbAlreadyInstalledPackages.Caption := rsOption_cbcbAlreadyInstalledPackages_Caption;
|
|
cbAlreadyInstalledPackages.Hint := rsOption_cbcbAlreadyInstalledPackages_Hint;
|
|
lbUpdates.Caption := rsOptions_lbCheckForUpdates_Caption;
|
|
cbCheckForUpdates.Clear;
|
|
cbCheckForUpdates.Items.Add(rsOptions_cbCheckForUpdates_Item0);
|
|
cbCheckForUpdates.Items.Add(rsOptions_cbCheckForUpdates_Item1);
|
|
cbCheckForUpdates.Items.Add(rsOptions_cbCheckForUpdates_Item2);
|
|
cbCheckForUpdates.Items.Add(rsOptions_cbCheckForUpdates_Item3);
|
|
cbCheckForUpdates.Items.Add(rsOptions_cbCheckForUpdates_Item4);
|
|
cbCheckForUpdates.Items.Add(rsOptions_cbCheckForUpdates_Item5);
|
|
cbCheckForUpdates.ItemIndex := Options.CheckForUpdates;
|
|
if CompareValue(Options.LastUpdate, 0.0, 0.1) <= 0 then
|
|
lbLastUpdate.Caption := rsOptions_lbLastUpdate_Caption + rsOptions_LastUpdate_Never
|
|
else
|
|
lbLastUpdate.Caption := rsOptions_lbLastUpdate_Caption + FormatDateTime('YYYY.MM.DD hh:mm:ss', Options.LastUpdate);
|
|
lbDaysToShowNewPackages.Caption := rsOptions_lbDaysToShowNewPackages_Caption;
|
|
spDaysToShowNewPackages.Value := Options.DaysToShowNewPackages;
|
|
cbRegularIcons.Checked := Options.ShowRegularIcons;
|
|
cbRegularIcons.Caption := rsOptions_cbRegular_Caption;
|
|
rbHintFormOptions.Caption := rsOptions_rbHintFormOptions_Caption;
|
|
rbHintFormOptions.Items.Clear;
|
|
rbHintFormOptions.Items.Add(rsOptions_rbHintFormOptions_Item0);
|
|
rbHintFormOptions.Items.Add(rsOptions_rbHintFormOptions_Item1);
|
|
rbHintFormOptions.Items.Add(rsOptions_rbHintFormOptions_Item2);
|
|
rbHintFormOptions.ItemIndex := Options.HintFormOption;
|
|
cbUseDefaultTheme.Checked := Options.UseDefaultTheme;
|
|
cbUseDefaultTheme.Caption := rsOptions_cbUseDefaultTheme_Caption;
|
|
|
|
tsProxy.Caption := rsOptions_tsProxy_Caption;
|
|
cbProxy.Caption := rsOptions_cbProxy_Caption;
|
|
gbProxySettings.Caption := rsOptions_gbProxySettings_Caption;
|
|
lbServer.Caption := rsOptions_lbServer_Caption;
|
|
lbPort.Caption := rsOptions_lbPort_Caption;
|
|
lbUserName.Caption := rsOptions_lbUsername_Caption;
|
|
lbPassword.Caption := rsOptions_lbPassword_Caption;
|
|
cbProxy.Checked := Options.ProxyEnabled;
|
|
gbProxySettings.Enabled := Options.ProxyEnabled;
|
|
edProxyServer.Text := Options.ProxyServer;
|
|
seProxyPort.Value := Options.ProxyPort;
|
|
//seProxyPort.Top := edProxyServer.Top + (edProxyServer.Height - seProxyPort.Height) div 2;
|
|
edProxyUser.Text := Options.ProxyUser;
|
|
edProxyPassword.Text := Options.ProxyPassword;
|
|
|
|
rbOpenSSL.Caption := rsOpenSSLFrm_lbMessage1_Caption;
|
|
rbOpenSSL.Items.Clear;
|
|
rbOpenSSL.Items.Add(rsOptions_rbOpenSSL_Item0);
|
|
rbOpenSSL.Items.Add(rsOptions_rbOpenSSL_Item1);
|
|
rbOpenSSL.Items.Add(rsOptions_rbOpenSSL_Item2);
|
|
rbOpenSSL.ItemIndex := Options.OpenSSLDownloadType;
|
|
{$IFDEF MSWINDOWS}
|
|
tsOpenSSL.TabVisible := True;
|
|
{$ELSE}
|
|
tsOpenSSL.TabVisible := False;
|
|
{$ENDIF}
|
|
|
|
tsFolders.Caption := rsOptions_tsFolders_Caption;
|
|
lbLocalRepositoryPackages.Caption := rsOptions_lbLocalRepositoryPackages_Caption;
|
|
edLocalRepositoryPackages.Hint := rsOptions_edLocalRepositoryPackages_Hint;
|
|
lbLocalRepositoryArchive.Caption := rsOptions_lbLocalRepositoryArchive_Caption;
|
|
edLocalRepositoryArchive.Hint := rsOptions_edLocalRepositoryArchive_Hint;
|
|
lbLocalRepositoryUpdate.Caption := rsOptions_lbLocalRepositoryUpdate_Caption;
|
|
edLocalRepositoryUpdate.Hint := rsOptions_edLocalRepositoryUpdate_Hint;
|
|
edLocalRepositoryPackages.Text := Options.LocalRepositoryPackages;
|
|
edLocalRepositoryArchive.Text := Options.LocalRepositoryArchive;
|
|
edLocalRepositoryUpdate.Text := Options.LocalRepositoryUpdate;
|
|
|
|
tsProfiles.Caption := rsOptions_tsProfiles_Caption;
|
|
lbSelectProfile.Caption := rsOptions_lbSelectProfile_Caption;
|
|
pnProfilesMain.DoubleBuffered := True;
|
|
pnProfilesLeft.DoubleBuffered := True;
|
|
pnProfilesTop.DoubleBuffered := True;
|
|
cbSelectProfile.Clear;
|
|
cbSelectProfile.Items.Add(rsOptions_cbSelectProfile_Item0);
|
|
cbSelectProfile.Items.Add(rsOptions_cbSelectProfile_Item1);
|
|
cbSelectProfile.ItemIndex := Options.UserProfile;
|
|
cbSelectProfile.Hint := rsOptions_cbSelectProfile_Hint;
|
|
lbFilterFiles.Caption := rsOptions_lbFilterFiles_Caption;
|
|
lbFilterDirs.Caption := rsOptions_lbFilterDirs_Caption;
|
|
bFilesAdd.Caption := rsOptions_bAdd_Caption;
|
|
bFilesEdit.Caption := rsOptions_bEdit_Caption;
|
|
bFilesDelete.Caption := rsOptions_bDelete_Caption;
|
|
bFoldersAdd.Caption := rsOptions_bAdd_Caption;
|
|
bFoldersEdit.Caption := rsOptions_bEdit_Caption;
|
|
bFoldersDelete.Caption := rsOptions_bDelete_Caption;
|
|
lbExcludeFiles.Hint := rsOptions_lbExcludeFiles_Hint;
|
|
lbExcludeFiles.Items.Delimiter := ',';
|
|
lbExcludeFiles.Items.StrictDelimiter := True;
|
|
lbExcludeFiles.Items.DelimitedText := Options.ExcludedFiles;
|
|
lbExcludeFolders.Hint := rsOptions_lbExcludeFolders_Hint;
|
|
lbExcludeFolders.Items.Delimiter := ',';
|
|
lbExcludeFolders.Items.StrictDelimiter := True;
|
|
lbExcludeFolders.Items.DelimitedText := Options.ExcludedFolders;
|
|
pnProfilesMain.Visible := Options.UserProfile = 1;
|
|
bColors.Caption := rsOptions_bColors_Caption;
|
|
bpOptions.HelpButton.Caption := rsOptions_bpOptions_bHelp;
|
|
IDEImages.AssignImage(bpOptions.HelpButton, 'restore_defaults');
|
|
bpOptions.HelpButton.Kind := bkCustom;
|
|
bpOptions.HelpButton.Glyph.Clear;
|
|
SetupColors;
|
|
end;
|
|
|
|
procedure TOptionsFrm.pnProfilesMainResize(Sender: TObject);
|
|
begin
|
|
pnProfilesLeft.Width := pnProfilesMain.Width div 2;
|
|
end;
|
|
|
|
procedure TOptionsFrm.pnProfilesTopResize(Sender: TObject);
|
|
begin
|
|
//cbSelectProfile.Left := lbSelectProfile.Left + lbSelectProfile.Width + 10;
|
|
end;
|
|
|
|
end.
|
|
|