Commit 7dd8812f authored by Christoph Cullmann's avatar Christoph Cullmann 🐮
Browse files

ensure output view scrolls correctly

before, we might miss to scroll to make really the last line of the
output visible, that is confusing
parent aa4caf8a
...@@ -314,8 +314,10 @@ void KateOutputView::slotMessage(const QVariantMap &message) ...@@ -314,8 +314,10 @@ void KateOutputView::slotMessage(const QVariantMap &message)
const auto textLines = text.split(QLatin1Char('\n')); const auto textLines = text.split(QLatin1Char('\n'));
Q_ASSERT(!textLines.empty()); Q_ASSERT(!textLines.empty());
auto bodyColumn = new QStandardItem(textLines.at(0)); auto bodyColumn = new QStandardItem(textLines.at(0));
auto lastItemForScrolling = bodyColumn;
for (int i = 1; i < textLines.size(); ++i) { for (int i = 1; i < textLines.size(); ++i) {
dateTimeColumn->appendRow({new QStandardItem(), new QStandardItem(), new QStandardItem(), new QStandardItem(textLines.at(i))}); lastItemForScrolling = new QStandardItem(textLines.at(i));
dateTimeColumn->appendRow({new QStandardItem(), new QStandardItem(), new QStandardItem(), lastItemForScrolling});
} }
/** /**
...@@ -324,10 +326,9 @@ void KateOutputView::slotMessage(const QVariantMap &message) ...@@ -324,10 +326,9 @@ void KateOutputView::slotMessage(const QVariantMap &message)
m_messagesModel.appendRow({dateTimeColumn, categoryColumn, typeColumn, bodyColumn}); m_messagesModel.appendRow({dateTimeColumn, categoryColumn, typeColumn, bodyColumn});
/** /**
* expand the new thingy and make it visible * expand the new thingy
*/ */
m_messagesTreeView->expand(m_proxyModel->mapFromSource(dateTimeColumn->index())); m_messagesTreeView->expand(m_proxyModel->mapFromSource(dateTimeColumn->index()));
m_messagesTreeView->scrollTo(m_proxyModel->mapFromSource(dateTimeColumn->index()));
/** /**
* ensure correct sizing * ensure correct sizing
...@@ -337,6 +338,11 @@ void KateOutputView::slotMessage(const QVariantMap &message) ...@@ -337,6 +338,11 @@ void KateOutputView::slotMessage(const QVariantMap &message)
m_messagesTreeView->resizeColumnToContents(1); m_messagesTreeView->resizeColumnToContents(1);
m_messagesTreeView->resizeColumnToContents(2); m_messagesTreeView->resizeColumnToContents(2);
/**
* ensure last item is visible
*/
m_messagesTreeView->scrollTo(m_proxyModel->mapFromSource(lastItemForScrolling->index()));
/** /**
* if message requires it => show the tool view if hidden * if message requires it => show the tool view if hidden
*/ */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment