m_automaticColumnResizing(true),
m_model(nullptr),
m_offset(0),
- m_leadingPadding(0),
+ m_sidePadding(0),
m_columns(),
m_columnWidths(),
m_preferredColumnWidths(),
m_movingRole.index = -1;
setAcceptHoverEvents(true);
+ // TODO update when font changes at runtime
+ setFont(QApplication::font("QHeaderView"));
}
KItemListHeaderWidget::~KItemListHeaderWidget()
return m_offset;
}
-void KItemListHeaderWidget::setLeadingPadding(qreal width)
+void KItemListHeaderWidget::setSidePadding(qreal width)
{
- if (m_leadingPadding != width) {
- m_leadingPadding = width;
- leadingPaddingChanged(width);
+ if (m_sidePadding != width) {
+ m_sidePadding = width;
+ sidePaddingChanged(width);
update();
}
}
-qreal KItemListHeaderWidget::leadingPadding() const
+qreal KItemListHeaderWidget::sidePadding() const
{
- return m_leadingPadding;
+ return m_sidePadding;
}
qreal KItemListHeaderWidget::minimumColumnWidth() const
painter->setFont(font());
painter->setPen(palette().text().color());
- qreal x = -m_offset + m_leadingPadding;
+ qreal x = -m_offset + m_sidePadding;
int orderIndex = 0;
for (const QByteArray& role : qAsConst(m_columns)) {
const qreal roleWidth = m_columnWidths.value(role);
if (event->button() & Qt::LeftButton) {
m_pressedMousePos = event->pos();
if (isAbovePaddingGrip(m_pressedMousePos, PaddingGrip::Leading)) {
- m_roleOperation = ResizeLeadingColumnOperation;
+ m_roleOperation = ResizePaddingColumnOperation;
} else {
updatePressedRoleIndex(event->pos());
m_roleOperation = isAboveRoleGrip(m_pressedMousePos, m_pressedRoleIndex) ?
} else {
m_movingRole.pixmap = createRolePixmap(roleIndex);
- qreal roleX = -m_offset + m_leadingPadding;
+ qreal roleX = -m_offset + m_sidePadding;
for (int i = 0; i < roleIndex; ++i) {
const QByteArray role = m_columns[i];
roleX += m_columnWidths.value(role);
break;
}
- case ResizeLeadingColumnOperation: {
- qreal currentWidth = m_leadingPadding;
+ case ResizePaddingColumnOperation: {
+ qreal currentWidth = m_sidePadding;
currentWidth += event->pos().x() - event->lastPos().x();
currentWidth = qMax(0.0, currentWidth);
- m_leadingPadding = currentWidth;
+ m_sidePadding = currentWidth;
update();
- Q_EMIT leadingPaddingChanged(currentWidth);
+ Q_EMIT sidePaddingChanged(currentWidth);
break;
}
{
int index = -1;
- qreal x = -m_offset + m_leadingPadding;
+ qreal x = -m_offset + m_sidePadding;
for (const QByteArray& role : qAsConst(m_columns)) {
++index;
x += m_columnWidths.value(role);
bool KItemListHeaderWidget::isAboveRoleGrip(const QPointF& pos, int roleIndex) const
{
- qreal x = -m_offset + m_leadingPadding;
+ qreal x = -m_offset + m_sidePadding;
for (int i = 0; i <= roleIndex; ++i) {
const QByteArray role = m_columns[i];
x += m_columnWidths.value(role);
bool KItemListHeaderWidget::isAbovePaddingGrip(const QPointF& pos, PaddingGrip paddingGrip) const
{
- const qreal lx = -m_offset + m_leadingPadding;
+ const qreal lx = -m_offset + m_sidePadding;
const int grip = style()->pixelMetric(QStyle::PM_HeaderGripMargin);
switch (paddingGrip) {
const int movingRight = movingLeft + movingWidth - 1;
int targetIndex = 0;
- qreal targetLeft = -m_offset + m_leadingPadding;
+ qreal targetLeft = -m_offset + m_sidePadding;
while (targetIndex < m_columns.count()) {
const QByteArray role = m_columns[targetIndex];
const qreal targetWidth = m_columnWidths.value(role);
qreal KItemListHeaderWidget::roleXPosition(const QByteArray& role) const
{
- qreal x = -m_offset + m_leadingPadding;
+ qreal x = -m_offset + m_sidePadding;
for (const QByteArray& visibleRole : qAsConst(m_columns)) {
if (visibleRole == role) {
return x;