📄 transferpage.h
字号:
/*
This file is part of KCeasy (http://www.kceasy.com)
Copyright (C) 2002-2004 Markus Kern <mkern@kceasy.com>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
*/
//---------------------------------------------------------------------------
#ifndef TransferPageH
#define TransferPageH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include "VirtualTrees.hpp"
#include <Graphics.hpp>
#include <Menus.hpp>
#include "Engine.h"
#include "VTHeaderPopup.hpp"
#include <Buttons.hpp>
//---------------------------------------------------------------------------
class TDownloadNodeData
{
public:
TDownloadNodeData() : Download(NULL), Source(NULL), ImageIndex(-1) {}
TDownload* Download; // always set
TDlSource* Source; // only set for child nodes
int ImageIndex;
int NetworkImageIndex;
};
class TUploadNodeData
{
public:
TUploadNodeData() : Upload(NULL), ImageIndex(-1) {}
TUpload* Upload;
int ImageIndex;
int NetworkImageIndex;
};
class TTransferForm : public TForm
{
__published: // IDE-managed Components
TPanel *DownloadPanel;
TSplitter *TransferSplitter;
TPanel *UploadPanel;
TVirtualStringTree *DownloadTree;
TVirtualStringTree *UploadTree;
TImage *DownloadImage;
TLabel *DownloadLabel;
TImage *UploadImage;
TLabel *UploadLabel;
TPopupMenu *DownloadPopup;
TMenuItem *CancelDownloadMnu;
TMenuItem *PauseDownloadMnu;
TMenuItem *ResumeDownloadMnu;
TMenuItem *CancelAllDownloadsMnu;
TMenuItem *ClearDownloadsMnu;
TMenuItem *FindMoreFromUserDownloadMnu;
TMenuItem *FindMoreSourcesDownloadMnu;
TMenuItem *PlayDownloadMnu;
TMenuItem *N1;
TMenuItem *N2;
TMenuItem *N4;
TPopupMenu *UploadPopup;
TMenuItem *PlayUploadMnu;
TMenuItem *N3;
TMenuItem *CancelUploadMnu;
TMenuItem *N5;
TMenuItem *CancelAllUploadsMnu;
TMenuItem *ClearUploadsMnu;
TMenuItem *N6;
TMenuItem *FindMoreFromUserUploadMnu;
TMenuItem *RemoveDownloadSourceMnu;
TVTHeaderPopupMenu *DownloadHeaderPopup;
TVTHeaderPopupMenu *UploadHeaderPopup;
TPanel *DownloadCtrlPanel;
TPanel *UploadCtrlPanel;
TMenuItem *OpenExternallyUploadMnu;
TMenuItem *OpenExternallyDownloadMnu;
TSpeedButton *DownloadActionBtn;
TSpeedButton *UploadActionBtn;
TMenuItem *FindMoreSourcesAllDownloadsMnu;
TMenuItem *N7;
TMenuItem *PauseDownloadSubMnu;
TMenuItem *PauseAllDownloadsMnu;
TMenuItem *ResumeDownloadSubMnu;
TMenuItem *ResumeAllDownloadsMnu;
TMenuItem *LaunchTorrentDownloadMnu;
TMenuItem *LaunchTorrentUploadMnu;
TSpeedButton *DownloadPauseBtn;
TSpeedButton *DownloadCancelBtn;
TSpeedButton *DownloadPlayBtn;
TSpeedButton *DownloadClearBtn;
void __fastcall DownloadTreeGetText(TBaseVirtualTree *Sender,
PVirtualNode Node, TColumnIndex Column, TVSTTextType TextType,
WideString &CellText);
void __fastcall DownloadTreeGetImageIndex(TBaseVirtualTree *Sender,
PVirtualNode Node, TVTImageKind Kind, TColumnIndex Column,
bool &Ghosted, int &ImageIndex);
void __fastcall DownloadTreeAfterCellPaint(TBaseVirtualTree *Sender,
TCanvas *TargetCanvas, PVirtualNode Node, TColumnIndex Column,
TRect &CellRect);
void __fastcall FormCanResize(TObject *Sender, int &NewWidth,
int &NewHeight, bool &Resize);
void __fastcall PauseDownloadMnuClick(TObject *Sender);
void __fastcall ResumeDownloadMnuClick(TObject *Sender);
void __fastcall CancelDownloadMnuClick(TObject *Sender);
void __fastcall FindMoreSourcesDownloadMnuClick(TObject *Sender);
void __fastcall CancelAllDownloadMnuClick(TObject *Sender);
void __fastcall ClearDownloadsMnuClick(TObject *Sender);
void __fastcall FindMoreFromUserDownloadMnuClick(TObject *Sender);
void __fastcall DownloadTreeGetPopupMenu(TBaseVirtualTree *Sender,
PVirtualNode Node, TColumnIndex Column, const TPoint &P,
bool &AskParent, TPopupMenu *&PopupMenu);
void __fastcall UploadTreeGetText(TBaseVirtualTree *Sender,
PVirtualNode Node, TColumnIndex Column, TVSTTextType TextType,
WideString &CellText);
void __fastcall UploadTreeGetImageIndex(TBaseVirtualTree *Sender,
PVirtualNode Node, TVTImageKind Kind, TColumnIndex Column,
bool &Ghosted, int &ImageIndex);
void __fastcall UploadTreeAfterCellPaint(TBaseVirtualTree *Sender,
TCanvas *TargetCanvas, PVirtualNode Node, TColumnIndex Column,
TRect &CellRect);
void __fastcall CancelUploadMnuClick(TObject *Sender);
void __fastcall CancelAllUploadsMnuClick(TObject *Sender);
void __fastcall ClearUploadsMnuClick(TObject *Sender);
void __fastcall FindMoreFromUserUploadMnuClick(TObject *Sender);
void __fastcall UploadTreeGetPopupMenu(TBaseVirtualTree *Sender,
PVirtualNode Node, TColumnIndex Column, const TPoint &P,
bool &AskParent, TPopupMenu *&PopupMenu);
void __fastcall RemoveDownloadSourceMnuClick(TObject *Sender);
void __fastcall DownloadTreeHeaderDragged(TVTHeader *Sender,
TColumnIndex Column, int OldPosition);
void __fastcall UploadTreeHeaderDragged(TVTHeader *Sender,
TColumnIndex Column, int OldPosition);
void __fastcall UploadHeaderPopupPopup(TObject *Sender);
void __fastcall DownloadHeaderPopupPopup(TObject *Sender);
void __fastcall PlayDownloadMnuClick(TObject *Sender);
void __fastcall DownloadTreeScroll(TBaseVirtualTree *Sender,
int DeltaX, int DeltaY);
void __fastcall UploadTreeScroll(TBaseVirtualTree *Sender, int DeltaX,
int DeltaY);
void __fastcall PlayUploadMnuClick(TObject *Sender);
void __fastcall OpenExternallyUploadMnuClick(TObject *Sender);
void __fastcall OpenExternallyDownloadMnuClick(TObject *Sender);
void __fastcall DownloadActionBtnClick(TObject *Sender);
void __fastcall UploadActionBtnClick(TObject *Sender);
void __fastcall FindMoreSourcesAllDownloadsMnuClick(TObject *Sender);
void __fastcall PauseAllDownloadsMnuClick(TObject *Sender);
void __fastcall ResumeAllDownloadsMnuClick(TObject *Sender);
void __fastcall LaunchTorrentDownloadMnuClick(TObject *Sender);
void __fastcall LaunchTorrentUploadMnuClick(TObject *Sender);
void __fastcall DownloadTreeKeyPress(TObject *Sender, char &Key);
void __fastcall UploadTreeKeyPress(TObject *Sender, char &Key);
void __fastcall DownloadTreeCompareNodes(TBaseVirtualTree *Sender,
PVirtualNode Node1, PVirtualNode Node2, TColumnIndex Column,
int &Result);
void __fastcall DownloadTreeHeaderClick(TVTHeader *Sender,
TColumnIndex Column, TMouseButton Button, TShiftState Shift,
int X, int Y);
void __fastcall UploadTreeHeaderClick(TVTHeader *Sender,
TColumnIndex Column, TMouseButton Button, TShiftState Shift,
int X, int Y);
void __fastcall UploadTreeCompareNodes(TBaseVirtualTree *Sender,
PVirtualNode Node1, PVirtualNode Node2, TColumnIndex Column,
int &Result);
void __fastcall DownloadTreeDblClick(TObject *Sender);
void __fastcall UploadTreeDblClick(TObject *Sender);
void __fastcall DownloadPauseBtnClick(TObject *Sender);
void __fastcall DownloadTreeGetHint(TBaseVirtualTree *Sender,
PVirtualNode Node, TColumnIndex Column,
TVTTooltipLineBreakStyle &LineBreakStyle, WideString &HintText);
void __fastcall UploadTreeGetHint(TBaseVirtualTree *Sender,
PVirtualNode Node, TColumnIndex Column,
TVTTooltipLineBreakStyle &LineBreakStyle, WideString &HintText);
private: // User declarations
void __fastcall UpdateDownloadPopup(TVirtualNode* Node);
void __fastcall UpdateUploadPopup(TVirtualNode* Node);
void __fastcall SanitizeMenuItems(TMenuItem* Item);
bool __fastcall CanPlayDownload(TDownload* Download);
public: // User declarations
__fastcall TTransferForm(TComponent* Owner);
void __fastcall Release();
bool __fastcall EngineCallback(TCallbackInfo* CbInfo);
};
//---------------------------------------------------------------------------
extern PACKAGE TTransferForm *TransferForm;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -