Chop linefeed from a single line selection
authorManuel Nickschas <sputnick@quassel-irc.org>
Fri, 20 Feb 2009 08:31:41 +0000 (09:31 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Fri, 20 Feb 2009 08:33:30 +0000 (09:33 +0100)
This will chop a trailing linefeed for a single selected line, so you can paste it without
sending it. Note that the behavior for multi-line selecions is still the same (you'd be pasting
all but the last line in that case, which doesn't make much sense).

src/qtui/chatscene.cpp

index 4fdf92a..2cb90ea 100644 (file)
@@ -708,7 +708,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);