projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #132 from mamarley/md5corecertfix
[quassel.git]
/
src
/
qtui
/
chatview.cpp
diff --git
a/src/qtui/chatview.cpp
b/src/qtui/chatview.cpp
index
17dc074
..
7197a24
100644
(file)
--- a/
src/qtui/chatview.cpp
+++ b/
src/qtui/chatview.cpp
@@
-1,5
+1,5
@@
/***************************************************************************
/***************************************************************************
- * Copyright (C) 2005-201
3
by the Quassel Project *
+ * Copyright (C) 2005-201
5
by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
@@
-80,7
+80,7
@@
void ChatView::init(MessageFilter *filter)
setScene(_scene);
connect(verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(verticalScrollbarChanged(int)));
setScene(_scene);
connect(verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(verticalScrollbarChanged(int)));
- _lastScrollbarPos = verticalScrollBar()->
value
();
+ _lastScrollbarPos = verticalScrollBar()->
maximum
();
connect(Client::networkModel(), SIGNAL(markerLineSet(BufferId, MsgId)), SLOT(markerLineSet(BufferId, MsgId)));
connect(Client::networkModel(), SIGNAL(markerLineSet(BufferId, MsgId)), SLOT(markerLineSet(BufferId, MsgId)));
@@
-126,18
+126,26
@@
bool ChatView::event(QEvent *event)
void ChatView::resizeEvent(QResizeEvent *event)
{
void ChatView::resizeEvent(QResizeEvent *event)
{
+ // if view is currently scrolled to bottom, we want it that way after resizing
+ bool atBottom = (_lastScrollbarPos == verticalScrollBar()->maximum());
+
QGraphicsView::resizeEvent(event);
QGraphicsView::resizeEvent(event);
- // FIXME: do we really need to scroll down on resize?
+ // if scrolling to bottom, do it immediately.
+ if(atBottom)
+ {
+ // we can reduce viewport updates if we scroll to the bottom allready at the beginning
+ verticalScrollBar()->setValue(verticalScrollBar()->maximum());
+ }
- // we can reduce viewport updates if we scroll to the bottom allready at the beginning
- verticalScrollBar()->setValue(verticalScrollBar()->maximum());
scene()->updateForViewport(viewport()->width(), viewport()->height());
adjustSceneRect();
scene()->updateForViewport(viewport()->width(), viewport()->height());
adjustSceneRect();
- _lastScrollbarPos = verticalScrollBar()->maximum();
- verticalScrollBar()->setValue(verticalScrollBar()->maximum());
-
+ if(atBottom)
+ {
+ _lastScrollbarPos = verticalScrollBar()->maximum();
+ verticalScrollBar()->setValue(verticalScrollBar()->maximum());
+ }
checkChatLineCaches();
}
checkChatLineCaches();
}