ui: errorview readonly cells

no more editing the errors
This commit is contained in:
Andreas Stallinger
2016-10-31 15:17:33 +01:00
parent 4df89a18f3
commit 8445e705f6
+22
View File
@@ -5,9 +5,11 @@
#include <QFrame>
#include <QHeaderView>
#include <QItemSelectionModel>
#include <QLineEdit>
#include <QPalette>
#include <QStandardItemModel>
#include <QStandardItem>
#include <QStyledItemDelegate>
#include "qt/utility/utilityQt.h"
#include "qt/element/QtTable.h"
@@ -19,6 +21,25 @@
#include "qt/view/QtViewWidgetWrapper.h"
class SelectableDelegate : public QStyledItemDelegate
{
QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
};
QWidget* SelectableDelegate::createEditor(
QWidget* parent,
const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
QWidget* editor = QStyledItemDelegate::createEditor(parent, option, index);
QLineEdit* lineEdit = dynamic_cast<QLineEdit*>(editor);
if (lineEdit != nullptr)
{
lineEdit->setReadOnly(true);
}
return editor;
}
QtErrorView::QtErrorView(ViewLayout* viewLayout)
: ErrorView(viewLayout)
, m_clearFunctor(std::bind(&QtErrorView::doClear, this))
@@ -50,6 +71,7 @@ void QtErrorView::initView()
m_table = new QtTable(this);
m_model = new QStandardItemModel(this);
m_table->setModel(m_model);
m_table->setItemDelegate(new SelectableDelegate());
// Setup Table Headers
m_model->setColumnCount(6);