diff --git a/src/plugins/debugger/qtmessagelogview.cpp b/src/plugins/debugger/qtmessagelogview.cpp index 0029235ea3d697a051761323f84e8f1a774a268a..718fc327cf1b888435bc705eee2a5f9abfa37ec9 100644 --- a/src/plugins/debugger/qtmessagelogview.cpp +++ b/src/plugins/debugger/qtmessagelogview.cpp @@ -47,6 +47,7 @@ #include <QAbstractProxyModel> #include <QFileInfo> #include <QUrl> +#include <QScrollBar> namespace Debugger { namespace Internal { @@ -115,6 +116,13 @@ QtMessageLogView::QtMessageLogView(QWidget *parent) : SLOT(onRowActivated(QModelIndex))); } +void QtMessageLogView::onScrollToBottom() +{ + //Keep scrolling to bottom if scroll bar is at maximum() + if (verticalScrollBar()->value() == verticalScrollBar()->maximum()) + scrollToBottom(); +} + void QtMessageLogView::mousePressEvent(QMouseEvent *event) { QPoint pos = event->pos(); diff --git a/src/plugins/debugger/qtmessagelogview.h b/src/plugins/debugger/qtmessagelogview.h index 103d6ff19dfa15a0d8f028457782016152e7eeea..9b0afc285d8e5462ad1d50b08478b3c6483bb35a 100644 --- a/src/plugins/debugger/qtmessagelogview.h +++ b/src/plugins/debugger/qtmessagelogview.h @@ -44,6 +44,9 @@ class QtMessageLogView : public QTreeView public: explicit QtMessageLogView(QWidget *parent = 0); +public slots: + void onScrollToBottom(); + protected: void mousePressEvent(QMouseEvent *event); void keyPressEvent(QKeyEvent *e); diff --git a/src/plugins/debugger/qtmessagelogwindow.cpp b/src/plugins/debugger/qtmessagelogwindow.cpp index e54ccae8ab29ca01a2d3991fac5dfeae242db55a..58da0805114a8a18570fbed8b224ed3acc358f8e 100644 --- a/src/plugins/debugger/qtmessagelogwindow.cpp +++ b/src/plugins/debugger/qtmessagelogwindow.cpp @@ -159,7 +159,7 @@ QtMessageLogWindow::QtMessageLogWindow(QWidget *parent) connect(m_proxyModel, SIGNAL(scrollToBottom()), m_treeView, - SLOT(scrollToBottom())); + SLOT(onScrollToBottom())); m_itemDelegate = new QtMessageLogItemDelegate(this); connect(m_treeView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),