DownloadProgressBar.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef DONLOADPROGRESSBAR_H
00024 #define DONLOADPROGRESSBAR_H
00025
00026 namespace UIs {
00028
00029 class DownloadProgressBar
00030 {
00031 REFERENCE_OBJECT (DownloadProgressBar)
00032
00033 class Range{
00034 int _start;
00035 int _end;
00036 public:
00037 Range (int start, int end): _start(start), _end(end) {};
00038 int start () {return _start;}
00039 int end () {return _end;}
00040 };
00041
00042 int fileSize;
00043 QList<Range> *requestedRanges;
00044 QList<Range> *downloadedRanges;
00045 QList<Range> *verifiedRanges;
00046
00047 void paintRanges (QPainter *painter, const QRect &rect, QList<Range> *ranges);
00048
00049 public:
00050 DownloadProgressBar ();
00051 ~DownloadProgressBar () {};
00052 void paint (QPainter *painter, const QRect *rect, const QStyleOptionViewItem & option);
00053 void setFileSize (int size);
00054 void addDownloadedRange (int start, int end);
00055
00056 void removeDownloadedRange (int start, int end);
00057 void addRequestedRange (int start, int end);
00058 void removeRequestedRange (int start, int end);
00059 void addVerifiedRange (int start, int end);
00060 void removeVerifiedRange (int start, int end);
00061 };
00062
00063 }
00065
00066 #endif // DONLOADPROGRESSBAR_H