ui: Added sorting feature to error table columns (issue #559)
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
@@ -8,8 +8,6 @@ QTabBar::tab {
|
||||
padding: 12px 75px 5px 12px;
|
||||
border: 0px;
|
||||
border-bottom: 4px solid <color:tab/background>;
|
||||
/*font-size: <setting:font_size>px;*/
|
||||
/*font-weight: bold;*/
|
||||
}
|
||||
|
||||
QTabBar::tab:hover {
|
||||
@@ -60,6 +58,14 @@ QHeaderView {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
QHeaderView::up-arrow {
|
||||
image: url(<setting:gui_path>tabbed_view/arrow_up.png);
|
||||
}
|
||||
|
||||
QHeaderView::down-arrow {
|
||||
image: url(<setting:gui_path>tabbed_view/arrow_down.png);
|
||||
}
|
||||
|
||||
QHeaderView::section:horizontal {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
|
||||
@@ -45,7 +45,7 @@ QtTable::QtTable(QWidget* parent)
|
||||
setShowGrid(false);
|
||||
setMouseTracking(true);
|
||||
|
||||
this->setItemDelegate(new SelectableCellDelegate(this));
|
||||
setItemDelegate(new SelectableCellDelegate(this));
|
||||
|
||||
verticalHeader()->sectionResizeMode(QHeaderView::Fixed);
|
||||
verticalHeader()->setDefaultAlignment(Qt::AlignRight);
|
||||
|
||||
@@ -13,7 +13,6 @@ public:
|
||||
virtual ~QtTable();
|
||||
|
||||
void updateRows();
|
||||
void setTableModel(QAbstractItemModel* model);
|
||||
int getFilledRowCount();
|
||||
|
||||
void showFirstRow();
|
||||
|
||||
@@ -80,19 +80,20 @@ void QtErrorView::initView()
|
||||
|
||||
m_table = new QtTable(this);
|
||||
m_model = new QStandardItemModel(this);
|
||||
m_table->setSortingEnabled(true);
|
||||
m_table->setModel(m_model);
|
||||
m_table->setItemDelegate(new SelectableDelegate(m_table));
|
||||
|
||||
// Setup Table Headers
|
||||
m_model->setColumnCount(COLUMN_MAX + 1);
|
||||
m_table->setColumnWidth(COLUMN::ID, 40);
|
||||
m_table->setColumnWidth(COLUMN::TYPE, 80);
|
||||
m_table->setColumnWidth(COLUMN::MESSAGE, 450);
|
||||
m_table->setColumnWidth(COLUMN::FILE, 300);
|
||||
m_table->setColumnWidth(COLUMN::LINE, 50);
|
||||
m_table->setColumnHidden(COLUMN::ID, true);
|
||||
|
||||
QStringList headers;
|
||||
headers << "Type" << "Message" << "File" << "Line" << "Indexed";
|
||||
headers << "ID" << "Type" << "Message" << "File" << "Line" << "Indexed";
|
||||
m_model->setHorizontalHeaderLabels(headers);
|
||||
|
||||
connect(m_table->selectionModel(), &QItemSelectionModel::currentRowChanged,
|
||||
@@ -323,6 +324,10 @@ void QtErrorView::addErrorToTable(const ErrorInfo& error)
|
||||
m_model->insertRow(rowNumber);
|
||||
}
|
||||
|
||||
QStandardItem *item = new QStandardItem();
|
||||
item->setData(QVariant(qlonglong(error.id)), Qt::DisplayRole);
|
||||
m_model->setItem(rowNumber, COLUMN::ID, item);
|
||||
|
||||
m_model->setItem(rowNumber, COLUMN::TYPE, new QStandardItem(error.fatal ? "FATAL" : "ERROR"));
|
||||
if (error.fatal)
|
||||
{
|
||||
@@ -335,11 +340,11 @@ void QtErrorView::addErrorToTable(const ErrorInfo& error)
|
||||
m_model->setItem(rowNumber, COLUMN::FILE, new QStandardItem(QString::fromStdWString(error.filePath)));
|
||||
m_model->item(rowNumber, COLUMN::FILE)->setToolTip(QString::fromStdWString(error.filePath));
|
||||
|
||||
m_model->setItem(rowNumber, COLUMN::LINE, new QStandardItem(QString::number(error.lineNumber)));
|
||||
item = new QStandardItem();
|
||||
item->setData(QVariant(error.lineNumber), Qt::DisplayRole);
|
||||
m_model->setItem(rowNumber, COLUMN::LINE, item);
|
||||
|
||||
m_model->setItem(rowNumber, COLUMN::INDEXED, new QStandardItem(error.indexed ? "yes" : "no"));
|
||||
|
||||
m_model->setItem(rowNumber, COLUMN::ID, new QStandardItem(QString::number(error.id)));
|
||||
}
|
||||
|
||||
QCheckBox* QtErrorView::createFilterCheckbox(const QString& name, bool checked, QBoxLayout* layout)
|
||||
|
||||
@@ -46,13 +46,13 @@ private slots:
|
||||
|
||||
private:
|
||||
enum COLUMN {
|
||||
TYPE = 0,
|
||||
MESSAGE = 1,
|
||||
FILE = 2,
|
||||
LINE = 3,
|
||||
INDEXED = 4,
|
||||
ID = 5,
|
||||
COLUMN_MAX = ID
|
||||
ID = 0,
|
||||
TYPE = 1,
|
||||
MESSAGE = 2,
|
||||
FILE = 3,
|
||||
LINE = 4,
|
||||
INDEXED = 5,
|
||||
COLUMN_MAX = INDEXED
|
||||
};
|
||||
|
||||
void setStyleSheet() const;
|
||||
|
||||
Reference in New Issue
Block a user