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