diff options
author | Catalin Badea <catalin.badea392@gmail.com> | 2012-08-01 10:55:21 (GMT) |
---|---|---|
committer | Cătălin Badea <catalin.badea392@gmail.com> | 2012-08-11 15:59:13 (GMT) |
commit | f4a053500a27468c67c17531cb9f3b8d35880678 (patch) | |
tree | 16a1a9f520a38a67f07e80ba52f07b25224a0a1c /Swift/QtUI/QtChatView.cpp | |
parent | 40cd350c6ecab5167fdfc2dc2260aa410946b7cf (diff) | |
download | swift-contrib-f4a053500a27468c67c17531cb9f3b8d35880678.zip swift-contrib-f4a053500a27468c67c17531cb9f3b8d35880678.tar.bz2 |
Fix javascript autoscrolling.
Diffstat (limited to 'Swift/QtUI/QtChatView.cpp')
-rw-r--r-- | Swift/QtUI/QtChatView.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Swift/QtUI/QtChatView.cpp b/Swift/QtUI/QtChatView.cpp index 3ad957c..f6250bc 100644 --- a/Swift/QtUI/QtChatView.cpp +++ b/Swift/QtUI/QtChatView.cpp @@ -28,7 +28,7 @@ namespace Swift { -QtChatView::QtChatView(QtChatTheme* theme, QWidget* parent) : QWidget(parent), fontSizeSteps_(0) { +QtChatView::QtChatView(QtChatTheme* theme, QWidget* parent, bool disableAutoScroll) : QWidget(parent), fontSizeSteps_(0) { theme_ = theme; QVBoxLayout* mainLayout = new QVBoxLayout(this); @@ -66,6 +66,10 @@ QtChatView::QtChatView(QtChatTheme* theme, QWidget* parent) : QWidget(parent), f viewReady_ = false; isAtBottom_ = true; resetView(); + + if (disableAutoScroll) { + webPage_->mainFrame()->evaluateJavaScript("var disableAutoScroll = true;"); + } } void QtChatView::handleClearRequested() { @@ -360,6 +364,8 @@ void QtChatView::resetView() { chatElement.appendInside(newInsertPoint_); Q_ASSERT(!newInsertPoint_.isNull()); + scrollToBottom(); + connect(webPage_->mainFrame(), SIGNAL(contentsSizeChanged(const QSize&)), this, SLOT(handleFrameSizeChanged()), Qt::UniqueConnection); } |