1 unit opkman_colorsfrm;
2 
3 {$mode objfpc}{$H+}
4 
5 interface
6 
7 uses
8   Classes, SysUtils,
9   // LCL
10   Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, ButtonPanel, Buttons,
11   // IdeIntf
12   IDEImagesIntf;
13 
14 type
15 
16   { TColorsFrm }
17 
18   TColorsFrm = class(TForm)
19     bp: TButtonPanel;
20     CD: TColorDialog;
21     lbLicense: TLabel;
22     lbDescription: TLabel;
23     lbName: TLabel;
24     shName: TShape;
25     shDescription: TShape;
26     shLicense: TShape;
27     procedure FormCreate(Sender: TObject);
28     procedure HelpButtonClick(Sender: TObject);
29     procedure shNameMouseUp(Sender: TObject; {%H-}Button: TMouseButton;
30       {%H-}Shift: TShiftState; {%H-}X, {%H-}Y: Integer);
31   private
32   public
33     procedure LoadColors(AColList: TStringList);
34   end;
35 
36 var
37   ColorsFrm: TColorsFrm;
38 
39 implementation
40 uses opkman_const, opkman_options;
41 
42 {$R *.lfm}
43 
44 { TColorsFrm }
45 
46 procedure TColorsFrm.FormCreate(Sender: TObject);
47 begin
48   Caption := rsColors_Caption;
49   lbName.Caption := rsRepositoryDetailsFrm_lbName_Caption;
50   lbDescription.Caption := rsMainFrm_VSTText_Description;
51   lbLicense.Caption := rsMainFrm_VSTText_License;
52   CD.Title := rsColors_CD_Title;
53   bp.HelpButton.Caption := rsOptions_bpOptions_bHelp;
54   IDEImages.AssignImage(bp.HelpButton, 'restore_defaults');
55   bp.HelpButton.Kind := bkCustom;
56   bp.HelpButton.Glyph.Clear;
57 end;
58 
59 procedure TColorsFrm.HelpButtonClick(Sender: TObject);
60 begin
61   shName.Brush.Color := $00D9FFFF;
62   shDescription.Brush.Color := $00E6FFE6;
63   shLicense.Brush.Color := $00FEEBD3;
64 end;
65 
66 procedure TColorsFrm.shNameMouseUp(Sender: TObject; Button: TMouseButton;
67   Shift: TShiftState; X, Y: Integer);
68 begin
69   if CD.Execute then
70     (Sender as TShape).Brush.Color := CD.Color;
71 end;
72 
73 procedure TColorsFrm.LoadColors(AColList: TStringList);
74 begin
75   if AColList.Count = HintColCnt then
76   begin
77     shName.Brush.Color := StringToColor(AColList.Strings[0]);
78     shDescription.Brush.Color := StringToColor(AColList.Strings[1]);
79     shLicense.Brush.Color := StringToColor(AColList.Strings[2]);
80   end
81   else
82   begin
83     shName.Brush.Color := clDefault;
84     shDescription.Brush.Color := clDefault;
85     shLicense.Brush.Color := clDefault;
86   end;
87 end;
88 
89 end.
90 
91