diff --git a/bin/app/data/gui/tabbed_view/arrow_down.png b/bin/app/data/gui/tabbed_view/arrow_down.png new file mode 100644 index 00000000..1c5e7a66 Binary files /dev/null and b/bin/app/data/gui/tabbed_view/arrow_down.png differ diff --git a/bin/app/data/gui/tabbed_view/arrow_up.png b/bin/app/data/gui/tabbed_view/arrow_up.png new file mode 100644 index 00000000..4a68302f Binary files /dev/null and b/bin/app/data/gui/tabbed_view/arrow_up.png differ diff --git a/bin/app/data/gui/tabbed_view/tabbed_view.css b/bin/app/data/gui/tabbed_view/tabbed_view.css index b73eadcc..2779d9b9 100644 --- a/bin/app/data/gui/tabbed_view/tabbed_view.css +++ b/bin/app/data/gui/tabbed_view/tabbed_view.css @@ -8,8 +8,6 @@ QTabBar::tab { padding: 12px 75px 5px 12px; border: 0px; border-bottom: 4px solid ; - /*font-size: px;*/ - /*font-weight: bold;*/ } QTabBar::tab:hover { @@ -60,6 +58,14 @@ QHeaderView { background-color: transparent; } +QHeaderView::up-arrow { + image: url(tabbed_view/arrow_up.png); +} + +QHeaderView::down-arrow { + image: url(tabbed_view/arrow_down.png); +} + QHeaderView::section:horizontal { background-color: transparent; border: none; diff --git a/src/lib_gui/qt/element/QtTable.cpp b/src/lib_gui/qt/element/QtTable.cpp index 0a4e06ce..1f5888bb 100644 --- a/src/lib_gui/qt/element/QtTable.cpp +++ b/src/lib_gui/qt/element/QtTable.cpp @@ -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); diff --git a/src/lib_gui/qt/element/QtTable.h b/src/lib_gui/qt/element/QtTable.h index 61ddafdc..a9ff8917 100644 --- a/src/lib_gui/qt/element/QtTable.h +++ b/src/lib_gui/qt/element/QtTable.h @@ -13,7 +13,6 @@ public: virtual ~QtTable(); void updateRows(); - void setTableModel(QAbstractItemModel* model); int getFilledRowCount(); void showFirstRow(); diff --git a/src/lib_gui/qt/view/QtErrorView.cpp b/src/lib_gui/qt/view/QtErrorView.cpp index ebaf22b0..3a8a2a98 100644 --- a/src/lib_gui/qt/view/QtErrorView.cpp +++ b/src/lib_gui/qt/view/QtErrorView.cpp @@ -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) diff --git a/src/lib_gui/qt/view/QtErrorView.h b/src/lib_gui/qt/view/QtErrorView.h index 97abd806..d80fcf58 100644 --- a/src/lib_gui/qt/view/QtErrorView.h +++ b/src/lib_gui/qt/view/QtErrorView.h @@ -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;