Rev 4 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4 | Rev 5 | ||
---|---|---|---|
1 | unit ExtractorError; |
1 | unit ExtractorError; |
2 | 2 | ||
3 | interface |
3 | interface |
4 | 4 | ||
- | 5 | // TODO: Richtige Ordnerliste mit Icons anzeigen? |
|
- | 6 | ||
5 | uses |
7 | uses |
6 | Forms, StdCtrls, ExtCtrls, Controls, Graphics, Classes, Dialogs; |
8 | Forms, StdCtrls, ExtCtrls, Controls, Graphics, Classes, Dialogs, |
- | 9 | ZipMstr19, SysUtils; |
|
7 | 10 | ||
8 | type |
11 | type |
9 | TErrorForm = class(TForm) |
12 | TErrorForm = class(TForm) |
10 | ErrorList: TListBox; |
13 | ErrorList: TListBox; |
11 | ErrorImg: TImage; |
14 | ErrorImg: TImage; |
12 | ErrorLabel: TLabel; |
15 | ErrorLabel: TLabel; |
13 | OKBtn: TButton; |
16 | OKBtn: TButton; |
14 | SaveBtn: TButton; |
17 | SaveBtn: TButton; |
15 | SaveDialog: TSaveDialog; |
18 | SaveDialog: TSaveDialog; |
16 | procedure FormResize(Sender: TObject); |
19 | procedure FormResize(Sender: TObject); |
17 | procedure SaveBtnClick(Sender: TObject); |
20 | procedure SaveBtnClick(Sender: TObject); |
18 | public |
21 | public |
19 | function ErrorsAvailable: boolean; |
22 | function ErrorsAvailable: boolean; |
20 | procedure NewError(Filename: string); |
23 | procedure NewError(Filename: string; SkipType: TZMSkipTypes); |
21 | end; |
24 | end; |
22 | 25 | ||
23 | var |
26 | var |
24 | ErrorForm: TErrorForm; |
27 | ErrorForm: TErrorForm; |
25 | 28 | ||
26 | implementation |
29 | implementation |
27 | 30 | ||
28 | {$R *.dfm} |
31 | {$R *.dfm} |
29 | 32 | ||
- | 33 | function SkipTypeToStr(SkipType: TZMSkipTypes): string; |
|
- | 34 | begin |
|
- | 35 | case SkipType of |
|
- | 36 | stOnFreshen: result := 'stOnFreshen'; |
|
- | 37 | stNoOverwrite: result := 'stNoOverwrite'; |
|
- | 38 | stFileExists: result := 'stFileExists'; |
|
- | 39 | stBadPassword: result := 'stBadPassword'; |
|
- | 40 | stBadName: result := 'stBadName'; |
|
- | 41 | stCompressionUnknown: result := 'stCompressionUnknown'; |
|
- | 42 | stUnknownZipHost: result := 'stUnknownZipHost'; |
|
- | 43 | stZipFileFormatWrong: result := 'stZipFileFormatWrong'; |
|
- | 44 | stGeneralExtractError: result := 'stGeneralExtractError'; |
|
- | 45 | stUser: result := 'stUser'; |
|
- | 46 | stCannotDo: result := 'stCannotDo'; |
|
- | 47 | stNotFound: result := 'stNotFound'; |
|
- | 48 | stNoShare: result := 'stNoShare'; |
|
- | 49 | stNoAccess: result := 'stNoAccess'; |
|
- | 50 | stNoOpen: result := 'stNoOpen'; |
|
- | 51 | stDupName: result := 'stDupName'; |
|
- | 52 | stReadError: result := 'stReadError'; |
|
- | 53 | stSizeChange: result := 'stSizeChange'; |
|
- | 54 | end; |
|
- | 55 | end; |
|
- | 56 | ||
30 | function TErrorForm.ErrorsAvailable: boolean; |
57 | function TErrorForm.ErrorsAvailable: boolean; |
31 | begin |
58 | begin |
32 | result := ErrorList.Items.Count > 0; |
59 | result := ErrorList.Items.Count > 0; |
33 | end; |
60 | end; |
34 | 61 | ||
35 | procedure TErrorForm.FormResize(Sender: TObject); |
62 | procedure TErrorForm.FormResize(Sender: TObject); |
36 | begin |
63 | begin |
37 | ErrorList.Width := ClientWidth - ErrorList.Left - ErrorImg.Left; |
64 | ErrorList.Width := ClientWidth - ErrorList.Left - ErrorImg.Left; |
38 | ErrorList.Height := ClientHeight - ErrorList.Top - (2 * ErrorImg.Left + OkBtn.Height); |
65 | ErrorList.Height := ClientHeight - ErrorList.Top - (2 * ErrorImg.Left + OkBtn.Height); |
39 | OkBtn.Top := ErrorList.Top + ErrorList.Height + ErrorImg.Left; |
66 | OkBtn.Top := ErrorList.Top + ErrorList.Height + ErrorImg.Left; |
40 | OkBtn.Left := ErrorList.Left + ErrorList.Width - OkBtn.Width; |
67 | OkBtn.Left := ErrorList.Left + ErrorList.Width - OkBtn.Width; |
41 | SaveBtn.Top := OkBtn.Top; |
68 | SaveBtn.Top := OkBtn.Top; |
42 | end; |
69 | end; |
43 | 70 | ||
44 | procedure TErrorForm.NewError(Filename: string); |
71 | procedure TErrorForm.NewError(Filename: string; SkipType: TZMSkipTypes); |
- | 72 | resourcestring |
|
- | 73 | Lng_Err_Entry = '%s (Grund: %s)'; |
|
45 | begin |
74 | begin |
46 | // In future: Also add reason into list? |
75 | // In future: Also add reason into list? |
47 | ErrorList.Items.Add(Filename); |
76 | ErrorList.Items.Add(Format(Lng_Err_Entry, [Filename, SkipTypeToStr(SkipType)])); |
48 | end; |
77 | end; |
49 | 78 | ||
50 | procedure TErrorForm.SaveBtnClick(Sender: TObject); |
79 | procedure TErrorForm.SaveBtnClick(Sender: TObject); |
51 | begin |
80 | begin |
52 | if SaveDialog.Execute then |
81 | if SaveDialog.Execute then |
53 | begin |
82 | begin |
54 | ErrorList.Items.SaveToFile(SaveDialog.FileName); |
83 | ErrorList.Items.SaveToFile(SaveDialog.FileName); |
55 | end; |
84 | end; |
56 | end; |
85 | end; |
57 | 86 | ||
58 | end. |
87 | end. |
59 | 88 |