⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transferpage.h

📁 Last change: 2008-02-03 This is the source code of KCeasy。
💻 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 + -