| 423 |
procedure TreeViewCustomDrawItem(Sender: TCustomTreeView; |
procedure TreeViewCustomDrawItem(Sender: TCustomTreeView; |
| 424 |
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean); |
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean); |
| 425 |
procedure TreeViewExpanded(Sender: TObject; Node: TTreeNode); |
procedure TreeViewExpanded(Sender: TObject; Node: TTreeNode); |
|
procedure TreeViewDblClick(Sender: TObject); |
|
| 426 |
procedure ListViewCustomDraw(Sender: TCustomListView; |
procedure ListViewCustomDraw(Sender: TCustomListView; |
| 427 |
const ARect: TRect; var DefaultDraw: Boolean); |
const ARect: TRect; var DefaultDraw: Boolean); |
| 428 |
procedure ListViewMouseDown(Sender: TObject; Button: TMouseButton; |
procedure ListViewMouseDown(Sender: TObject; Button: TMouseButton; |
| 494 |
procedure FavoriteTreeViewKeyDown(Sender: TObject; var Key: Word; |
procedure FavoriteTreeViewKeyDown(Sender: TObject; var Key: Word; |
| 495 |
Shift: TShiftState); |
Shift: TShiftState); |
| 496 |
procedure FavoriteTreePopupMenuPopup(Sender: TObject); |
procedure FavoriteTreePopupMenuPopup(Sender: TObject); |
|
procedure FavoriteTreeViewDblClick(Sender: TObject); |
|
| 497 |
procedure LinkToolBarDragDrop(Sender, Source: TObject; X, Y: Integer); |
procedure LinkToolBarDragDrop(Sender, Source: TObject; X, Y: Integer); |
| 498 |
procedure BrowserTabMouseUp(Sender: TObject; Button: TMouseButton; |
procedure BrowserTabMouseUp(Sender: TObject; Button: TMouseButton; |
| 499 |
Shift: TShiftState; X, Y: Integer); |
Shift: TShiftState; X, Y: Integer); |
| 512 |
var Handled: Boolean); |
var Handled: Boolean); |
| 513 |
procedure BrowserTabPopupMenuPopup(Sender: TObject); |
procedure BrowserTabPopupMenuPopup(Sender: TObject); |
| 514 |
procedure BrowserTabResize(Sender: TObject); |
procedure BrowserTabResize(Sender: TObject); |
|
procedure TreeViewClick(Sender: TObject); |
|
| 515 |
procedure TreeViewKeyDown(Sender: TObject; var Key: Word; |
procedure TreeViewKeyDown(Sender: TObject; var Key: Word; |
| 516 |
Shift: TShiftState); |
Shift: TShiftState); |
| 517 |
procedure FavoriteTreeViewMouseDown(Sender: TObject; |
procedure FavoriteTreeViewMouseDown(Sender: TObject; |
| 539 |
var Handled: Boolean); |
var Handled: Boolean); |
| 540 |
procedure GikoApplicationEventsDeactivate(Sender: TObject); |
procedure GikoApplicationEventsDeactivate(Sender: TObject); |
| 541 |
procedure GikoApplicationEventsException(Sender: TObject; E: Exception); |
procedure GikoApplicationEventsException(Sender: TObject; E: Exception); |
| 542 |
procedure TreeViewCollapsing(Sender: TObject; Node: TTreeNode; |
procedure TreeViewMouseDown(Sender: TObject; Button: TMouseButton; |
|
var AllowCollapse: Boolean); |
|
|
procedure TreeViewExpanding(Sender: TObject; Node: TTreeNode; |
|
|
var AllowExpansion: Boolean); |
|
|
procedure TreeViewMouseUp(Sender: TObject; Button: TMouseButton; |
|
| 543 |
Shift: TShiftState; X, Y: Integer); |
Shift: TShiftState; X, Y: Integer); |
|
procedure FavoriteTreeViewStartDrag(Sender: TObject; |
|
|
var DragObject: TDragObject); |
|
|
procedure FavoriteTreeViewMouseMove(Sender: TObject; |
|
|
Shift: TShiftState; X, Y: Integer); |
|
|
procedure FavoriteTreeViewExit(Sender: TObject); |
|
| 544 |
private |
private |
| 545 |
{ Private 宣言 } |
{ Private 宣言 } |
| 546 |
FEnabledCloseButton: Boolean; |
FEnabledCloseButton: Boolean; |
| 2212 |
ListView.SetFocus; |
ListView.SetFocus; |
| 2213 |
ListView.SelectAll; |
ListView.SelectAll; |
| 2214 |
end; |
end; |
|
// ************************************************************************* |
|
|
//! ツリービューのダブルクリックイベント |
|
|
// ************************************************************************* |
|
|
procedure TGikoForm.TreeViewDblClick(Sender: TObject); |
|
|
var |
|
|
pos : TPoint; |
|
|
rect: TRect; |
|
|
begin |
|
|
pos := FMouseDownPos; |
|
|
if (FClickNode <> nil) and (FClickNode = TreeView.GetNodeAt(pos.X, pos.Y)) then begin |
|
|
//マウスがnodeの上にいるか |
|
|
rect := FClickNode.DisplayRect(true); |
|
|
if ((rect.Left <= pos.X) and (rect.Right >= pos.X)) and |
|
|
((rect.Bottom >= pos.Y) and (rect.Top <= pos.Y)) then begin |
|
|
TreeDoubleClick( FClickNode ); |
|
|
FClickNode := nil; |
|
|
end; |
|
|
end; |
|
|
end; |
|
|
|
|
| 2215 |
procedure TGikoForm.DownloadMsg(Sender: TObject; Item: TDownloadItem; Msg: string; Icon: TGikoMessageIcon); |
procedure TGikoForm.DownloadMsg(Sender: TObject; Item: TDownloadItem; Msg: string; Icon: TGikoMessageIcon); |
| 2216 |
begin |
begin |
| 2217 |
AddMessageList(Msg, nil, Icon); |
AddMessageList(Msg, nil, Icon); |
| 2218 |
end; |
end; |
| 2219 |
|
// ************************************************************************* |
| 2220 |
|
//! ダウンロードが完了したときに発生するイベント |
| 2221 |
|
// ************************************************************************* |
| 2222 |
procedure TGikoForm.DownloadEnd(Sender: TObject; Item: TDownloadItem); |
procedure TGikoForm.DownloadEnd(Sender: TObject; Item: TDownloadItem); |
| 2223 |
var |
var |
| 2224 |
ATitle: string; |
ATitle: string; |
| 4417 |
|
|
| 4418 |
procedure TGikoForm.FavoriteClick(Sender: TObject); |
procedure TGikoForm.FavoriteClick(Sender: TObject); |
| 4419 |
begin |
begin |
|
|
|
| 4420 |
FavoriteClick( Sender, True ); |
FavoriteClick( Sender, True ); |
|
|
|
| 4421 |
end; |
end; |
| 4422 |
|
|
| 4423 |
procedure TGikoForm.FavoriteClick(Sender: TObject; ActiveTab: Boolean); |
procedure TGikoForm.FavoriteClick(Sender: TObject; ActiveTab: Boolean); |
| 6078 |
FavoriteTreeView.Selected.Expanded := not FavoriteTreeView.Selected.Expanded; |
FavoriteTreeView.Selected.Expanded := not FavoriteTreeView.Selected.Expanded; |
| 6079 |
end; |
end; |
| 6080 |
VK_SPACE: |
VK_SPACE: |
| 6081 |
FavoriteTreeViewDblClick( Sender ); |
GikoDM.FavoriteTreeViewReloadActionExecute( |
| 6082 |
|
TObject(FavoriteTreeView.Selected)); |
| 6083 |
end; |
end; |
| 6084 |
end else begin |
end else begin |
| 6085 |
//編集中にESCを押したら、編集を終了して、元の文字列に戻す |
//編集中にESCを押したら、編集を終了して、元の文字列に戻す |
| 6212 |
end; |
end; |
| 6213 |
|
|
| 6214 |
end; |
end; |
|
// ************************************************************************* |
|
|
//! お気に入りツリーのダブルクリックイベント |
|
|
// ************************************************************************* |
|
|
procedure TGikoForm.FavoriteTreeViewDblClick(Sender: TObject); |
|
|
var |
|
|
pos : TPoint; |
|
|
rect: TRect; |
|
|
begin |
|
|
pos := FMouseDownPos; |
|
|
if (FClickNode <> nil) and (FClickNode = FavoriteTreeView.GetNodeAt(pos.X, pos.Y)) then begin |
|
|
//マウスがnodeの上にいるか |
|
|
rect := FClickNode.DisplayRect(true); |
|
|
if ((rect.Left <= pos.X) and (rect.Right >= pos.X)) and |
|
|
((rect.Bottom >= pos.Y) and (rect.Top <= pos.Y)) then begin |
|
|
GikoDM.FavoriteTreeViewReloadActionExecute( Sender ); |
|
|
FClickNode := nil; |
|
|
end; |
|
|
end; |
|
|
end; |
|
|
|
|
| 6215 |
function TGikoForm.TreeNodeDataFind(Node: TTreeNode; FindPointer: Pointer): TTreeNode; |
function TGikoForm.TreeNodeDataFind(Node: TTreeNode; FindPointer: Pointer): TTreeNode; |
| 6216 |
var |
var |
| 6217 |
Found: TTreeNode; |
Found: TTreeNode; |
| 6642 |
|
|
| 6643 |
end; |
end; |
| 6644 |
// ************************************************************************* |
// ************************************************************************* |
| 6645 |
//! ツリービューのクリックイベント |
//! ツリービューのKeyDownイベント |
| 6646 |
// ************************************************************************* |
// ************************************************************************* |
|
procedure TGikoForm.TreeViewClick(Sender: TObject); |
|
|
begin |
|
|
FClickNode := TreeView.Selected; |
|
|
FMouseDownPos := TreeView.ScreenToClient(Mouse.CursorPos); |
|
|
end; |
|
| 6647 |
procedure TGikoForm.TreeViewKeyDown(Sender: TObject; var Key: Word; |
procedure TGikoForm.TreeViewKeyDown(Sender: TObject; var Key: Word; |
| 6648 |
Shift: TShiftState); |
Shift: TShiftState); |
| 6649 |
begin |
begin |
| 6662 |
var |
var |
| 6663 |
favItem : TTreeNode; |
favItem : TTreeNode; |
| 6664 |
favThreadItem : TFavoriteThreadItem; |
favThreadItem : TFavoriteThreadItem; |
| 6665 |
|
rect: TRect; |
| 6666 |
begin |
begin |
| 6667 |
case Button of |
case Button of |
| 6668 |
mbLeft: |
mbLeft: |
| 6669 |
begin |
begin |
| 6670 |
//現在選択されているアイテムを保存 |
if not (ssAlt in Shift) and (FavoriteTreeView.Selected <> nil) and |
| 6671 |
FClickNode := FavoriteTreeView.Selected; |
(FavoriteTreeView.Selected = FavoriteTreeView.GetNodeAt(X, Y)) then begin |
| 6672 |
FMouseDownPos := FavoriteTreeView.ScreenToClient(Mouse.CursorPos); |
//マウスがnodeの上にいるか |
| 6673 |
|
rect := FavoriteTreeView.Selected.DisplayRect(true); |
| 6674 |
|
if ((rect.Left <= X) and (rect.Right >= X)) and |
| 6675 |
|
((rect.Bottom >= Y) and (rect.Top <= Y)) then begin |
| 6676 |
|
if ssDouble in Shift then begin |
| 6677 |
|
GikoDM.FavoriteTreeViewReloadActionExecute( |
| 6678 |
|
TObject(FavoriteTreeView.Selected)); |
| 6679 |
|
|
| 6680 |
|
end else begin |
| 6681 |
|
FavoriteClick( |
| 6682 |
|
TObject(FavoriteTreeView.Selected)); |
| 6683 |
|
end; |
| 6684 |
|
end; |
| 6685 |
|
end; |
| 6686 |
end; |
end; |
| 6687 |
mbMiddle: |
mbMiddle: |
| 6688 |
begin |
begin |
| 7619 |
end; |
end; |
| 7620 |
end; |
end; |
| 7621 |
// ************************************************************************* |
// ************************************************************************* |
|
//! ツリービューのアイテムの縮小時イベント |
|
|
// ************************************************************************* |
|
|
procedure TGikoForm.TreeViewCollapsing(Sender: TObject; Node: TTreeNode; |
|
|
var AllowCollapse: Boolean); |
|
|
begin |
|
|
FClickNode := nil; |
|
|
end; |
|
|
// ************************************************************************* |
|
|
//! ツリービューのアイテムの展開時イベント |
|
|
// ************************************************************************* |
|
|
procedure TGikoForm.TreeViewExpanding(Sender: TObject; Node: TTreeNode; |
|
|
var AllowExpansion: Boolean); |
|
|
begin |
|
|
FClickNode := nil; |
|
|
end; |
|
|
// ************************************************************************* |
|
|
//! ツリービューのマウスアップイベント |
|
|
// ************************************************************************* |
|
|
procedure TGikoForm.TreeViewMouseUp(Sender: TObject; Button: TMouseButton; |
|
|
Shift: TShiftState; X, Y: Integer); |
|
|
begin |
|
|
if (Button = mbLeft) and not (ssDouble in Shift) then begin |
|
|
if (FClickNode <> nil) and (FClickNode = TreeView.GetNodeAt(X, Y)) then begin |
|
|
TreeClick(FClickNode); |
|
|
end; |
|
|
end; |
|
|
end; |
|
|
// ************************************************************************* |
|
| 7622 |
//! ダウンロードコントロールスレッドの生成 |
//! ダウンロードコントロールスレッドの生成 |
| 7623 |
// ************************************************************************* |
// ************************************************************************* |
| 7624 |
procedure TGikoForm.CreateControlThread(); |
procedure TGikoForm.CreateControlThread(); |
| 7726 |
except |
except |
| 7727 |
end; |
end; |
| 7728 |
end; |
end; |
| 7729 |
//! ドラッグスタートイベント |
//! キャビネットのマウスダウンイベント |
| 7730 |
procedure TGikoForm.FavoriteTreeViewStartDrag(Sender: TObject; |
procedure TGikoForm.TreeViewMouseDown(Sender: TObject; |
| 7731 |
var DragObject: TDragObject); |
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); |
|
begin |
|
|
FClickNode := nil; |
|
|
end; |
|
|
//MouseMoveでクリックイベントを起こすという気持悪い実装... |
|
|
procedure TGikoForm.FavoriteTreeViewMouseMove(Sender: TObject; |
|
|
Shift: TShiftState; X, Y: Integer); |
|
| 7732 |
var |
var |
| 7733 |
pos : TPoint; |
rect : TRect; |
|
rect: TRect; |
|
| 7734 |
begin |
begin |
| 7735 |
if (FClickNode <> nil) then begin |
case Button of |
| 7736 |
//クリック時の選択イベントと同じならダブルクリック実行 |
mbLeft: |
| 7737 |
pos := FMouseDownPos; |
begin |
| 7738 |
if (FClickNode = FavoriteTreeView.GetNodeAt(pos.X, pos.Y)) then begin |
if (TreeView.Selected <> nil) and |
| 7739 |
//マウスがnodeの上にいるか |
(TreeView.Selected = TreeView.GetNodeAt(X, Y)) then begin |
| 7740 |
rect := FClickNode.DisplayRect(true); |
//マウスがnodeの上にいるか |
| 7741 |
if ((rect.Left <= pos.X) and (rect.Right >= pos.X)) and |
rect := TreeView.Selected.DisplayRect(true); |
| 7742 |
((rect.Bottom >= pos.Y) and (rect.Top <= pos.Y)) then begin |
if ((rect.Left <= X) and (rect.Right >= X)) and |
| 7743 |
FavoriteClick( TObject( FClickNode ) ); |
((rect.Bottom >= Y) and (rect.Top <= Y)) then begin |
| 7744 |
//DBClickが続くかもしれないのでFClickNodはクリアしない |
// クリックとダブルクリックをココで判定 |
| 7745 |
end else begin |
if ssDouble in Shift then begin |
| 7746 |
FClickNode := nil; |
TreeDoubleClick( TreeView.Selected ); |
| 7747 |
|
end else begin |
| 7748 |
|
TreeClick(TreeView.Selected); |
| 7749 |
|
end; |
| 7750 |
|
end; |
| 7751 |
end; |
end; |
|
end else begin |
|
|
FClickNode := nil; |
|
| 7752 |
end; |
end; |
| 7753 |
end; |
end; |
| 7754 |
end; |
end; |
|
//! クリックしたアイテムが残っているのを消す |
|
|
procedure TGikoForm.FavoriteTreeViewExit(Sender: TObject); |
|
|
begin |
|
|
FClickNode := nil; |
|
|
end; |
|
| 7755 |
|
|
| 7756 |
initialization |
initialization |
| 7757 |
OleInitialize(nil); |
OleInitialize(nil); |