pgstep.diff
src/qtui/chatview.cpp | ||
---|---|---|
208 | 208 |
} |
209 | 209 | |
210 | 210 | |
211 |
void ChatView::setPageStep() |
|
212 |
{ |
|
213 |
auto line = _scene->chatItemAt(QPointF(0, 0)); |
|
214 |
if (line) { |
|
215 |
qreal line_height = line->height(); |
|
216 |
int viewport_height = viewport()->size().height(); |
|
217 |
int context = 2; |
|
218 | ||
219 |
verticalScrollBar()->setPageStep(viewport_height - context * line_height); |
|
220 |
} |
|
221 |
} |
|
222 | ||
223 | ||
211 | 224 |
void ChatView::mouseMoveWhileSelecting(const QPointF &scenePos) |
212 | 225 |
{ |
213 | 226 |
int y = (int)mapFromScene(scenePos).y(); |
... | ... | |
394 | 407 |
_currentScaleFactor *= 1.2; |
395 | 408 |
scale(1.2, 1.2); |
396 | 409 |
scene()->setWidth(viewport()->width() / _currentScaleFactor - 2); |
410 | ||
411 |
setPageStep(); |
|
397 | 412 |
} |
398 | 413 | |
399 | 414 | |
... | ... | |
402 | 417 |
_currentScaleFactor /= 1.2; |
403 | 418 |
scale(1 / 1.2, 1 / 1.2); |
404 | 419 |
scene()->setWidth(viewport()->width() / _currentScaleFactor - 2); |
420 | ||
421 |
setPageStep(); |
|
405 | 422 |
} |
406 | 423 | |
407 | 424 | |
... | ... | |
410 | 427 |
scale(1/_currentScaleFactor, 1/_currentScaleFactor); |
411 | 428 |
_currentScaleFactor = 1; |
412 | 429 |
scene()->setWidth(viewport()->width() - 2); |
430 | ||
431 |
setPageStep(); |
|
413 | 432 |
} |
414 | 433 | |
415 | 434 |
src/qtui/chatview.h | ||
---|---|---|
96 | 96 | |
97 | 97 |
protected slots: |
98 | 98 |
virtual void verticalScrollbarChanged(int); |
99 |
void setPageStep(); |
|
99 | 100 | |
100 | 101 |
private slots: |
101 | 102 |
void lastLineChanged(QGraphicsItem *chatLine, qreal offset); |