diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-07 21:56:26 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-07 21:56:26 +0000 |
commit | f815711d039485259835e246103d3e7f8f3d7203 (patch) | |
tree | 580513845904e84dd64dd9f5504bb01f8f941421 /kopete/protocols/jabber/jabberchatsession.cpp | |
parent | 08d46ebbbb283714e3d0a327442a93e283592c7d (diff) | |
download | tdenetwork-f815711d039485259835e246103d3e7f8f3d7203.tar.gz tdenetwork-f815711d039485259835e246103d3e7f8f3d7203.zip |
* Batch 1/2 of kdemultimedia bugfix patches from the Chakra project
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1172709 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kopete/protocols/jabber/jabberchatsession.cpp')
-rw-r--r-- | kopete/protocols/jabber/jabberchatsession.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/kopete/protocols/jabber/jabberchatsession.cpp b/kopete/protocols/jabber/jabberchatsession.cpp index e07582f7..dbe35ab6 100644 --- a/kopete/protocols/jabber/jabberchatsession.cpp +++ b/kopete/protocols/jabber/jabberchatsession.cpp @@ -23,6 +23,7 @@ #include <tqtooltip.h> #include <tqfile.h> #include <tqiconset.h> +#include <tqregexp.h> #include <kconfig.h> #include <kdebug.h> @@ -278,25 +279,28 @@ void JabberChatSession::slotMessageSent ( Kopete::Message &message, Kopete::Chat { // this message is not encrypted jabberMessage.setBody ( message.plainBody ()); - if (message.format() == Kopete::Message::RichText) + if (message.format() == Kopete::Message::RichText) { JabberResource *bestResource = account()->resourcePool()->bestJabberResource(toJid); if( bestResource && bestResource->features().canXHTML() ) { TQString xhtmlBody = message.escapedBody(); - + // According to JEP-0071 8.9 it is only RECOMMANDED to replace \n with <br/> - // which mean that some implementation (gaim 2 beta) may still think that \n are linebreak. + // which mean that some implementation (gaim 2 beta) may still think that \n are linebreak. // and considered the fact that KTextEditor generate a well indented XHTML, we need to remove all \n from it // see Bug 121627 // Anyway, theses client that do like that are *WRONG* considreded the example of jep-71 where there are lot of // linebreak that are not interpreted. - Olivier 2006-31-03 xhtmlBody.replace("\n",""); - + // is not a valid XML entity xhtmlBody.replace(" " , " "); - - xhtmlBody="<p "+ message.getHtmlStyleAttribute() +">"+ xhtmlBody +"</p>"; + + // Remove trailing line break + xhtmlBody.remove( TQRegExp( "<br/>$" ) ); + + xhtmlBody = "<span " + message.getHtmlStyleAttribute() + ">" + xhtmlBody + "</span>"; jabberMessage.setXHTMLBody ( xhtmlBody ); } } @@ -310,11 +314,11 @@ void JabberChatSession::slotMessageSent ( Kopete::Message &message, Kopete::Chat // FIXME: the view() is a speedy way to solve BUG:108389. A better solution is to be found // but I don't want to introduce a new bug during the bug hunt ;-). if (view() && view()->plugin()->pluginId() == "kopete_emailwindow" ) - { + { jabberMessage.setType ( "normal" ); } else - { + { jabberMessage.setType ( "chat" ); } |