forked from qt-creator/qt-creator
Utils: Let ElidingLabel handle Qt::ElideNone
In case of Qt::ElideNone, act like a normale QLabel. Task-number: QTCREATORBUG-23346 Change-Id: Id4fbd00dc0c8432f9ae60bee6dba114141c107df Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -38,15 +38,14 @@
|
|||||||
namespace Utils {
|
namespace Utils {
|
||||||
|
|
||||||
ElidingLabel::ElidingLabel(QWidget *parent)
|
ElidingLabel::ElidingLabel(QWidget *parent)
|
||||||
: QLabel(parent), m_elideMode(Qt::ElideRight)
|
: ElidingLabel({}, parent)
|
||||||
{
|
{
|
||||||
setSizePolicy(QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred, QSizePolicy::Label));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ElidingLabel::ElidingLabel(const QString &text, QWidget *parent)
|
ElidingLabel::ElidingLabel(const QString &text, QWidget *parent)
|
||||||
: QLabel(text, parent), m_elideMode(Qt::ElideRight)
|
: QLabel(text, parent)
|
||||||
{
|
{
|
||||||
setSizePolicy(QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred, QSizePolicy::Label));
|
setElideMode(Qt::ElideRight);
|
||||||
}
|
}
|
||||||
|
|
||||||
Qt::TextElideMode ElidingLabel::elideMode() const
|
Qt::TextElideMode ElidingLabel::elideMode() const
|
||||||
@@ -57,11 +56,23 @@ Qt::TextElideMode ElidingLabel::elideMode() const
|
|||||||
void ElidingLabel::setElideMode(const Qt::TextElideMode &elideMode)
|
void ElidingLabel::setElideMode(const Qt::TextElideMode &elideMode)
|
||||||
{
|
{
|
||||||
m_elideMode = elideMode;
|
m_elideMode = elideMode;
|
||||||
|
if (elideMode == Qt::ElideNone)
|
||||||
|
setToolTip({});
|
||||||
|
|
||||||
|
setSizePolicy(QSizePolicy(
|
||||||
|
m_elideMode == Qt::ElideNone ? QSizePolicy::Preferred : QSizePolicy::Ignored,
|
||||||
|
QSizePolicy::Preferred,
|
||||||
|
QSizePolicy::Label));
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ElidingLabel::paintEvent(QPaintEvent *)
|
void ElidingLabel::paintEvent(QPaintEvent *)
|
||||||
{
|
{
|
||||||
|
if (m_elideMode == Qt::ElideNone) {
|
||||||
|
QLabel::paintEvent(nullptr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const int m = margin();
|
const int m = margin();
|
||||||
QRect contents = contentsRect().adjusted(m, m, -m, -m);
|
QRect contents = contentsRect().adjusted(m, m, -m, -m);
|
||||||
QFontMetrics fm = fontMetrics();
|
QFontMetrics fm = fontMetrics();
|
||||||
|
|||||||
Reference in New Issue
Block a user