| 26 |
{ Private 宣言 } |
{ Private 宣言 } |
| 27 |
FBoard: TBoard; |
FBoard: TBoard; |
| 28 |
FThreadItem: TThreadItem; |
FThreadItem: TThreadItem; |
| 29 |
|
procedure CopyTree( dst, src : TTreeNode ); |
| 30 |
// procedure PrepareFavoriteTree(Favo: TFavoriteItem; Node: TTreeNode); |
// procedure PrepareFavoriteTree(Favo: TFavoriteItem; Node: TTreeNode); |
| 31 |
function GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode; |
function GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode; |
| 32 |
public |
public |
| 44 |
|
|
| 45 |
{$R *.dfm} |
{$R *.dfm} |
| 46 |
|
|
| 47 |
procedure TFavoriteAddDialog.FormCreate(Sender: TObject); |
procedure TFavoriteAddDialog.CopyTree( dst, src : TTreeNode ); |
| 48 |
var |
var |
| 49 |
Node : TTreeNode; |
newNode : TTreeNode; |
|
TmpNode : TTreeNode; |
|
| 50 |
begin |
begin |
| 51 |
FolderTreeView.Items.BeginUpdate; |
while src <> nil do begin |
| 52 |
FolderTreeView.Items := FavoriteDM.TreeView.Items; |
if src.HasChildren then begin |
| 53 |
Node := FolderTreeView.Items.GetFirstNode; |
newNode := FolderTreeView.Items.AddChildObject( dst, src.Text, src.Data ); |
| 54 |
while Node <> nil do begin |
newNode.ImageIndex := src.ImageIndex; |
| 55 |
if not (TObject(Node.Data) is TFavoriteFolder) then begin |
newNode.SelectedIndex := src.SelectedIndex; |
| 56 |
TmpNode := Node; |
CopyTree( newNode, src.getFirstChild ); |
|
Node := Node.GetNext; |
|
|
TmpNode.Delete; |
|
|
end else begin |
|
|
Node := Node.GetNext; |
|
| 57 |
end; |
end; |
| 58 |
|
src := src.getNextSibling; |
| 59 |
end; |
end; |
| 60 |
|
end; |
| 61 |
|
|
| 62 |
|
procedure TFavoriteAddDialog.FormCreate(Sender: TObject); |
| 63 |
|
var |
| 64 |
|
src : TTreeNode; |
| 65 |
|
node : TTreeNode; |
| 66 |
|
begin |
| 67 |
|
FolderTreeView.Items.BeginUpdate; |
| 68 |
|
|
| 69 |
|
// FavoriteDM のフォルダ階層をコピー |
| 70 |
|
FolderTreeView.Items.Clear; |
| 71 |
|
src := FavoriteDM.TreeView.Items.GetFirstNode; |
| 72 |
|
node := TTreeNode.Create( FolderTreeView.Items ); |
| 73 |
|
node.Data := src.Data; |
| 74 |
|
node.ImageIndex := src.ImageIndex; |
| 75 |
|
node.SelectedIndex := src.SelectedIndex; |
| 76 |
|
node.HasChildren := True; |
| 77 |
|
node := FolderTreeView.Items.AddFirst( node, src.Text ); |
| 78 |
|
CopyTree( node, src.getFirstChild ); |
| 79 |
|
|
| 80 |
if FolderTreeView.Items.GetFirstNode <> nil then begin |
if FolderTreeView.Items.GetFirstNode <> nil then begin |
| 81 |
FolderTreeView.Items.GetFirstNode.Expanded := True; |
FolderTreeView.Items.GetFirstNode.Expanded := True; |
| 123 |
if FolderTreeView.Selected = nil then |
if FolderTreeView.Selected = nil then |
| 124 |
Exit; |
Exit; |
| 125 |
|
|
| 126 |
NewNode := nil; |
Node := FolderTreeView.Items.GetFirstNode.getFirstChild; |
|
Node := FolderTreeView.Items.GetFirstNode; |
|
| 127 |
while Node <> nil do begin |
while Node <> nil do begin |
| 128 |
FavNode := GetGikoFavoriteNode(Node.Data); |
FavNode := GetGikoFavoriteNode(Node.Data); |
| 129 |
if FavNode = nil then begin |
if FavNode = nil then begin |