ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/current/Tools/_TemplateFileList.pas
(Generate patch)

Comparing oup/current/Tools/_TemplateFileList.pas (file contents):
Revision 230 by alloc, Wed Jun 20 11:03:17 2007 UTC vs.
Revision 231 by alloc, Wed Jun 20 22:24:04 2007 UTC

# Line 8 | Line 8 | uses
8    ComCtrls, TypeDefs, VirtualTrees;
9  
10   type
11 +  TNewFileSelectingEvent = procedure(FileInfo: TFileInfo; var allowed: Boolean) of object;
12 +
13    TForm_TemplateFileList = class(TForm_TemplateFile)
14      panel_files: TPanel;
15      splitter_content: TSplitter;
# Line 61 | Line 63 | type
63      procedure filelist_metaPaintText(Sender: TBaseVirtualTree;
64        const TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
65        TextType: TVSTTextType);
66 +    procedure filelist_metaFocusChanging(Sender: TBaseVirtualTree; OldNode,
67 +      NewNode: PVirtualNode; OldColumn, NewColumn: TColumnIndex;
68 +      var Allowed: Boolean);
69 +    procedure filelist_metaFocusChanged(Sender: TBaseVirtualTree;
70 +      Node: PVirtualNode; Column: TColumnIndex);
71    private
72      FSortBy: TSortType;
73      FAllowedExts: String;
74      FAllowMultiSelect: Boolean;
75 +    FOnNewFileSelecting: TNewFileSelectingEvent;
76      procedure SetAllowedExts(exts: String);
77      procedure SetMultiSelect(allow: Boolean);
78    public
# Line 74 | Line 82 | type
82      procedure SetFileFilters(pattern, extension: String; zerobytes: Boolean);
83      property AllowedExts: String read FAllowedExts write SetAllowedExts;
84      property AllowMultiSelect: Boolean read FAllowMultiSelect write SetMultiSelect;
85 +    property OnNewFileSelecting: TNewFileSelectingEvent read FOnNewFileSelecting write FOnNewFileSelecting;
86    end;
87  
88   implementation
# Line 403 | Line 412 | end;
412  
413  
414  
415 + procedure TForm_TemplateFileList.filelist_metaFocusChanged(
416 +  Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex);
417 + var
418 +  data: PNodeData;
419 + begin
420 +  inherited;
421 +  data := Sender.GetNodeData(Node);
422 +  if data.Field is TFile then
423 +  begin
424 +    if Assigned(FOnNewFileSelected) then
425 +    begin
426 +      FOnNewFileSelected(TFile(data.Field).FileInfo);
427 +    end;
428 +  end;
429 + end;
430 +
431 + procedure TForm_TemplateFileList.filelist_metaFocusChanging(
432 +  Sender: TBaseVirtualTree; OldNode, NewNode: PVirtualNode; OldColumn,
433 +  NewColumn: TColumnIndex; var Allowed: Boolean);
434 + var
435 +  data: PNodeData;
436 + begin
437 +  inherited;
438 +  data := Sender.GetNodeData(NewNode);
439 +  if data.Field is TFile then
440 +  begin
441 +    if Assigned(FOnNewFileSelecting) then
442 +    begin
443 +      FOnNewFileSelecting(TFile(data.Field).FileInfo, Allowed);
444 +    end;
445 +  end;
446 + end;
447 +
448   procedure TForm_TemplateFileList.filelist_metaGetText(Sender: TBaseVirtualTree;
449    Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
450    var CellText: WideString);
# Line 417 | Line 459 | begin
459    end;
460    if data.Field is TFile then
461    begin
462 <    if TFile(data.Field).FileName = '' then
463 <      CellText := TFile(data.Field).FileExt + ' (unnamed)'
462 >    if TFile(data.Field).FileInfo.Name = '' then
463 >      CellText := TFile(data.Field).FileInfo.Extension + ' (unnamed)'
464      else
465 <      CellText := TFile(data.Field).FileExt + ': ' + TFile(data.Field).FileName;
465 >      CellText := TFile(data.Field).FileInfo.Extension + ': ' + TFile(data.Field).FileInfo.Name;
466    end;
467   end;
468  
# Line 478 | Line 520 | begin
520    Data     := Sender.GetNodeData(Node);
521    if Data.Field is TFile then
522    begin
523 <    if Length(TFile(Data.Field).FileName) = 0 then
523 >    if Length(TFile(Data.Field).FileInfo.Name) = 0 then
524        TargetCanvas.Font.Color := $C06060;
525 <    if TFile(Data.Field).FileSize = 0 then
525 >    if TFile(Data.Field).FileInfo.Size = 0 then
526        TargetCanvas.Font.Color := $2020A0;
527    end;
528   end;

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)