diff options
Diffstat (limited to 'utils/regtools/qeditor/utils.cpp')
| -rw-r--r-- | utils/regtools/qeditor/utils.cpp | 48 |
1 files changed, 27 insertions, 21 deletions
diff --git a/utils/regtools/qeditor/utils.cpp b/utils/regtools/qeditor/utils.cpp index 036f159..448ed92 100644 --- a/utils/regtools/qeditor/utils.cpp +++ b/utils/regtools/qeditor/utils.cpp @@ -331,7 +331,22 @@ QString SocFieldCachedItemDelegate::displayText(const QVariant& value, const QLo { const SocFieldCachedValue& v = value.value< SocFieldCachedValue >(); int bitcount = v.field().last_bit - v.field().first_bit; - return QString("0x%1").arg(v.value(), (bitcount + 3) / 4, 16, QChar('0')); + QString name = v.value_name(); + QString strval = QString("0x%1").arg(v.value(), (bitcount + 3) / 4, 16, QChar('0')); + switch(m_mode) + { + case DisplayName: + if(name.size() > 0) + return name; + /* fallthrough */ + case DisplayValueAndName: + if(name.size() > 0) + return QString("%1 (%2)").arg(strval).arg(name); + /* fallthrough */ + case DisplayValue: + default: + return strval; + } } else return QStyledItemDelegate::displayText(value, locale); @@ -528,34 +543,25 @@ void RegSexyDisplay::paintEvent(QPaintEvent *event) } /** - * GrowingTextEdit + * GrowingTableView */ -GrowingTextEdit::GrowingTextEdit(QWidget *parent) - :QTextEdit(parent) -{ - connect(this, SIGNAL(textChanged()), this, SLOT(TextChanged())); - setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); - setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); -} - -void GrowingTextEdit::TextChanged() +GrowingTableView::GrowingTableView(QWidget *parent) + :QTableView(parent) { - int content_size = document()->documentLayout()->documentSize().height(); - content_size = qMax(content_size, fontMetrics().height()); - setFixedHeight(content_size + contentsMargins().top() + contentsMargins().bottom()); } -/** - * GrowingTableWidget - */ -GrowingTableWidget::GrowingTableWidget(QWidget *parent) - :QTableWidget(parent) +void GrowingTableView::setModel(QAbstractItemModel *m) { + if(model()) + disconnect(model(), SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)), + this, SLOT(DataChanged(const QModelIndex&, const QModelIndex&))); + QTableView::setModel(m); connect(model(), SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)), this, SLOT(DataChanged(const QModelIndex&, const QModelIndex&))); + DataChanged(QModelIndex(), QModelIndex()); } -void GrowingTableWidget::DataChanged(const QModelIndex& tl, const QModelIndex& br) +void GrowingTableView::DataChanged(const QModelIndex& tl, const QModelIndex& br) { Q_UNUSED(tl); Q_UNUSED(br); @@ -563,7 +569,7 @@ void GrowingTableWidget::DataChanged(const QModelIndex& tl, const QModelIndex& b resizeColumnsToContents(); int h = contentsMargins().top() + contentsMargins().bottom(); h += horizontalHeader()->height(); - for(int i = 0; i < rowCount(); i++) + for(int i = 0; i < model()->rowCount(); i++) h += rowHeight(i); setMinimumHeight(h); } |