projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
modernize: Pass arguments by value and move in constructors
[quassel.git]
/
src
/
qtui
/
chatscene.cpp
diff --git
a/src/qtui/chatscene.cpp
b/src/qtui/chatscene.cpp
index
1588f4d
..
78c33c8
100644
(file)
--- a/
src/qtui/chatscene.cpp
+++ b/
src/qtui/chatscene.cpp
@@
-1,5
+1,5
@@
/***************************************************************************
/***************************************************************************
- * Copyright (C) 2005-201
6
by the Quassel Project *
+ * Copyright (C) 2005-201
8
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 *
@@
-18,24
+18,21
@@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
+#include "chatscene.h"
+
+#include <utility>
+
#include <QApplication>
#include <QClipboard>
#include <QDesktopServices>
#include <QDrag>
#include <QGraphicsSceneMouseEvent>
#include <QApplication>
#include <QClipboard>
#include <QDesktopServices>
#include <QDrag>
#include <QGraphicsSceneMouseEvent>
-#include <QIcon>
#include <QMenu>
#include <QMenuBar>
#include <QMimeData>
#include <QPersistentModelIndex>
#include <QUrl>
#include <QMenu>
#include <QMenuBar>
#include <QMimeData>
#include <QPersistentModelIndex>
#include <QUrl>
-#ifdef HAVE_KDE4
-# include <KMenuBar>
-#else
-# include <QMenuBar>
-#endif
-
#ifdef HAVE_WEBENGINE
# include <QWebEngineView>
#elif defined HAVE_WEBKIT
#ifdef HAVE_WEBENGINE
# include <QWebEngineView>
#elif defined HAVE_WEBKIT
@@
-45,26
+42,26
@@
#include "chatitem.h"
#include "chatline.h"
#include "chatlinemodelitem.h"
#include "chatitem.h"
#include "chatline.h"
#include "chatlinemodelitem.h"
-#include "chatscene.h"
#include "chatview.h"
#include "chatview.h"
+#include "chatviewsettings.h"
#include "client.h"
#include "clientbacklogmanager.h"
#include "columnhandleitem.h"
#include "contextmenuactionprovider.h"
#include "client.h"
#include "clientbacklogmanager.h"
#include "columnhandleitem.h"
#include "contextmenuactionprovider.h"
+#include "icon.h"
#include "mainwin.h"
#include "markerlineitem.h"
#include "messagefilter.h"
#include "qtui.h"
#include "qtuistyle.h"
#include "mainwin.h"
#include "markerlineitem.h"
#include "messagefilter.h"
#include "qtui.h"
#include "qtuistyle.h"
-#include "chatviewsettings.h"
#include "webpreviewitem.h"
const qreal minContentsWidth = 200;
#include "webpreviewitem.h"
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),
: QGraphicsScene(0, 0, width, 0, (QObject *)parent),
_chatView(parent),
- _idString(
idString
),
+ _idString(
std::move(idString)
),
_model(model),
_singleBufferId(BufferId()),
_sceneRect(0, 0, width, 0),
_model(model),
_singleBufferId(BufferId()),
_sceneRect(0, 0, width, 0),
@@
-76,7
+73,7
@@
ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal w
_markerLineJumpPending(false),
_cutoffMode(CutoffRight),
_alwaysBracketSender(false),
_markerLineJumpPending(false),
_cutoffMode(CutoffRight),
_alwaysBracketSender(false),
- _selectingItem(
0
),
+ _selectingItem(
nullptr
),
_selectionStart(-1),
_isSelecting(false),
_clickMode(NoClick),
_selectionStart(-1),
_isSelecting(false),
_clickMode(NoClick),
@@
-187,7
+184,7
@@
void ChatScene::resetColumnWidths()
ChatLine *ChatScene::chatLine(MsgId msgId, bool matchExact, bool ignoreDayChange) const
{
if (!_lines.count())
ChatLine *ChatScene::chatLine(MsgId msgId, bool matchExact, bool ignoreDayChange) const
{
if (!_lines.count())
- return
0
;
+ return
nullptr
;
QList<ChatLine *>::ConstIterator start = _lines.begin();
QList<ChatLine *>::ConstIterator end = _lines.end();
QList<ChatLine *>::ConstIterator start = _lines.begin();
QList<ChatLine *>::ConstIterator end = _lines.end();
@@
-212,10
+209,10
@@
ChatLine *ChatScene::chatLine(MsgId msgId, bool matchExact, bool ignoreDayChange
return *start;
if (matchExact)
return *start;
if (matchExact)
- return
0
;
+ return
nullptr
;
if (start == _lines.begin()) // not (yet?) in our scene
if (start == _lines.begin()) // not (yet?) in our scene
- return
0
;
+ return
nullptr
;
// if we didn't find the exact msgId, take the next-lower one (this makes sense for lastSeen)
// if we didn't find the exact msgId, take the next-lower one (this makes sense for lastSeen)
@@
-227,7
+224,7
@@
ChatLine *ChatScene::chatLine(MsgId msgId, bool matchExact, bool ignoreDayChange
if (_lines.at(i)->msgType() != Message::DayChange)
return _lines.at(i);
}
if (_lines.at(i)->msgType() != Message::DayChange)
return _lines.at(i);
}
- return
0
;
+ return
nullptr
;
}
// return the next-lower line
}
// return the next-lower line
@@
-239,7
+236,7
@@
ChatLine *ChatScene::chatLine(MsgId msgId, bool matchExact, bool ignoreDayChange
return *start;
}
while (start != _lines.begin());
return *start;
}
while (start != _lines.begin());
- return
0
;
+ return
nullptr
;
}
}
@@
-250,7
+247,7
@@
ChatItem *ChatScene::chatItemAt(const QPointF &scenePos) const
if (line)
return line->itemAt(line->mapFromScene(scenePos));
}
if (line)
return line->itemAt(line->mapFromScene(scenePos));
}
- return
0
;
+ return
nullptr
;
}
}
@@
-424,7
+421,7
@@
void ChatScene::rowsInserted(const QModelIndex &index, int start, int end)
// neither pre- or append means we have to do dirty work: move items...
if (!(atTop || atBottom)) {
// neither pre- or append means we have to do dirty work: move items...
if (!(atTop || atBottom)) {
- ChatLine *line =
0
;
+ ChatLine *line =
nullptr
;
for (int i = 0; i <= end; i++) {
line = _lines.at(i);
line->setPos(0, line->pos().y() - h);
for (int i = 0; i <= end; i++) {
line = _lines.at(i);
line->setPos(0, line->pos().y() - h);
@@
-489,7
+486,7
@@
void ChatScene::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int e
if (_selectingItem) {
int row = _selectingItem->row();
if (row >= start && row <= end)
if (_selectingItem) {
int row = _selectingItem->row();
if (row >= start && row <= end)
- setSelectingItem(
0
);
+ setSelectingItem(
nullptr
);
}
// remove items from scene
}
// remove items from scene
@@
-497,7
+494,7
@@
void ChatScene::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int e
int lineCount = start;
while (lineIter != _lines.end() && lineCount <= end) {
if ((*lineIter) == markerLine()->chatLine())
int lineCount = start;
while (lineIter != _lines.end() && lineCount <= end) {
if ((*lineIter) == markerLine()->chatLine())
- markerLine()->setChatLine(
0
);
+ markerLine()->setChatLine(
nullptr
);
h += (*lineIter)->height();
delete *lineIter;
lineIter = _lines.erase(lineIter);
h += (*lineIter)->height();
delete *lineIter;
lineIter = _lines.erase(lineIter);
@@
-539,7
+536,7
@@
void ChatScene::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int e
moveStart = start;
offset = -offset;
}
moveStart = start;
offset = -offset;
}
- ChatLine *line =
0
;
+ ChatLine *line =
nullptr
;
for (int i = moveStart; i <= moveEnd; i++) {
line = _lines.at(i);
line->setPos(0, line->pos().y() + offset);
for (int i = moveStart; i <= moveEnd; i++) {
line = _lines.at(i);
line->setPos(0, line->pos().y() + offset);
@@
-836,7
+833,7
@@
void ChatScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
// If we have text selected, insert the Copy Selection as first item
if (isPosOverSelection(pos)) {
QAction *sep = menu.insertSeparator(menu.actions().first());
// If we have text selected, insert the Copy Selection as first item
if (isPosOverSelection(pos)) {
QAction *sep = menu.insertSeparator(menu.actions().first());
- QAction *act = new Action(
QIcon::fromTheme
("edit-copy"), tr("Copy Selection"), &menu, this,
+ QAction *act = new Action(
icon::get
("edit-copy"), tr("Copy Selection"), &menu, this,
SLOT(selectionToClipboard()), QKeySequence::Copy);
menu.insertAction(sep, act);
SLOT(selectionToClipboard()), QKeySequence::Copy);
menu.insertAction(sep, act);
@@
-845,7
+842,7
@@
void ChatScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
searchSelectionText = searchSelectionText.left(_webSearchSelectionTextMaxVisible).append(QString::fromUtf8("…"));
searchSelectionText = tr("Search '%1'").arg(searchSelectionText);
searchSelectionText = searchSelectionText.left(_webSearchSelectionTextMaxVisible).append(QString::fromUtf8("…"));
searchSelectionText = tr("Search '%1'").arg(searchSelectionText);
- QAction *webSearchAction = new Action(
QIcon::fromTheme
("edit-find"), searchSelectionText, &menu, this, SLOT(webSearchOnSelection()));
+ QAction *webSearchAction = new Action(
icon::get
("edit-find"), searchSelectionText, &menu, this, SLOT(webSearchOnSelection()));
menu.insertAction(sep, webSearchAction);
}
menu.insertAction(sep, webSearchAction);
}
@@
-1232,7
+1229,7
@@
void ChatScene::loadWebPreview(ChatItem *parentItem, const QUrl &url, const QRec
if (webPreview.previewItem->scene())
removeItem(webPreview.previewItem);
delete webPreview.previewItem;
if (webPreview.previewItem->scene())
removeItem(webPreview.previewItem);
delete webPreview.previewItem;
- webPreview.previewItem =
0
;
+ webPreview.previewItem =
nullptr
;
}
webPreview.previewState = WebPreview::NoPreview;
}
}
webPreview.previewState = WebPreview::NoPreview;
}
@@
-1293,16
+1290,18
@@
void ChatScene::webPreviewNextStep()
case WebPreview::ShowPreview:
qWarning() << "ChatScene::webPreviewNextStep() called while in ShowPreview Step!";
qWarning() << "removing preview";
case WebPreview::ShowPreview:
qWarning() << "ChatScene::webPreviewNextStep() called while in ShowPreview Step!";
qWarning() << "removing preview";
- if (webPreview.previewItem && webPreview.previewItem->scene())
+ if (webPreview.previewItem && webPreview.previewItem->scene())
{
removeItem(webPreview.previewItem);
removeItem(webPreview.previewItem);
- // Fall through to deletion!
- [[fallthrough]];
+ }
+
+ // Intentional fallthrough
+
case WebPreview::HidePreview:
if (webPreview.previewItem) {
delete webPreview.previewItem;
case WebPreview::HidePreview:
if (webPreview.previewItem) {
delete webPreview.previewItem;
- webPreview.previewItem =
0
;
+ webPreview.previewItem =
nullptr
;
}
}
- webPreview.parentItem =
0
;
+ webPreview.parentItem =
nullptr
;
webPreview.url = QUrl();
webPreview.urlRect = QRectF();
webPreview.previewState = WebPreview::NoPreview;
webPreview.url = QUrl();
webPreview.urlRect = QRectF();
webPreview.previewState = WebPreview::NoPreview;
@@
-1319,12
+1318,13
@@
void ChatScene::clearWebPreview(ChatItem *parentItem)
webPreview.previewState = WebPreview::NoPreview; // we haven't loaded anything yet
break;
case WebPreview::ShowPreview:
webPreview.previewState = WebPreview::NoPreview; // we haven't loaded anything yet
break;
case WebPreview::ShowPreview:
- if (parentItem ==
0
|| webPreview.parentItem == parentItem) {
+ if (parentItem ==
nullptr
|| webPreview.parentItem == parentItem) {
if (webPreview.previewItem && webPreview.previewItem->scene())
removeItem(webPreview.previewItem);
}
if (webPreview.previewItem && webPreview.previewItem->scene())
removeItem(webPreview.previewItem);
}
- // fall through into to set hidden state
- [[fallthrough]];
+
+ // Intentional fallthrough
+
case WebPreview::DelayPreview:
// we're just loading, so haven't shown the preview yet.
webPreview.previewState = WebPreview::HidePreview;
case WebPreview::DelayPreview:
// we're just loading, so haven't shown the preview yet.
webPreview.previewState = WebPreview::HidePreview;