| 446 |
try |
try |
| 447 |
SaveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>'); |
SaveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>'); |
| 448 |
SaveList.Add('<favorite>'); |
SaveList.Add('<favorite>'); |
| 449 |
AddSaveString(TreeView.Items.GetFirstNode, SaveList); |
AddSaveString(TreeView.Items.GetFirstNode.getFirstChild, SaveList); |
| 450 |
SaveList.Add('</favorite>'); |
SaveList.Add('</favorite>'); |
| 451 |
SaveList.SaveToFile(FileName); |
SaveList.SaveToFile(FileName); |
| 452 |
finally |
finally |
| 492 |
|
|
| 493 |
procedure TFavoriteDM.AddSaveString(Node: TTreeNode; SaveList: TStringList); |
procedure TFavoriteDM.AddSaveString(Node: TTreeNode; SaveList: TStringList); |
| 494 |
var |
var |
|
i: Integer; |
|
| 495 |
s: string; |
s: string; |
| 496 |
FavBoard: TFavoriteBoardItem; |
FavBoard: TFavoriteBoardItem; |
| 497 |
FavThread: TFavoriteThreadItem; |
FavThread: TFavoriteThreadItem; |
| 498 |
|
data : Pointer; |
| 499 |
begin |
begin |
| 500 |
for i := 0 to Node.Count - 1 do begin |
while Node <> nil do begin |
| 501 |
if TObject(Node.Item[i].Data) is TFavoriteFolder then begin |
data := Node.Data; |
| 502 |
if Node.Item[ i ].Expanded then |
if TObject(data) is TFavoriteFolder then begin |
| 503 |
s := Format('<folder title="%s" expanded="true">', [HtmlEncode(Node.Item[i].Text)]) |
if Node.Expanded then |
| 504 |
|
s := Format('<folder title="%s" expanded="true">', [HtmlEncode(Node.Text)]) |
| 505 |
else |
else |
| 506 |
s := Format('<folder title="%s" expanded="false">', [HtmlEncode(Node.Item[i].Text)]); |
s := Format('<folder title="%s" expanded="false">', [HtmlEncode(Node.Text)]); |
| 507 |
SaveList.Add(s); |
SaveList.Add(s); |
| 508 |
AddSaveString(Node.Item[i], SaveList); |
AddSaveString(Node.getFirstChild, SaveList); |
| 509 |
SaveList.Add('</folder>'); |
SaveList.Add('</folder>'); |
| 510 |
end else if TObject(Node.Item[i].Data) is TFavoriteBoardItem then begin |
end else if TObject(data) is TFavoriteBoardItem then begin |
| 511 |
FavBoard := TFavoriteBoardItem(Node.Item[i].Data); |
FavBoard := TFavoriteBoardItem(data); |
| 512 |
s := Format('<favitem type="2ch" favtype="board" url="%s" title="%s"/>', |
s := Format('<favitem type="2ch" favtype="board" url="%s" title="%s"/>', |
| 513 |
[HtmlEncode( FavBoard.URL ), HtmlEncode(Node.Item[ i ].Text)]); |
[HtmlEncode( FavBoard.URL ), HtmlEncode(Node.Text)]); |
| 514 |
SaveList.Add(s); |
SaveList.Add(s); |
| 515 |
end else if TObject(Node.Item[i].Data) is TFavoriteThreadItem then begin |
end else if TObject(data) is TFavoriteThreadItem then begin |
| 516 |
FavThread := TFavoriteThreadItem(Node.Item[i].Data); |
FavThread := TFavoriteThreadItem(data); |
| 517 |
s := Format('<favitem type="2ch" favtype="thread" url="%s" title="%s"/>', |
s := Format('<favitem type="2ch" favtype="thread" url="%s" title="%s"/>', |
| 518 |
[HtmlEncode( FavThread.URL ), HtmlEncode(Node.Item[ i ].Text)]); |
[HtmlEncode( FavThread.URL ), HtmlEncode(Node.Text)]); |
| 519 |
SaveList.Add(s); |
SaveList.Add(s); |
| 520 |
end; |
end; |
| 521 |
|
Node := Node.getNextSibling; |
| 522 |
end; |
end; |
| 523 |
end; |
end; |
| 524 |
|
|