Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/FavoriteAdd.pas

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

revision 1.7 by h677, Sun Apr 4 14:11:37 2004 UTC revision 1.8 by yoffy, Tue Aug 3 17:11:19 2004 UTC
# Line 45  uses Giko; Line 45  uses Giko;
45    
46  procedure TFavoriteAddDialog.FormCreate(Sender: TObject);  procedure TFavoriteAddDialog.FormCreate(Sender: TObject);
47  var  var
48          i: Integer;          Node            : TTreeNode;
49            TmpNode : TTreeNode;
50  begin  begin
51          FolderTreeView.Items.BeginUpdate;          FolderTreeView.Items.BeginUpdate;
52          FolderTreeView.Items := FavoriteDM.TreeView.Items;          FolderTreeView.Items := FavoriteDM.TreeView.Items;
53          for i := FolderTreeView.Items.Count - 1 downto 0 do begin          Node := FolderTreeView.Items.GetFirstNode;
54                  if not (TObject(FolderTreeView.Items[i].Data) is TFavoriteFolder) then          while Node <> nil do begin
55                          FolderTreeView.Items[i].Delete;                  if not (TObject(Node.Data) is TFavoriteFolder) then begin
56                            TmpNode := Node;
57                            Node := Node.GetNext;
58                            TmpNode.Delete;
59                    end else begin
60                            Node := Node.GetNext;
61                    end;
62          end;          end;
63    
64          if FolderTreeView.Items.GetFirstNode <> nil then begin          if FolderTreeView.Items.GetFirstNode <> nil then begin
65                  FolderTreeView.Items.GetFirstNode.Expanded := True;                  FolderTreeView.Items.GetFirstNode.Expanded := True;
66                  FolderTreeView.Items.GetFirstNode.Selected := True;                  FolderTreeView.Items.GetFirstNode.Selected := True;
67          end;          end;
68      FolderTreeView.Items.EndUpdate;          FolderTreeView.Items.EndUpdate;
69    
70  {       Node := FolderTreeView.Items.AddChild(nil, GikoForm.Favorite.Root.Title);  {       Node := FolderTreeView.Items.AddChild(nil, GikoForm.Favorite.Root.Title);
71          Node.ImageIndex := 0;          Node.ImageIndex := 0;
# Line 91  end;} Line 98  end;}
98    
99  procedure TFavoriteAddDialog.OKButtonClick(Sender: TObject);  procedure TFavoriteAddDialog.OKButtonClick(Sender: TObject);
100  var  var
101          i: Integer;          Node                                            : TTreeNode;
102          Node: TTreeNode;          NewNode                                 : TTreeNode;
103          FavoBoardItem: TFavoriteBoardItem;          FavoBoardItem           : TFavoriteBoardItem;
104          FavoThreadItem: TFavoriteThreadItem;          FavoThreadItem  : TFavoriteThreadItem;
105          FavNode: TTreeNode;          FavNode                                 : TTreeNode;
106  begin  begin
107          if FolderTreeView.Selected = nil then          if FolderTreeView.Selected = nil then
108                  Exit;                  Exit;
     Node := nil;  
         for i := 0 to FolderTreeView.Items.Count - 1 do begin  
109    
110                  FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Data);          NewNode := nil;
111            Node            := FolderTreeView.Items.GetFirstNode;
112            while Node <> nil do begin
113                    FavNode := GetGikoFavoriteNode(Node.Data);
114                  if FavNode = nil then begin                  if FavNode = nil then begin
115                          FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Parent.Data);                          FavNode := GetGikoFavoriteNode(Node.Parent.Data);
116                          if FavNode <> nil then                          if FavNode <> nil then begin
117                                  Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, FolderTreeView.Items[i].Text, FolderTreeView.Items[i].Data);                                  NewNode := FavoriteDM.TreeView.Items.AddChildObject(FavNode, Node.Text, Node.Data);
118                                  Node.ImageIndex := 14;                                  NewNode.ImageIndex := 14;
119                                  Node.SelectedIndex := 14;                                  NewNode.SelectedIndex := 14;
120                            end;
121                  end;                  end;
122                    Node := Node.GetNext;
123          end;          end;
124    
   
125          FavNode := GetGikoFavoriteNode(FolderTreeView.Selected.Data);          FavNode := GetGikoFavoriteNode(FolderTreeView.Selected.Data);
126          if FavNode <> nil then begin          if FavNode <> nil then begin
127                  if FBoard <> nil then begin                  if FBoard <> nil then begin
128                          FavoBoardItem := TFavoriteBoardItem.Create( FBoard.URL, FBoard.Title, FBoard );                          FavoBoardItem := TFavoriteBoardItem.Create( FBoard.URL, FBoard.Title, FBoard );
129                          Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoBoardItem);                          NewNode := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoBoardItem);
130                          Node.ImageIndex := 15;                          NewNode.ImageIndex := 15;
131                          Node.SelectedIndex := 15;                          NewNode.SelectedIndex := 15;
132                  end else if FThreadItem <> nil then begin                  end else if FThreadItem <> nil then begin
133                          FavoThreadItem := TFavoriteThreadItem.Create( FThreadItem.URL, FThreadItem.Title, FThreadItem );                          FavoThreadItem := TFavoriteThreadItem.Create( FThreadItem.URL, FThreadItem.Title, FThreadItem );
134                          Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoThreadItem);                          NewNode := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoThreadItem);
135                          Node.ImageIndex := 16;                          NewNode.ImageIndex := 16;
136                          Node.SelectedIndex := 16;                          NewNode.SelectedIndex := 16;
137                  end;                  end;
138          end;          end;
139    
# Line 187  end; Line 196  end;
196    
197  function TFavoriteAddDialog.GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode;  function TFavoriteAddDialog.GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode;
198  var  var
199          i: Integer;          Node    : TTreeNode;
200  begin  begin
201          Result := nil;          Result  := nil;
202          for i := 0 to FavoriteDM.TreeView.Items.Count - 1 do begin          Node            := FavoriteDM.TreeView.Items.GetFirstNode;
203                  if FavoriteDM.TreeView.Items[i].Data = FavFolder then begin          while Node <> nil do begin
204                          Result := FavoriteDM.TreeView.Items[i];                  if Node.Data = FavFolder then begin
205                            Result := Node;
206                          Exit;                          Exit;
207                  end;                  end;
208                    Node := Node.GetNext;
209          end;          end;
210  end;  end;
211    

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

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