ui: Errorview
Tabbed view with errorview as tab
This commit is contained in:
@@ -419,6 +419,12 @@ void QtCodeNavigator::scrollToLine(const FilePath& filePath, unsigned int line)
|
||||
{
|
||||
emit shouldScrollToSnippet(file->getFileSnippet(), line);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_scrollToFile = file;
|
||||
m_scrollToLine = line;
|
||||
scrollToSnippetIfRequested();
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeNavigator::scrollToLocation(QtCodeFile* file, Id locationId, bool scrollTo)
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
#include "qt/element/QtTable.h"
|
||||
|
||||
#include <QResizeEvent>
|
||||
|
||||
QtTable::QtTable(QWidget* parent)
|
||||
: QTableView(parent)
|
||||
, m_rowsToFill(0)
|
||||
{
|
||||
}
|
||||
|
||||
QtTable::~QtTable()
|
||||
{
|
||||
}
|
||||
|
||||
void QtTable::resizeEvent(QResizeEvent* event)
|
||||
{
|
||||
QTableView::resizeEvent(event);
|
||||
int tableHeight = event->size().height();
|
||||
|
||||
if (this->model()->rowCount() == 0)
|
||||
{
|
||||
this->model()->insertRow(0);
|
||||
}
|
||||
|
||||
m_rowsToFill = (float)tableHeight / this->rowHeight(0);
|
||||
|
||||
updateRows();
|
||||
}
|
||||
|
||||
void QtTable::updateRows()
|
||||
{
|
||||
while (model()->rowCount() <= m_rowsToFill)
|
||||
{
|
||||
model()->insertRow(model()->rowCount());
|
||||
}
|
||||
|
||||
while (model()->rowCount() > m_rowsToFill + 1)
|
||||
{
|
||||
int row = model()->rowCount() - 1;
|
||||
if (model()->index(row, 0).data(Qt::DisplayRole).toString().isEmpty())
|
||||
{
|
||||
model()->removeRow(row);
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int QtTable::getFilledRowCount()
|
||||
{
|
||||
for (int i = 0; i < model()->rowCount(); i++)
|
||||
{
|
||||
if (model()->index(i, 0).data(Qt::DisplayRole).toString().isEmpty())
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return model()->rowCount();
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
#ifndef QT_TABLE_H
|
||||
#define QT_TABLE_H
|
||||
|
||||
#include <QTableView>
|
||||
|
||||
class QtTable
|
||||
: public QTableView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QtTable(QWidget* parent = nullptr);
|
||||
virtual ~QtTable();
|
||||
|
||||
void updateRows();
|
||||
int getFilledRowCount();
|
||||
|
||||
protected:
|
||||
virtual void resizeEvent(QResizeEvent* event);
|
||||
|
||||
private:
|
||||
float m_rowsToFill;
|
||||
};
|
||||
|
||||
#endif // QT_TABLE_H
|
||||
Reference in New Issue
Block a user