Develop and Download Open Source Software

Browse CVS Repository

Contents of /gikonavigoeson/gikonavi/FavoriteAdd.pas

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


Revision 1.3.2.1 - (show annotations) (download) (as text)
Mon Apr 19 22:46:48 2004 UTC (20 years ago) by yoffy
Branch: stable
Changes since 1.3: +5 -8 lines
File MIME type: text/x-pascal
・ハ゛タ 47 相当にマージ。

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 begin
50 FolderTreeView.Items.BeginUpdate;
51 FolderTreeView.Items := FavoriteDM.TreeView.Items;
52 for i := FolderTreeView.Items.Count - 1 downto 0 do begin
53 if not (TObject(FolderTreeView.Items[i].Data) is TFavoriteFolder) then
54 FolderTreeView.Items[i].Delete;
55 end;
56
57 if FolderTreeView.Items.GetFirstNode <> nil then begin
58 FolderTreeView.Items.GetFirstNode.Expanded := True;
59 FolderTreeView.Items.GetFirstNode.Selected := True;
60 end;
61 FolderTreeView.Items.EndUpdate;
62
63 { Node := FolderTreeView.Items.AddChild(nil, GikoForm.Favorite.Root.Title);
64 Node.ImageIndex := 0;
65 Node.Data := GikoForm.Favorite.Root;
66 PrepareFavoriteTree(GikoForm.Favorite.Root, Node);
67 Node.Expanded := True;
68 Node.Selected := True;}
69 end;
70
71
72 {procedure TFavoriteAddDialog.PrepareFavoriteTree(Favo: TFavoriteItem; Node: TTreeNode);
73 var
74 i: Integer;
75 ChildFavo: TFavoriteItem;
76 ChildNode: TTreeNode;
77 begin
78 for i := 0 to TFavoriteFolder(Favo).Count - 1 do begin
79
80 ChildFavo := TFavoriteFolder(Favo).Items[i];
81 if ChildFavo is TFavoriteFolder then begin
82 ChildNode := FolderTreeView.Items.AddChild(Node, ChildFavo.Title);
83 ChildNode.ImageIndex := 0;
84 ChildNode.Data := ChildFavo;
85 PrepareFavoriteTree(ChildFavo, ChildNode);
86 end else if ChildFavo is TFavoriteBoardItem then begin
87 end else if ChildFavo is TFavoriteThreadItem then begin
88 end;
89 end;
90 end;}
91
92 procedure TFavoriteAddDialog.OKButtonClick(Sender: TObject);
93 var
94 i: Integer;
95 Node: TTreeNode;
96 FavoBoardItem: TFavoriteBoardItem;
97 FavoThreadItem: TFavoriteThreadItem;
98 FavNode: TTreeNode;
99 begin
100 if FolderTreeView.Selected = nil then
101 Exit;
102 Node := nil;
103 for i := 0 to FolderTreeView.Items.Count - 1 do begin
104
105 FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Data);
106 if FavNode = nil then begin
107 FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Parent.Data);
108 if FavNode <> nil then
109 Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, FolderTreeView.Items[i].Text, FolderTreeView.Items[i].Data);
110 Node.ImageIndex := 14;
111 Node.SelectedIndex := 14;
112 end;
113 end;
114
115
116 FavNode := GetGikoFavoriteNode(FolderTreeView.Selected.Data);
117 if FavNode <> nil then begin
118 if FBoard <> nil then begin
119 FavoBoardItem := TFavoriteBoardItem.Create( FBoard.URL, FBoard.Title, FBoard );
120 Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoBoardItem);
121 Node.ImageIndex := 15;
122 Node.SelectedIndex := 15;
123 end else if FThreadItem <> nil then begin
124 FavoThreadItem := TFavoriteThreadItem.Create( FThreadItem.URL, FThreadItem.Title, FThreadItem );
125 Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoThreadItem);
126 Node.ImageIndex := 16;
127 Node.SelectedIndex := 16;
128 end;
129 end;
130
131 FavoriteDM.WriteFavorite;
132 Close;
133 end;
134
135 procedure TFavoriteAddDialog.CancelButtonClick(Sender: TObject);
136 begin
137 Close;
138 end;
139
140 procedure TFavoriteAddDialog.NewFolderButtonClick(Sender: TObject);
141 var
142 Dlg: TNewFavoriteFolderDialog;
143 Node: TTreeNode;
144 FavFolder: TFavoriteFolder;
145 begin
146 if FolderTreeView.Selected = nil then
147 Exit;
148
149 Dlg := TNewFavoriteFolderDialog.Create(Self);
150 try
151 Dlg.ShowModal;
152 if Dlg.ModalResult = mrOK then begin
153 if Length(Dlg.FolderEdit.Text) = 0 then
154 Exit;
155 FavFolder := TFavoriteFolder.Create;
156 Node := FolderTreeView.Items.AddChildObject(FolderTreeView.Selected, Dlg.FolderEdit.Text, FavFolder);
157 Node.ImageIndex := 14;
158 Node.SelectedIndex := 14;
159 FolderTreeView.Selected := Node;
160 end;
161 finally
162 Dlg.Free;
163 end;
164 end;
165
166 procedure TFavoriteAddDialog.SetBoard(Board: TBoard);
167 begin
168 FBoard := Board;
169 if Board = nil then Exit;
170
171 NameEdit.Text := Board.Title;
172 CaptionEdit.Text := Board.Title;
173 TitleLabel.Caption := '?????????即?C???端????????????????';
174 NameLabel.Caption := '???添:';
175 end;
176
177 procedure TFavoriteAddDialog.SetThreadItem(ThreadItem: TThreadItem);
178 begin
179 FThreadItem := ThreadItem;
180 if ThreadItem = nil then Exit;
181
182 NameEdit.Text := ThreadItem.Title;
183 CaptionEdit.Text := ThreadItem.Title;
184 TitleLabel.Caption := '?????X???b?h???即?C???端????????????????';
185 NameLabel.Caption := '?X???b?h?添:';
186 end;
187
188 function TFavoriteAddDialog.GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode;
189 var
190 i: Integer;
191 begin
192 Result := nil;
193 for i := 0 to FavoriteDM.TreeView.Items.Count - 1 do begin
194 if FavoriteDM.TreeView.Items[i].Data = FavFolder then begin
195 Result := FavoriteDM.TreeView.Items[i];
196 Exit;
197 end;
198 end;
199 end;
200
201 end.

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