X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fchatscene.cpp;h=b2b1a35ec81c88edb4c427b040ca03d3b61c96df;hb=d89f4d9cdbc167112e64fca1931e81bc27d17319;hp=4e6b766d12feee96c67b8f4b8c4d67854f226d10;hpb=39328183a6a87c6eb10a9dbbffcd5d65bf154a1f;p=quassel.git diff --git a/src/qtui/chatscene.cpp b/src/qtui/chatscene.cpp index 4e6b766d..b2b1a35e 100644 --- a/src/qtui/chatscene.cpp +++ b/src/qtui/chatscene.cpp @@ -20,6 +20,8 @@ #include "chatscene.h" +#include + #include #include #include @@ -56,10 +58,10 @@ const qreal minContentsWidth = 200; -ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal width, ChatView *parent) +ChatScene::ChatScene(QAbstractItemModel *model, QString idString, qreal width, ChatView *parent) : QGraphicsScene(0, 0, width, 0, (QObject *)parent), _chatView(parent), - _idString(idString), + _idString(std::move(idString)), _model(model), _singleBufferId(BufferId()), _sceneRect(0, 0, width, 0), @@ -78,7 +80,7 @@ ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal w _clickHandled(true), _leftButtonPressed(false) { - MessageFilter *filter = qobject_cast(model); + auto *filter = qobject_cast(model); if (filter && filter->isSingleBufferFilter()) { _singleBufferId = filter->singleBufferId(); } @@ -145,11 +147,6 @@ ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal w } -ChatScene::~ChatScene() -{ -} - - ChatView *ChatScene::chatView() const { return _chatView; @@ -188,7 +185,7 @@ ChatLine *ChatScene::chatLine(MsgId msgId, bool matchExact, bool ignoreDayChange QList::ConstIterator end = _lines.end(); QList::ConstIterator middle; - int n = int(end - start); + auto n = int(end - start); int half; while (n > 0) { @@ -241,7 +238,7 @@ ChatLine *ChatScene::chatLine(MsgId msgId, bool matchExact, bool ignoreDayChange ChatItem *ChatScene::chatItemAt(const QPointF &scenePos) const { foreach(QGraphicsItem *item, items(scenePos, Qt::IntersectsItemBoundingRect, Qt::AscendingOrder)) { - ChatLine *line = qgraphicsitem_cast(item); + auto *line = qgraphicsitem_cast(item); if (line) return line->itemAt(line->mapFromScene(scenePos)); } @@ -251,7 +248,7 @@ ChatItem *ChatScene::chatItemAt(const QPointF &scenePos) const bool ChatScene::containsBuffer(const BufferId &id) const { - MessageFilter *filter = qobject_cast(model()); + auto *filter = qobject_cast(model()); if (filter) return filter->containsBuffer(id); else @@ -373,7 +370,7 @@ void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) if (atTop) { for (int i = end; i >= start; i--) { - ChatLine *line = new ChatLine(i, model(), + auto *line = new ChatLine(i, model(), width, timestampWidth, senderWidth, contentsWidth, senderPos, contentsPos); @@ -385,7 +382,7 @@ void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) } else { for (int i = start; i <= end; i++) { - ChatLine *line = new ChatLine(i, model(), + auto *line = new ChatLine(i, model(), width, timestampWidth, senderWidth, contentsWidth, senderPos, contentsPos); @@ -738,8 +735,8 @@ void ChatScene::updateSelection(const QPointF &pos) { int curRow = rowByScenePos(pos); if (curRow < 0) return; - int curColumn = (int)columnByScenePos(pos); - ChatLineModel::ColumnType minColumn = (ChatLineModel::ColumnType)qMin(curColumn, _selectionStartCol); + auto curColumn = (int)columnByScenePos(pos); + auto minColumn = (ChatLineModel::ColumnType)qMin(curColumn, _selectionStartCol); if (minColumn != _selectionMinCol) { _selectionMinCol = minColumn; for (int l = qMin(_selectionStart, _selectionEnd); l <= qMax(_selectionStart, _selectionEnd); l++) { @@ -976,8 +973,8 @@ void ChatScene::handleClick(Qt::MouseButton button, const QPointF &scenePos) void ChatScene::initiateDrag(QWidget *source) { - QDrag *drag = new QDrag(source); - QMimeData *mimeData = new QMimeData; + auto *drag = new QDrag(source); + auto *mimeData = new QMimeData; mimeData->setText(selection()); drag->setMimeData(mimeData); @@ -1127,7 +1124,7 @@ void ChatScene::webSearchOnSelection() void ChatScene::requestBacklog() { - MessageFilter *filter = qobject_cast(model()); + auto *filter = qobject_cast(model()); if (filter) return filter->requestBacklog(); return; @@ -1151,7 +1148,7 @@ int ChatScene::rowByScenePos(qreal y) const // ChatLine should be at the bottom of the list for (int i = itemList.count()-1; i >= 0; i--) { - ChatLine *line = qgraphicsitem_cast(itemList.at(i)); + auto *line = qgraphicsitem_cast(itemList.at(i)); if (line) return line->row(); } @@ -1395,7 +1392,7 @@ void ChatScene::updateTimestampHasBrackets() // (^\s*\(.+\)\s*$)|(^\s*\{.+\}\s*$)|(^\s*\[.+\]\s*$)|(^\s*<.+>\s*$) // Note that '\' must be escaped as '\\' // Helpful interactive website for debugging and explaining: https://regex101.com/ - const QRegExp regExpMatchBrackets("^\\s*[({[<].+[)}\\]>]\\s*$"); + const QRegExp regExpMatchBrackets(R"(^\s*[({[<].+[)}\]>]\s*$)"); _timestampHasBrackets = regExpMatchBrackets.exactMatch(_timestampFormatString); } }