projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Test our newly acquired shortcut capabilities by finally allowing Ctrl+F to trigger...
[quassel.git]
/
src
/
qtui
/
chatscene.cpp
diff --git
a/src/qtui/chatscene.cpp
b/src/qtui/chatscene.cpp
index
f9f7b17
..
c3a07b1
100644
(file)
--- a/
src/qtui/chatscene.cpp
+++ b/
src/qtui/chatscene.cpp
@@
-32,6
+32,7
@@
#include "columnhandleitem.h"
#include "messagefilter.h"
#include "qtui.h"
#include "columnhandleitem.h"
#include "messagefilter.h"
#include "qtui.h"
+#include "qtuistyle.h"
#include "chatviewsettings.h"
const qreal minContentsWidth = 200;
#include "chatviewsettings.h"
const qreal minContentsWidth = 200;
@@
-41,6
+42,7
@@
ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal w
_idString(idString),
_model(model),
_singleBufferScene(false),
_idString(idString),
_model(model),
_singleBufferScene(false),
+ _sceneRect(0, 0, width, 0),
_selectingItem(0),
_selectionStart(-1),
_isSelecting(false),
_selectingItem(0),
_selectionStart(-1),
_isSelecting(false),
@@
-88,8
+90,8
@@
ChatScene::~ChatScene() {
void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) {
Q_UNUSED(index);
qreal h = 0;
void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) {
Q_UNUSED(index);
qreal h = 0;
- qreal y =
sceneRect()
.y();
- qreal width =
sceneRect()
.width();
+ qreal y =
_sceneRect
.y();
+ qreal width =
_sceneRect
.width();
bool atTop = true;
bool atBottom = false;
bool moveTop = false;
bool atTop = true;
bool atBottom = false;
bool moveTop = false;
@@
-151,12
+153,12
@@
void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) {
line->setPos(0, line->pos().y() + offset);
}
}
line->setPos(0, line->pos().y() + offset);
}
}
-
+
// update sceneRect
if(atTop || moveTop) {
// update sceneRect
if(atTop || moveTop) {
-
setSceneRect(sceneRect()
.adjusted(0, h, 0, 0));
+
updateSceneRect(_sceneRect
.adjusted(0, h, 0, 0));
} else {
} else {
-
setSceneRect(sceneRect()
.adjusted(0, 0, 0, h));
+
updateSceneRect(_sceneRect
.adjusted(0, 0, 0, h));
emit sceneHeightChanged(h);
}
emit sceneHeightChanged(h);
}
@@
-222,20
+224,19
@@
void ChatScene::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int e
// update sceneRect
if(atTop || moveTop) {
// update sceneRect
if(atTop || moveTop) {
-
setSceneRect(sceneRect()
.adjusted(0, h, 0, 0));
+
updateSceneRect(_sceneRect
.adjusted(0, h, 0, 0));
} else {
} else {
-
setSceneRect(sceneRect()
.adjusted(0, 0, 0, -h));
+
updateSceneRect(_sceneRect
.adjusted(0, 0, 0, -h));
}
}
-
}
void ChatScene::setWidth(qreal width, bool forceReposition) {
}
void ChatScene::setWidth(qreal width, bool forceReposition) {
- if(width ==
sceneRect()
.width() && !forceReposition)
+ if(width ==
_sceneRect
.width() && !forceReposition)
return;
// clock_t startT = clock();
return;
// clock_t startT = clock();
- qreal oldHeight =
sceneRect()
.height();
- qreal y =
sceneRect()
.y();
+ qreal oldHeight =
_sceneRect
.height();
+ qreal y =
_sceneRect
.y();
qreal linePos = y;
foreach(ChatLine *line, _lines) {
qreal linePos = y;
foreach(ChatLine *line, _lines) {
@@
-245,7
+246,7
@@
void ChatScene::setWidth(qreal width, bool forceReposition) {
qreal height = linePos - y;
qreal height = linePos - y;
-
set
SceneRect(QRectF(0, y, width, height));
+
update
SceneRect(QRectF(0, y, width, height));
setHandleXLimits();
qreal dh = height - oldHeight;
setHandleXLimits();
qreal dh = height - oldHeight;
@@
-434,3
+435,8
@@
int ChatScene::sectionByScenePos(int x) {
return ChatLineModel::ContentsColumn;
}
return ChatLineModel::ContentsColumn;
}
+
+void ChatScene::updateSceneRect(const QRectF &rect) {
+ _sceneRect = rect;
+ setSceneRect(rect);
+}