X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fbufferwidget.cpp;h=86f791b625ca9eb2b09f86f16f2ae5003bb90d94;hp=6fc0287dcd31acffdb2573ab1502500e42a86d75;hb=b2c1179d290dc97f2c8497db9ed0c8adcc679ed7;hpb=eacb532f13295a30fa4366a6ff29d1168db84280 diff --git a/src/qtui/bufferwidget.cpp b/src/qtui/bufferwidget.cpp index 6fc0287d..86f791b6 100644 --- a/src/qtui/bufferwidget.cpp +++ b/src/qtui/bufferwidget.cpp @@ -18,20 +18,21 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include +#include +#include + +#include "action.h" +#include "actioncollection.h" #include "bufferwidget.h" #include "chatview.h" #include "chatviewsearchbar.h" #include "chatviewsearchcontroller.h" -#include "settings.h" #include "client.h" - -#include "action.h" -#include "actioncollection.h" +#include "inputline.h" #include "qtui.h" +#include "settings.h" -#include -#include -#include BufferWidget::BufferWidget(QWidget *parent) : AbstractBufferContainer(parent), @@ -64,7 +65,7 @@ BufferWidget::BufferWidget(QWidget *parent) connect(_chatViewSearchController, SIGNAL(newCurrentHighlight(QGraphicsItem *)), this, SLOT(scrollToHighlight(QGraphicsItem *))); - + ActionCollection *coll = QtUi::actionCollection(); Action *zoomChatview = coll->add("ZoomChatView"); @@ -149,6 +150,19 @@ bool BufferWidget::eventFilter(QObject *watched, QEvent *event) { QKeyEvent *keyEvent = static_cast(event); + // Intercept copy key presses + if(keyEvent == QKeySequence::Copy) { + InputLine *inputLine = qobject_cast(watched); + if(!inputLine) + return false; + if(inputLine->hasSelectedText()) + return false; + ChatView *view = qobject_cast(ui.stackedWidget->currentWidget()); + if(view) + view->scene()->selectionToClipboard(); + return true; + } + int direction = 1; switch(keyEvent->key()) { case Qt::Key_PageUp: