Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/Giko.pas

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

revision 1.67 by yoffy, Sun Sep 28 05:32:39 2003 UTC revision 1.68 by yoffy, Sun Sep 28 11:00:53 2003 UTC
# Line 791  type Line 791  type
791      procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);      procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
792      procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);      procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
793      procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);      procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
794        procedure LinkToolBarDragDrop(Sender, Source: TObject; X, Y: Integer);
795        procedure LinkToolBarDragOver(Sender, Source: TObject; X, Y: Integer;
796          State: TDragState; var Accept: Boolean);
797          private          private
798                  { Private 宣言 }                  { Private 宣言 }
799    
# Line 7388  end; Line 7391  end;
7391    
7392  procedure TGikoForm.FavoriteTreeViewDragOver(Sender, Source: TObject; X,  procedure TGikoForm.FavoriteTreeViewDragOver(Sender, Source: TObject; X,
7393    Y: Integer; State: TDragState; var Accept: Boolean);    Y: Integer; State: TDragState; var Accept: Boolean);
7394    var
7395            Node: TTreeNode;
7396  begin  begin
7397          if Source = FavoriteTreeView then begin          if Source = FavoriteTreeView then begin
7398                  if FavoriteTreeView.Selected = FavoriteTreeView.Items.GetFirstNode then begin                  if FavoriteTreeView.Selected = FavoriteTreeView.Items.GetFirstNode then begin
# Line 7395  begin Line 7400  begin
7400                          Exit;                          Exit;
7401                  end;                  end;
7402                  Accept := True;                  Accept := True;
7403          end else    end else if Source = BrowserTab then
7404              Accept := True
7405            else
7406                  Accept := False;                  Accept := False;
7407  end;  end;
7408    
7409  procedure TGikoForm.FavoriteTreeViewDragDrop(Sender, Source: TObject; X,  procedure TGikoForm.FavoriteTreeViewDragDrop(Sender, Source: TObject; X,
7410    Y: Integer);    Y: Integer);
7411    var
7412            idx: Integer;
7413            ThreadItem: TThreadItem;
7414      Node: TTreeNode;
7415      FavNode: TTreeNode;
7416            FavoThreadItem: TFavoriteThreadItem;
7417  begin  begin
7418    
7419          if FavoriteTreeView.GetNodeAt(X, Y) = nil then          Node := FavoriteTreeView.GetNodeAt(X, Y);
7420                  Exit;  
7421          if Source <> FavoriteTreeView then          if Node = nil then
                 Exit;  
         if FavoriteTreeView.Selected = FavoriteTreeView.GetNodeAt(X, Y) then  
7422                  Exit;                  Exit;
7423      if Source <> BrowserTab then begin
7424        if Source <> FavoriteTreeView then
7425          Exit;
7426        if FavoriteTreeView.Selected = Node then
7427          Exit;
7428      end;
7429    
7430      if Source = BrowserTab then begin
7431    
7432        idx := BrowserTab.TabIndex;
7433        if BrowserTab.Tabs.Objects[idx] is TThreadItem then begin
7434          ThreadItem := TThreadItem(BrowserTab.Tabs.Objects[idx]);
7435          if not (TObject(Node.Data) is TFavoriteFolder) then
7436            FavNode := Node.Parent
7437          else
7438            FavNode := Node;
7439    
7440                            FavoThreadItem := TFavoriteThreadItem.Create;
7441                            FavoThreadItem.BBSID := ThreadItem.ParentBoard.BBSID;
7442                            FavoThreadItem.ThreadID := ThreadItem.FileName;
7443                            FavoThreadItem.ThreadName := ThreadItem.Title;
7444          Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, ThreadItem.Title, FavoThreadItem);
7445          Node.ImageIndex := 16;
7446          Node.SelectedIndex := 16;
7447        end;
7448    
7449      end else begin
7450    
7451          if TObject(FavoriteTreeView.GetNodeAt(X, Y).Data) is TFavoriteFolder then      if TObject(Node.Data) is TFavoriteFolder then
7452                  FavoriteTreeView.Selected.MoveTo(FavoriteTreeView.GetNodeAt(X, Y), naAddChild)        FavoriteTreeView.Selected.MoveTo(Node, naAddChild)
7453          else if TObject(FavoriteTreeView.GetNodeAt(X, Y).Data) is TFavoriteBoardItem then      else if TObject(Node.Data) is TFavoriteBoardItem then
7454                  FavoriteTreeView.Selected.MoveTo(FavoriteTreeView.GetNodeAt(X, Y), naInsert)        FavoriteTreeView.Selected.MoveTo(Node, naInsert)
7455          else if TObject(FavoriteTreeView.GetNodeAt(X, Y).Data) is TFavoriteThreadItem then      else if TObject(Node.Data) is TFavoriteThreadItem then
7456                  FavoriteTreeView.Selected.MoveTo(FavoriteTreeView.GetNodeAt(X, Y), naInsert);        FavoriteTreeView.Selected.MoveTo(Node, naInsert);
7457    
7458      end;
7459    
7460    SetLinkBar;    SetLinkBar;
7461    
# Line 7780  begin Line 7820  begin
7820    
7821  end;  end;
7822    
7823    procedure TGikoForm.LinkToolBarDragDrop(Sender, Source: TObject; X,
7824      Y: Integer);
7825    var
7826            i, idx: Integer;
7827            ThreadItem: TThreadItem;
7828      Node: TTreeNode;
7829      FavNode: TTreeNode;
7830            FavoThreadItem: TFavoriteThreadItem;
7831    begin
7832    
7833      for i := 0 to FavoriteTreeView.Items.Count - 1 do begin
7834        if FavoriteTreeView.Items[i].Text = Favorite.FAVORITE_LINK_NAME then begin
7835            Node := FavoriteTreeView.Items[i];
7836                            Break;
7837        end;
7838      end;
7839    
7840            if Node = nil then
7841                    Exit;
7842      if Source <> BrowserTab then begin
7843        if Source <> FavoriteTreeView then
7844          Exit;
7845        if FavoriteTreeView.Selected = Node then
7846          Exit;
7847      end;
7848    
7849      if Source = BrowserTab then begin
7850    
7851        idx := BrowserTab.TabIndex;
7852        if BrowserTab.Tabs.Objects[idx] is TThreadItem then begin
7853          ThreadItem := TThreadItem(BrowserTab.Tabs.Objects[idx]);
7854          if not (TObject(Node.Data) is TFavoriteFolder) then
7855            FavNode := Node.Parent
7856          else
7857            FavNode := Node;
7858    
7859                            FavoThreadItem := TFavoriteThreadItem.Create;
7860                            FavoThreadItem.BBSID := ThreadItem.ParentBoard.BBSID;
7861                            FavoThreadItem.ThreadID := ThreadItem.FileName;
7862                            FavoThreadItem.ThreadName := ThreadItem.Title;
7863          Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, ThreadItem.Title, FavoThreadItem);
7864          Node.ImageIndex := 16;
7865          Node.SelectedIndex := 16;
7866        end;
7867    
7868      end;
7869    
7870      SetLinkBar;
7871    
7872    
7873    end;
7874    
7875    procedure TGikoForm.LinkToolBarDragOver(Sender, Source: TObject; X,
7876      Y: Integer; State: TDragState; var Accept: Boolean);
7877    var
7878            Node: TTreeNode;
7879    begin
7880    
7881            if Source = FavoriteTreeView then begin
7882                    if FavoriteTreeView.Selected = FavoriteTreeView.Items.GetFirstNode then begin
7883                            Accept := False;
7884                            Exit;
7885                    end;
7886                    Accept := True;
7887      end else if Source = BrowserTab then
7888            Accept := True
7889            else
7890                    Accept := False;
7891    
7892    end;
7893    
7894  initialization  initialization
7895                                  OleInitialize(nil);                                  OleInitialize(nil);
7896  finalization  finalization

Legend:
Removed from v.1.67  
changed lines
  Added in v.1.68

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