X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fchatscene.cpp;h=e20f3d636464641807aed3692ef021bf65735a96;hb=fdf69d69f0dda76a65a27ce7059b7b86696ff79c;hp=4fdf92a06c05e78285d60343b63316b296d518fa;hpb=a540a0285feef171e16fd6225b0e045fc5fc52e4;p=quassel.git diff --git a/src/qtui/chatscene.cpp b/src/qtui/chatscene.cpp index 4fdf92a0..e20f3d63 100644 --- a/src/qtui/chatscene.cpp +++ b/src/qtui/chatscene.cpp @@ -24,7 +24,10 @@ #include #include #include -#include + +#ifdef HAVE_WEBKIT +# include +#endif #include "chatitem.h" #include "chatline.h" @@ -385,9 +388,15 @@ void ChatScene::updateForViewport(qreal width, qreal height) { void ChatScene::setWidth(qreal width) { if(width == _sceneRect.width()) return; + layout(width); +} +void ChatScene::layout(qreal width) { // clock_t startT = clock(); + if(width < 0) + width = _sceneRect.width(); + // disabling the index while doing this complex updates is about // 2 to 10 times faster! //setItemIndexMethod(QGraphicsScene::NoIndex); @@ -708,7 +717,12 @@ void ChatScene::selectionToClipboard(QClipboard::Mode 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);