1
mirror of https://invent.kde.org/network/falkon.git synced 2024-11-11 17:42:10 +01:00
falkonOfficial/src/tools/progressbar.cpp

40 lines
853 B
C++

#include "progressbar.h"
ProgressBar::ProgressBar(QWidget* parent)
: QWidget(parent)
, m_value(0)
, m_lastPaintedValue(-1)
{
setMinimumSize(QSize(130,16));
setMaximumSize(QSize(150,16));
}
void ProgressBar::setValue(int value)
{
m_value = value;
if (m_lastPaintedValue != m_value)
repaint();
}
void ProgressBar::initStyleOption(QStyleOptionProgressBar *option)
{
if (!option)
return;
option->initFrom(this);
option->minimum = 0;
option->maximum = 100;
option->progress = m_value;
option->textAlignment = Qt::AlignLeft;
option->textVisible = false;
}
void ProgressBar::paintEvent(QPaintEvent*)
{
QStylePainter paint(this);
QStyleOptionProgressBarV2 opt;
initStyleOption(&opt);
paint.drawControl(QStyle::CE_ProgressBar, opt);
m_lastPaintedValue = m_value;
}