Add column alignment function to RDTreeWidget

This commit is contained in:
baldurk
2017-10-27 12:22:50 +01:00
parent 26d8f296dd
commit 62260a6404
2 changed files with 21 additions and 0 deletions
@@ -222,6 +222,16 @@ public:
font.setBold(item->m_bold);
return font;
}
else if(role == Qt::TextAlignmentRole)
{
if(index.column() < widget->m_alignments.count())
{
Qt::Alignment align = widget->m_alignments[index.column()];
if(align != 0)
return QVariant(align);
}
}
else if(role < 64 && item->m_customData & 1ULL << role)
{
return item->data(index.column(), role);
@@ -588,6 +598,14 @@ void RDTreeWidget::endUpdate()
setUpdatesEnabled(true);
}
void RDTreeWidget::setColumnAlignment(int column, Qt::Alignment align)
{
if(m_alignments.count() <= column)
m_alignments.resize(column + 1);
m_alignments[column] = align;
}
void RDTreeWidget::setColumns(const QStringList &columns)
{
m_headers = columns;
@@ -223,6 +223,7 @@ public:
int topLevelItemCount() const { return m_root->childCount(); }
void beginUpdate();
void endUpdate();
void setColumnAlignment(int column, Qt::Alignment align);
void setColumns(const QStringList &columns);
QString headerText(int column) const { return m_headers[column]; }
@@ -292,6 +293,8 @@ private:
uint64_t m_queuedRoles = 0;
bool m_queuedChildren = false;
QVector<Qt::Alignment> m_alignments;
bool m_instantTooltips = false;
bool m_customCopyPaste = false;
int m_hoverColumn = -1;