#include <QGraphicsSceneMouseEvent>
#include <QMenu>
#include <QPersistentModelIndex>
-#include <QWebView>
+
+#ifdef HAVE_WEBKIT
+# include <QWebView>
+#endif
#include "chatitem.h"
#include "chatline.h"
#include "client.h"
#include "clientbacklogmanager.h"
#include "columnhandleitem.h"
+#include "contextmenuactionprovider.h"
#include "iconloader.h"
#include "messagefilter.h"
#include "qtui.h"
item->addActionsToMenu(&menu, item->mapFromScene(pos));
else
// no item -> default scene actions
- Client::mainUi()->actionProvider()->addActions(&menu, filter(), BufferId());
+ GraphicalUi::contextMenuActionProvider()->addActions(&menu, filter(), BufferId());
menu.exec(event->screenPos());
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);
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;
}