summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/jabber/jabberchatsession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kopete/protocols/jabber/jabberchatsession.cpp')
-rw-r--r--kopete/protocols/jabber/jabberchatsession.cpp20
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","");
-
+
//&nbsp; is not a valid XML entity
xhtmlBody.replace("&nbsp;" , "&#160;");
-
- 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" );
}