Develop and Download Open Source Software

Browse CVS Repository

Annotation of /gikonavigoeson/gikonavi/FavoriteAdd.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.6 - (hide annotations) (download) (as text)
Tue Mar 30 12:45:25 2004 UTC (20 years ago) by h677
Branch: MAIN
Changes since 1.5: +8 -1 lines
File MIME type: text/x-pascal
Samba24エリマ「、ホケケソキ

1 hi_ 1.1 unit FavoriteAdd;
2    
3     interface
4    
5     uses
6     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7     Dialogs, ComCtrls, StdCtrls, Favorite, ImgList, BoardGroup, NewFavoriteFolder;
8    
9     type
10     TFavoriteAddDialog = class(TForm)
11     TitleLabel: TLabel;
12     NameLabel: TLabel;
13     Label3: TLabel;
14     NameEdit: TEdit;
15     CaptionEdit: TEdit;
16     OKButton: TButton;
17     CancelButton: TButton;
18     NewFolderButton: TButton;
19     FolderTreeView: TTreeView;
20     Label4: TLabel;
21     procedure FormCreate(Sender: TObject);
22     procedure OKButtonClick(Sender: TObject);
23     procedure CancelButtonClick(Sender: TObject);
24     procedure NewFolderButtonClick(Sender: TObject);
25     private
26     { Private ツ静ゥツ固セ }
27     FBoard: TBoard;
28     FThreadItem: TThreadItem;
29     // procedure PrepareFavoriteTree(Favo: TFavoriteItem; Node: TTreeNode);
30     function GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode;
31     public
32     { Public ツ静ゥツ固セ }
33     procedure SetBoard(Board: TBoard);
34     procedure SetThreadItem(ThreadItem: TThreadItem);
35     end;
36    
37     var
38     FavoriteAddDialog: TFavoriteAddDialog;
39    
40     implementation
41    
42     uses Giko;
43    
44     {$R *.dfm}
45    
46     procedure TFavoriteAddDialog.FormCreate(Sender: TObject);
47     var
48     i: Integer;
49 h677 1.6 sT: Cardinal;
50     eT: Cardinal;
51 hi_ 1.1 begin
52 h677 1.6 sT := GetTickCount;
53     FolderTreeView.Items.BeginUpdate;
54 hi_ 1.1 FolderTreeView.Items := FavoriteDM.TreeView.Items;
55     for i := FolderTreeView.Items.Count - 1 downto 0 do begin
56     if not (TObject(FolderTreeView.Items[i].Data) is TFavoriteFolder) then
57     FolderTreeView.Items[i].Delete;
58     end;
59    
60     if FolderTreeView.Items.GetFirstNode <> nil then begin
61     FolderTreeView.Items.GetFirstNode.Expanded := True;
62     FolderTreeView.Items.GetFirstNode.Selected := True;
63     end;
64 h677 1.6 FolderTreeView.Items.EndUpdate;
65     eT := GetTickCount;
66     ShowMessage(IntToStr(eT-sT));
67    
68 hi_ 1.1 { Node := FolderTreeView.Items.AddChild(nil, GikoForm.Favorite.Root.Title);
69     Node.ImageIndex := 0;
70     Node.Data := GikoForm.Favorite.Root;
71     PrepareFavoriteTree(GikoForm.Favorite.Root, Node);
72     Node.Expanded := True;
73     Node.Selected := True;}
74     end;
75    
76    
77     {procedure TFavoriteAddDialog.PrepareFavoriteTree(Favo: TFavoriteItem; Node: TTreeNode);
78     var
79     i: Integer;
80     ChildFavo: TFavoriteItem;
81     ChildNode: TTreeNode;
82     begin
83     for i := 0 to TFavoriteFolder(Favo).Count - 1 do begin
84    
85     ChildFavo := TFavoriteFolder(Favo).Items[i];
86     if ChildFavo is TFavoriteFolder then begin
87     ChildNode := FolderTreeView.Items.AddChild(Node, ChildFavo.Title);
88     ChildNode.ImageIndex := 0;
89     ChildNode.Data := ChildFavo;
90     PrepareFavoriteTree(ChildFavo, ChildNode);
91     end else if ChildFavo is TFavoriteBoardItem then begin
92     end else if ChildFavo is TFavoriteThreadItem then begin
93     end;
94     end;
95     end;}
96    
97     procedure TFavoriteAddDialog.OKButtonClick(Sender: TObject);
98     var
99     i: Integer;
100     Node: TTreeNode;
101     FavoBoardItem: TFavoriteBoardItem;
102     FavoThreadItem: TFavoriteThreadItem;
103     FavNode: TTreeNode;
104     begin
105     if FolderTreeView.Selected = nil then
106     Exit;
107 h677 1.3 Node := nil;
108 hi_ 1.1 for i := 0 to FolderTreeView.Items.Count - 1 do begin
109    
110     FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Data);
111     if FavNode = nil then begin
112     FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Parent.Data);
113     if FavNode <> nil then
114     Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, FolderTreeView.Items[i].Text, FolderTreeView.Items[i].Data);
115 yoffy 1.2 Node.ImageIndex := 14;
116     Node.SelectedIndex := 14;
117 hi_ 1.1 end;
118     end;
119    
120    
121     FavNode := GetGikoFavoriteNode(FolderTreeView.Selected.Data);
122     if FavNode <> nil then begin
123     if FBoard <> nil then begin
124 yoffy 1.5 FavoBoardItem := TFavoriteBoardItem.Create( FBoard.URL, FBoard.Title, FBoard );
125 hi_ 1.1 Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoBoardItem);
126 yoffy 1.2 Node.ImageIndex := 15;
127 hi_ 1.1 Node.SelectedIndex := 15;
128     end else if FThreadItem <> nil then begin
129 yoffy 1.5 FavoThreadItem := TFavoriteThreadItem.Create( FThreadItem.URL, FThreadItem.Title, FThreadItem );
130 hi_ 1.1 Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoThreadItem);
131     Node.ImageIndex := 16;
132 yoffy 1.2 Node.SelectedIndex := 16;
133 hi_ 1.1 end;
134     end;
135    
136     FavoriteDM.WriteFavorite;
137     Close;
138     end;
139    
140     procedure TFavoriteAddDialog.CancelButtonClick(Sender: TObject);
141     begin
142     Close;
143     end;
144    
145     procedure TFavoriteAddDialog.NewFolderButtonClick(Sender: TObject);
146     var
147     Dlg: TNewFavoriteFolderDialog;
148     Node: TTreeNode;
149     FavFolder: TFavoriteFolder;
150     begin
151     if FolderTreeView.Selected = nil then
152     Exit;
153    
154     Dlg := TNewFavoriteFolderDialog.Create(Self);
155     try
156     Dlg.ShowModal;
157     if Dlg.ModalResult = mrOK then begin
158     if Length(Dlg.FolderEdit.Text) = 0 then
159     Exit;
160     FavFolder := TFavoriteFolder.Create;
161     Node := FolderTreeView.Items.AddChildObject(FolderTreeView.Selected, Dlg.FolderEdit.Text, FavFolder);
162 yoffy 1.2 Node.ImageIndex := 14;
163     Node.SelectedIndex := 14;
164 hi_ 1.1 FolderTreeView.Selected := Node;
165     end;
166     finally
167     Dlg.Free;
168     end;
169     end;
170    
171     procedure TFavoriteAddDialog.SetBoard(Board: TBoard);
172     begin
173     FBoard := Board;
174     if Board = nil then Exit;
175    
176     NameEdit.Text := Board.Title;
177     CaptionEdit.Text := Board.Title;
178     TitleLabel.Caption := 'ツて?て堋氾つで楪つィツ気ツづ可禿シツて債づ可津?嘉?でつて卍づ慊ね?#39;;
179     NameLabel.Caption := 'ツ氾つ滅コ:';
180     end;
181    
182     procedure TFavoriteAddDialog.SetThreadItem(ThreadItem: TThreadItem);
183     begin
184     FThreadItem := ThreadItem;
185     if ThreadItem = nil then Exit;
186    
187     NameEdit.Text := ThreadItem.Title;
188     CaptionEdit.Text := ThreadItem.Title;
189     TitleLabel.Caption := 'ツて?て堋スツδ個ッツドツで楪つィツ気ツづ可禿シツて債づ可津?嘉?でつて卍づ慊ね?#39;;
190     NameLabel.Caption := 'ツスツδ個ッツドツ滅コ:';
191     end;
192    
193     function TFavoriteAddDialog.GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode;
194     var
195     i: Integer;
196     begin
197     Result := nil;
198     for i := 0 to FavoriteDM.TreeView.Items.Count - 1 do begin
199     if FavoriteDM.TreeView.Items[i].Data = FavFolder then begin
200     Result := FavoriteDM.TreeView.Items[i];
201     Exit;
202     end;
203     end;
204     end;
205    
206     end.

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26