source: tags/1.4.0/Forms/UFormImage.pas

Last change on this file was 131, checked in by chronos, 3 years ago
  • Modified: Contact image unit moved into VCard package.
File size: 2.9 KB
Line 
1unit UFormImage;
2
3interface
4
5uses
6 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
7 ExtDlgs, UContactImage;
8
9type
10
11 { TFormImage }
12
13 TFormImage = class(TForm)
14 ButtonCancel: TButton;
15 ButtonOk: TButton;
16 ButtonLoad: TButton;
17 ButtonSave: TButton;
18 ButtonClear: TButton;
19 EditUrl: TEdit;
20 ImagePhoto: TImage;
21 Label1: TLabel;
22 OpenPictureDialog1: TOpenPictureDialog;
23 SavePictureDialog1: TSavePictureDialog;
24 procedure uttonClearClick(Sender: TObject);
25 procedure ButtonLoadClick(Sender: TObject);
26 procedure ButtonSaveClick(Sender: TObject);
27 procedure EditUrlChange(Sender: TObject);
28 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
29 procedure FormCreate(Sender: TObject);
30 procedure FormDestroy(Sender: TObject);
31 procedure FormShow(Sender: TObject);
32 private
33 procedure ImageChange(Sender: TObject);
34 public
35 Image: TContactImage;
36 procedure UpdateInterface;
37 end;
38
39var
40 FormImage: TFormImage;
41
42
43implementation
44
45{$R *.lfm}
46
47uses
48 UCore;
49
50{ TFormImage }
51
52procedure TFormImage.FormClose(Sender: TObject; var CloseAction: TCloseAction);
53begin
54 Core.PersistentForm1.Save(Self);
55end;
56
57procedure TFormImage.FormCreate(Sender: TObject);
58begin
59 Core.Translator.TranslateComponentRecursive(Self);
60 Core.ThemeManager1.UseTheme(Self);
61
62 Image := TContactImage.Create(nil);
63 Image.OnChange := ImageChange;
64end;
65
66procedure TFormImage.FormDestroy(Sender: TObject);
67begin
68 FreeAndNil(Image);
69end;
70
71procedure TFormImage.ButtonLoadClick(Sender: TObject);
72begin
73 OpenPictureDialog1.InitialDir := ExtractFileDir(Core.LastPhotoFileName);
74 OpenPictureDialog1.FileName := ExtractFileName(Core.LastPhotoFileName);
75 if OpenPictureDialog1.Execute then begin
76 Image.LoadFromFile(OpenPictureDialog1.FileName);
77 Core.LastPhotoFileName := OpenPictureDialog1.FileName;
78 end;
79end;
80
81procedure TFormImage.uttonClearClick(Sender: TObject);
82begin
83 Image.Clear;
84end;
85
86procedure TFormImage.ButtonSaveClick(Sender: TObject);
87begin
88 SavePictureDialog1.InitialDir := ExtractFileDir(Core.LastPhotoFileName);
89 SavePictureDialog1.FileName := ExtractFileName(Core.LastPhotoFileName);
90 if SavePictureDialog1.Execute then begin
91 Image.SaveToFile(SavePictureDialog1.FileName);
92 Core.LastPhotoFileName := SavePictureDialog1.FileName;
93 end;
94end;
95
96procedure TFormImage.EditUrlChange(Sender: TObject);
97begin
98 Image.Url := EditUrl.Text;
99end;
100
101procedure TFormImage.FormShow(Sender: TObject);
102begin
103 Core.PersistentForm1.Load(Self);
104
105 ImageChange(nil);
106end;
107
108procedure TFormImage.ImageChange(Sender: TObject);
109begin
110 if Image.Used and (Image.Url = '') then ImagePhoto.Picture.Bitmap.Assign(Image.Bitmap)
111 else ImagePhoto.Picture.Assign(Core.GetProfileImage.Picture);
112 EditUrl.Text := Image.Url;
113 UpdateInterface;
114end;
115
116procedure TFormImage.UpdateInterface;
117begin
118 ButtonSave.Enabled := Image.Used;
119 ButtonClear.Enabled := Image.Used;
120end;
121
122end.
123
Note: See TracBrowser for help on using the repository browser.