28 #include <QFontMetrics>
37 setAlignment(Qt::AlignCenter);
45 setText(this->m_text);
46 this->adjustFontSize();
52 QLabel::resizeEvent(event);
57 StatusIndicationLabel::adjustFontSize()
62 QFont font = this->font();
63 QRect availableRect = contentsRect();
66 int fontSize = font.pointSize();
70 QFontMetrics metrics(font);
75 font.setPointSize(fontSize + 1);
76 metrics = QFontMetrics(font);
78 QRect textRect = metrics.boundingRect(availableRect, Qt::TextWordWrap, m_text);
80 if (textRect.width() > availableRect.width() ||
81 textRect.height() > availableRect.height())
90 font.setPointSize(fontSize);
91 metrics = QFontMetrics(font);
96 QRect textRect = metrics.boundingRect(availableRect, Qt::TextWordWrap, m_text);
98 if (textRect.width() <= availableRect.width() &&
99 textRect.height() <= availableRect.height())
105 font.setPointSize(fontSize);
106 metrics = QFontMetrics(font);