1
0
mirror of https://github.com/winscp/winscp.git synced 2026-10-24 02:28:55 +03:00
Files
winscp/source/forms/Progress.h
Martin Prikryl 89c431ba80 Automatic form code changes by C++ Builder 11
Source commit: 93a8626bdfe70760db3d4915380ca2179f2cca91
2024-10-08 15:50:17 +02:00

164 lines
6.2 KiB
C++

//----------------------------------------------------------------------------
#ifndef ProgressH
#define ProgressH
//----------------------------------------------------------------------------
#include "PathLabel.hpp"
#include <System.Classes.hpp>
#include <Vcl.ComCtrls.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.StdCtrls.hpp>
//----------------------------------------------------------------------------
#include <FileOperationProgress.h>
#include <Vcl.Menus.hpp>
#include "PngImageList.hpp"
#include <Vcl.Imaging.pngimage.hpp>
#include <Vcl.ImgList.hpp>
//----------------------------------------------------------------------------
#include <GUITools.h>
#include "TB2Dock.hpp"
#include "TB2Item.hpp"
#include "TB2Toolbar.hpp"
#include "TBX.hpp"
#include "TB2ExtItems.hpp"
#include "TBXExtItems.hpp"
#include <Vcl.AppEvnts.hpp>
#include <System.ImageList.hpp>
#include <list>
//----------------------------------------------------------------------------
class TProgressForm : public TForm
{
__published:
TPanel *MainPanel;
TLabel *PathLabel;
TPathLabel *FileLabel;
TLabel *TargetLabel;
TPathLabel *TargetPathLabel;
TProgressBar *OperationProgress;
TPanel *TransferPanel;
TLabel *Label3;
TLabel *TimeElapsedLabel;
TLabel *StartTimeLabelLabel;
TLabel *StartTimeLabel;
TLabel *Label4;
TLabel *BytesTransferredLabel;
TLabel *Label12;
TLabel *CPSLabel;
TProgressBar *FileProgress;
TTimer *UpdateTimer;
TLabel *TimeLeftLabelLabel;
TLabel *TimeLeftLabel;
TPaintBox *AnimationPaintBox;
TPngImageList *ImageList;
TPanel *ToolbarPanel;
TTBXDock *Dock;
TTBXToolbar *Toolbar;
TTBXItem *CancelItem;
TTBXItem *MinimizeItem;
TTBXItem *MoveToQueueItem;
TTBXSubmenuItem *CycleOnceDoneItem;
TTBXItem *IdleOnceDoneItem;
TTBXItem *DisconnectOnceDoneItem;
TTBXItem *SuspendOnceDoneItem;
TTBXItem *ShutDownOnceDoneItem;
TTBXComboBoxItem *SpeedComboBoxItem;
TPanel *ComponentsPanel;
TPngImageList *ImageList120;
TPngImageList *ImageList144;
TPngImageList *ImageList192;
TApplicationEvents *ApplicationEvents;
TTBXItem *SkipItem;
void __fastcall UpdateTimerTimer(TObject *Sender);
void __fastcall FormShow(TObject *Sender);
void __fastcall FormHide(TObject *Sender);
void __fastcall CancelItemClick(TObject *Sender);
void __fastcall MinimizeItemClick(TObject *Sender);
void __fastcall MoveToQueueItemClick(TObject *Sender);
void __fastcall OnceDoneItemClick(TObject *Sender);
void __fastcall CycleOnceDoneItemClick(TObject *Sender);
void __fastcall SpeedComboBoxItemAcceptText(TObject *Sender, UnicodeString &NewText,
bool &Accept);
void __fastcall SpeedComboBoxItemItemClick(TObject *Sender);
void __fastcall SpeedComboBoxItemAdjustImageIndex(TTBXComboBoxItem *Sender, const UnicodeString AText,
int AIndex, int &ImageIndex);
void __fastcall ApplicationModalBegin(TObject * Sender);
void __fastcall SpeedComboBoxItemClick(TObject *Sender);
void __fastcall SkipItemClick(TObject *Sender);
private:
TCancelStatus FCancel;
bool FPendingSkip;
bool FMoveToQueue;
TFileOperationProgressType FData;
bool FDataGot;
bool FDataReceived;
TFileOperation FLastOperation;
TOperationSide FLastSide;
bool FLastTotalSizeSet;
bool FMinimizedByMe;
int FUpdateCounter;
bool FAsciiTransferChanged;
bool FResumeStatusChanged;
void * FShowAsModalStorage;
bool FDeleteLocalToRecycleBin;
bool FDeleteRemoteToRecycleBin;
bool FReadOnly;
unsigned long FCPSLimit;
TDateTime FStarted;
int FSinceLastUpdate;
bool FModalBeginHooked;
int FModalLevel;
TFrameAnimation FFrameAnimation;
typedef BiDiMap<TOnceDoneOperation, TTBCustomItem *> TOnceDoneItems;
TOnceDoneItems FOnceDoneItems;
bool FAllowSkip;
TSynchronizeProgress * FSynchronizeProgress;
UnicodeString FProgressStr;
int FWheelDelta;
void __fastcall SetOnceDoneOperation(TOnceDoneOperation value);
TTBCustomItem * __fastcall CurrentOnceDoneItem();
TOnceDoneOperation __fastcall GetOnceDoneOperation();
void __fastcall SetOnceDoneItem(TTBCustomItem * Item);
void __fastcall SetAllowMinimize(bool value);
bool __fastcall GetAllowMinimize();
void __fastcall SetReadOnly(bool value);
void __fastcall GlobalMinimize(TObject * Sender);
UnicodeString __fastcall ItemSpeed(const UnicodeString & Text, TTBXComboBoxItem * Item);
void __fastcall CMDialogKey(TCMDialogKey & Message);
protected:
void __fastcall CancelOperation();
void __fastcall UpdateControls();
void __fastcall ResetOnceDoneOperation();
bool __fastcall ReceiveData(bool Force, int ModalLevelOffset);
void __fastcall Minimize(TObject * Sender);
virtual void __fastcall Dispatch(void * Message);
void __fastcall SetCancelLower(TCancelStatus ACancel);
DYNAMIC void __fastcall MouseWheelHandler(TMessage & Message);
INTERFACE_HOOK;
public:
static UnicodeString __fastcall ProgressStr(
const TSynchronizeProgress * SynchronizeProgress, const TFileOperationProgressType * ProgressData);
static void SizeToolbar(TForm * Form, TTBXToolbar * Toolbar, TTBXDock * Dock, TPanel * ToolbarPanel);
virtual __fastcall TProgressForm(
TComponent * AOwner, bool AllowMoveToQueue, bool AllowSkip, TSynchronizeProgress * SynchronizeProgress);
virtual __fastcall ~TProgressForm();
void __fastcall SetProgressData(TFileOperationProgressType & AData);
void __fastcall ClearCancel();
UnicodeString __fastcall ProgressStr();
__property TCancelStatus Cancel = { read = FCancel };
__property bool MoveToQueue = { read = FMoveToQueue };
__property TOnceDoneOperation OnceDoneOperation = { read=GetOnceDoneOperation, write=SetOnceDoneOperation };
__property bool AllowMinimize = { read=GetAllowMinimize, write=SetAllowMinimize };
__property bool DeleteLocalToRecycleBin = { read=FDeleteLocalToRecycleBin, write=FDeleteLocalToRecycleBin };
__property bool DeleteRemoteToRecycleBin = { read=FDeleteRemoteToRecycleBin, write=FDeleteRemoteToRecycleBin };
__property bool ReadOnly = { read=FReadOnly, write=SetReadOnly };
__property TSynchronizeProgress * SynchronizeProgress = { read = FSynchronizeProgress };
};
//----------------------------------------------------------------------------
#endif