+ _lastScrollbarPos = newPos;
+}
+
+MsgId ChatView::lastMsgId() const {
+ if(!scene())
+ return MsgId();
+
+ QAbstractItemModel *model = scene()->model();
+ if(!model || model->rowCount() == 0)
+ return MsgId();
+
+ return model->data(model->index(model->rowCount() - 1, 0), MessageModel::MsgIdRole).value<MsgId>();
+}
+
+void ChatView::zoomIn() {
+ _currentScaleFactor *= 1.2;
+ scale(1.2, 1.2);
+ scene()->setWidth(viewport()->width() / _currentScaleFactor - 2);
+}
+
+void ChatView::zoomOut() {
+ _currentScaleFactor /= 1.2;
+ scale(1 / 1.2, 1 / 1.2);
+ scene()->setWidth(viewport()->width() / _currentScaleFactor - 2);
+}
+
+void ChatView::zoomNormal() {
+ scale(1/_currentScaleFactor, 1/_currentScaleFactor);
+ _currentScaleFactor = 1;
+ scene()->setWidth(viewport()->width() - 2);