projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Properly handle multiselections in bufferviews, fixes #665
[quassel.git]
/
src
/
qtui
/
chatscene.cpp
diff --git
a/src/qtui/chatscene.cpp
b/src/qtui/chatscene.cpp
index
c6341ec
..
2f145e9
100644
(file)
--- a/
src/qtui/chatscene.cpp
+++ b/
src/qtui/chatscene.cpp
@@
-24,7
+24,10
@@
#include <QGraphicsSceneMouseEvent>
#include <QMenu>
#include <QPersistentModelIndex>
#include <QGraphicsSceneMouseEvent>
#include <QMenu>
#include <QPersistentModelIndex>
-#include <QWebView>
+
+#ifdef HAVE_WEBKIT
+# include <QWebView>
+#endif
#include "chatitem.h"
#include "chatline.h"
#include "chatitem.h"
#include "chatline.h"
@@
-34,6
+37,7
@@
#include "client.h"
#include "clientbacklogmanager.h"
#include "columnhandleitem.h"
#include "client.h"
#include "clientbacklogmanager.h"
#include "columnhandleitem.h"
+#include "contextmenuactionprovider.h"
#include "iconloader.h"
#include "messagefilter.h"
#include "qtui.h"
#include "iconloader.h"
#include "messagefilter.h"
#include "qtui.h"
@@
-586,7
+590,7
@@
void ChatScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) {
item->addActionsToMenu(&menu, item->mapFromScene(pos));
else
// no item -> default scene actions
item->addActionsToMenu(&menu, item->mapFromScene(pos));
else
// no item -> default scene actions
-
Client::mainUi()->a
ctionProvider()->addActions(&menu, filter(), BufferId());
+
GraphicalUi::contextMenuA
ctionProvider()->addActions(&menu, filter(), BufferId());
menu.exec(event->screenPos());
menu.exec(event->screenPos());
@@
-707,7
+711,12
@@
void ChatScene::selectionToClipboard(QClipboard::Mode mode) {
stringToClipboard(selection(), mode);
}
stringToClipboard(selection(), mode);
}
-void ChatScene::stringToClipboard(const QString &str, QClipboard::Mode mode) {
+void ChatScene::stringToClipboard(const QString &str_, QClipboard::Mode mode) {
+ QString str = str_;
+ // remove trailing linefeeds
+ if(str.endsWith('\n'))
+ str.chop(1);
+
switch(mode) {
case QClipboard::Clipboard:
QApplication::clipboard()->setText(str);
switch(mode) {
case QClipboard::Clipboard:
QApplication::clipboard()->setText(str);
@@
-865,8
+874,9
@@
void ChatScene::loadWebPreview(ChatItem *parentItem, const QString &url, const Q
if(webPreview.url != url) {
webPreview.url = url;
// prepare to load a different URL
if(webPreview.url != url) {
webPreview.url = url;
// prepare to load a different URL
- if(webPreview.previewItem && webPreview.previewItem->scene()) {
- removeItem(webPreview.previewItem);
+ if(webPreview.previewItem) {
+ if(webPreview.previewItem->scene())
+ removeItem(webPreview.previewItem);
delete webPreview.previewItem;
webPreview.previewItem = 0;
}
delete webPreview.previewItem;
webPreview.previewItem = 0;
}