88 bool maxUpdated =
false;
140 _rec = this->frameRect();
146 _painter->setRenderHint(QPainter::Antialiasing);
147 _painter->setRenderHint(QPainter::TextAntialiasing);
171 QVector<QPointF> recvPoints, sendPoints;
198 QVector<QPointF> points;
199 int x =
_rec.width();
200 int y =
_rec.height();
205 points << QPointF(x, y);
206 for (
int i = 0;
i < list->size();
i++) {
207 currValue = y - (list->at(
i) * scale);
212 points << QPointF(x, currValue);
226 QBrush oldBrush =
_painter->brush();
227 color.setAlphaF(alpha);
229 _painter->drawPolygon(points.data(), points.size());
240 _painter->setPen(QPen(color, lineStyle));
241 _painter->drawPolyline(points.data(), points.size());
252#if !defined(Q_WS_MAC)
263 " ("+tr(
"%1 KB/s").arg(
_recvData->first(), 0,
'f', 2)+
")");
272 " ("+tr(
"%1 KB/s").arg(
_sendData->first(), 0,
'f', 2)+
")");
283 return tr(
"%1 KB").arg(total, 0,
'f', 2);
284 }
else if (total < 1048576) {
286 return tr(
"%1 MB").arg(total/1024.0, 0,
'f', 2);
289 return tr(
"%1 GB").arg(total/1048576.0, 0,
'f', 2);
299 QFontMetrics fm = fontMetrics();
301 for (
int i = 0;
i < label.length();
i++)
302 width += fm.charWidth(label,
i);
313 int bottom =
_rec.height();
317 qreal paintStep = (bottom - (bottom/8)) / 4;
320 for (
int i = 0;
i < 4;
i++) {
321 pos = bottom - ((
i+1) * paintStep);
322 label[
i] = tr(
"%1 KB/s").arg(markStep*(
i+1), 0,
'f', 2);
324 scaleWidth = qMax(scaleWidth, 2+width[
i]);
332 for (
int i = 0;
i < 4;
i++) {
333 pos = bottom - ((
i+1) * paintStep);
339 QPointF(
_rec.width(), pos));
void resizeEvent(QResizeEvent *ev)
QList< qreal > * _recvData
void paintIntegral(QVector< QPointF > points, QColor color, qreal alpha=1.0)
void addPoints(qreal recv, qreal send)
GraphFrame(QWidget *parent=0)
void paintLine(QVector< QPointF > points, QColor color, Qt::PenStyle lineStyle=Qt::SolidLine)
void setShowCounters(bool showRecv, bool showSend)
void paintEvent(QPaintEvent *event)
QList< qreal > * _sendData
QString totalToStr(qreal total)
QVector< QPointF > pointsFromData(QList< qreal > *list)
int labelWidth(const QString &label)