diff --git a/src/plugins/coreplugin/outputwindow.cpp b/src/plugins/coreplugin/outputwindow.cpp index fb3df944361..2aeb9399bfc 100644 --- a/src/plugins/coreplugin/outputwindow.cpp +++ b/src/plugins/coreplugin/outputwindow.cpp @@ -155,6 +155,8 @@ OutputWindow::OutputWindow(Context context, const QString &settingsKey, QWidget connect(verticalScrollBar(), &QAbstractSlider::sliderMoved, this, &OutputWindow::updateAutoScroll); + connect(verticalScrollBar(), &QAbstractSlider::sliderReleased, + this, &OutputWindow::updateAutoScroll); undoAction->setEnabled(false); redoAction->setEnabled(false); @@ -449,7 +451,7 @@ void OutputWindow::handleOutputChunk(const QString &output, OutputFormat format) void OutputWindow::updateAutoScroll() { - d->scrollToBottom = isScrollbarAtBottom(); + d->scrollToBottom = verticalScrollBar()->value() >= verticalScrollBar()->maximum() - 1; } void OutputWindow::setMaxCharCount(int count) @@ -473,11 +475,6 @@ void OutputWindow::appendMessage(const QString &output, OutputFormat format) d->queueTimer.start(); } -bool OutputWindow::isScrollbarAtBottom() const -{ - return verticalScrollBar()->value() == verticalScrollBar()->maximum(); -} - QMimeData *OutputWindow::createMimeDataFromSelection() const { const auto mimeData = new QMimeData; diff --git a/src/plugins/coreplugin/outputwindow.h b/src/plugins/coreplugin/outputwindow.h index de951ded952..70b216b08c5 100644 --- a/src/plugins/coreplugin/outputwindow.h +++ b/src/plugins/coreplugin/outputwindow.h @@ -91,7 +91,6 @@ public slots: void setWordWrapEnabled(bool wrap); protected: - bool isScrollbarAtBottom() const; virtual void handleLink(const QPoint &pos); private: