From: <da...@us...> - 2009-09-19 14:20:54
|
Revision: 5484 http://kmess.svn.sourceforge.net/kmess/?rev=5484&view=rev Author: dazjorz Date: 2009-09-19 14:20:45 +0000 (Sat, 19 Sep 2009) Log Message: ----------- Made MsnSession, Chat, ChatView, ChatWindow, ChatMaster, ChatMessageView and ChatMessageStyle compile again. Currently, all message displaying in Chat and other classes is disabled because the code has to be adapted to KMess::*Message. Renamed getParticipants to participants and added firstContact and lastContact to MsnChat. Added some stub methods to various *Message classes. Modified Paths: -------------- trunk/kmess/src/chat/chat.cpp trunk/kmess/src/chat/chat.h trunk/kmess/src/chat/chatmaster.cpp trunk/kmess/src/chat/chatmaster.h trunk/kmess/src/chat/chatmessagestyle.cpp trunk/kmess/src/chat/chatmessagestyle.h trunk/kmess/src/chat/chatmessageview.cpp trunk/kmess/src/chat/chatmessageview.h trunk/kmess/src/chat/chatview.cpp trunk/kmess/src/chat/chatview.h trunk/kmess/src/chat/chatwindow.cpp trunk/kmess/src/chat/chatwindow.h trunk/kmess/src/network/messages/inkmessage.h trunk/kmess/src/network/messages/message.h trunk/kmess/src/network/messages/winkmessage.h trunk/kmess/src/network/msnchat.cpp trunk/kmess/src/network/msnchat.h trunk/kmess/src/network/msncontact.h trunk/kmess/src/network/msnsession.cpp Modified: trunk/kmess/src/chat/chat.cpp =================================================================== --- trunk/kmess/src/chat/chat.cpp 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chat.cpp 2009-09-19 14:20:45 UTC (rev 5484) @@ -17,6 +17,13 @@ #include "chat.h" +#include "../network/msnchat.h" +#include "../network/msncontact.h" +#include "../network/messages/textmessage.h" +#include "../network/messages/inkmessage.h" +#include "../network/messages/winkmessage.h" +#include "../network/messages/typingmessage.h" +#include "../network/messages/nudgemessage.h" #include "../contact/contactextension.h" #include "../contact/invitedcontact.h" @@ -24,7 +31,6 @@ #include "../model/contactlist.h" #include "../utils/kmessconfig.h" #include "../utils/kmessshared.h" -#include "../network/msnchat.h" #include "../account.h" #include "../kmessglobal.h" #include "../kmessapplication.h" @@ -102,20 +108,20 @@ if( !msnChat_->isConnected() ) return QString(); // Choose the contact. - const QStringList &contactsInChat( msnChat_->getParticipants() ); + const QStringList &contactsInChat( msnChat_->participants() ); switch( contactsInChat.count() ) { case 0: // No contacts in the chat - if( msnChat_->getLastContact().isEmpty() ) + if( msnChat_->lastContact().isEmpty() ) { // Send invitation to the first contact that should appear in the chat. - return msnChat_->getFirstContact(); + return msnChat_->firstContact(); } else { // Resume chat with last contact - return msnChat_->getLastContact(); + return msnChat_->lastContact(); } case 1: @@ -141,18 +147,21 @@ // real chats with invisible contacts const QString& handle ( contact->getHandle() ); const QString& friendlyName( contact->getFriendlyName( STRING_CLEANED_ESCAPED ) ); - const QStringList &participants( getParticipants() ); + const QStringList &participants( getParticipants() ); // Don't show the message when the contact went/is offline (because in such cases, the message // is unreliable, and if we started the chat we're just pretending the contact joined) if( ! offlineContact && ( Account::connectedAccount->getSettingBool( "ChatSessionMessagesEnabled" ) || participants.count() > 1 ) ) { - showMessage( ChatMessage( ChatMessage::TYPE_PRESENCE, - ChatMessage::CONTENT_PRESENCE_JOIN, +#warning todo +#if 0 + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_PRESENCE, + KMess::TextMessage::CONTENT_PRESENCE_JOIN, false, i18n("%1 has joined the chat.", friendlyName ), handle, friendlyName ) ); +#endif } // Change the chat title @@ -213,12 +222,15 @@ contactName ); } - showMessage( ChatMessage( ChatMessage::TYPE_PRESENCE, - ChatMessage::CONTENT_PRESENCE_LEAVE, +#warning todo +#if 0 + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_PRESENCE, + KMess::TextMessage::CONTENT_PRESENCE_LEAVE, false, message, handle, contactName ) ); +#endif } // Change the caption to remove the contact who has left @@ -403,7 +415,7 @@ */ const QString &Chat::getFirstContact() const { - return msnChat_->getFirstContact(); + return msnChat_->firstContact(); } @@ -413,7 +425,7 @@ */ const QString &Chat::getLastContact() const { - return msnChat_->getLastContact(); + return msnChat_->lastContact(); } @@ -431,7 +443,7 @@ // Return the list of contacts in the chat const QStringList Chat::getParticipants() const { - return msnChat_->getParticipants(); + return msnChat_->participants(); } @@ -611,23 +623,25 @@ // A message was received from a contact. -void Chat::receivedMessage(const ChatMessage &message) +void Chat::receivedMessage( KMess::TextMessage *message ) { #ifdef KMESSDEBUG_CHAT_GENERAL - kDebug() << "Displaying message, internal type=" << message.getType(); + kDebug() << "Displaying message, internal type=" << message->type(); kDebug() << "First message = " << firstMessage_ << "."; #endif showMessage( message ); // Do not notify about presence messages - if( message.getType() == ChatMessage::TYPE_PRESENCE ) +#if 0 + if( message.getType() == KMess::TextMessage::TYPE_PRESENCE ) { return; } +#endif // Update the date of the last received message. Only allowed for contacts on the contact list. - Contact *sourceContact = globalSession->getContactList()->getContact( message.getContactHandle() ); + Contact *sourceContact = globalSession->getContactList()->getContact( message->peer()->id() ); if( sourceContact != 0 && sourceContact->getExtension() ) { sourceContact->getExtension()->setLastMessageDate(); @@ -649,20 +663,11 @@ Account::connectedAccount->getSettingString( "AutoReplyMessage" ) ) ); // Send the autoreply message to the contact(s) - msnChat_->sendChatMessage( awayMessage ); + KMess::TextMessage *message = new KMess::TextMessage( msnChat_, 0, false ); + message->setMessage( awayMessage ); + msnChat_->sendMessage( message ); + showMessage( message ); - // Show the autoreply message - ChatMessage autoMessage = ChatMessage( ChatMessage::TYPE_OUTGOING, - ChatMessage::CONTENT_MESSAGE, - false, - awayMessage, - Account::connectedAccount->getHandle(), - Account::connectedAccount->getFriendlyName( STRING_ORIGINAL ), - Account::connectedAccount->getDisplayPicture(), - Account::connectedAccount->getSettingFont( "FontUser" ), - Account::connectedAccount->getSettingString( "FontUserColor" ) ); - showMessage( autoMessage ); - // Save the time the message was sent, to display the next after some time lastSentAutoMessage_.start(); } @@ -904,7 +909,10 @@ firstMessage_ = false; } - msnChat_->sendChatMessage( message ); + KMess::TextMessage *textMessage = new KMess::TextMessage( msnChat_, 0, false ); + textMessage->setMessage( message ); + + msnChat_->sendMessage( textMessage ); } @@ -912,7 +920,11 @@ // Send an ink drawing to the current chat void Chat::sendInkMessage( KMess::InkFormat format, const QByteArray &inkData ) { - msnChat_->sendInk( format, inkData ); + KMess::InkMessage *message = new KMess::InkMessage( msnChat_, 0, false ); + message->setFormat( format ); + message->setData( inkData ); + + msnChat_->sendMessage( message ); } @@ -920,7 +932,8 @@ // Send an "user is typing" message to the contacts void Chat::sendTypingMessage() { - msnChat_->sendTypingMessage(); + KMess::TypingMessage *message = new KMess::TypingMessage( msnChat_, 0, false ); + msnChat_->sendMessage( message ); } @@ -928,8 +941,10 @@ // Send an wink to the current chat void Chat::sendWink( const MsnObject &msnObject ) { + KMess::WinkMessage *message = new KMess::WinkMessage( msnChat_, 0, false ); + message->setWinkData( &msnObject ); + msnChat_->sendMessage( message ); QString winkHtml; - msnChat_->sendWink( msnObject ); // Only show the sent wink if they're enabled if( Account::connectedAccount->getSettingBool( "ChatShowWinks" ) ) @@ -951,12 +966,15 @@ msnObject.getFriendly() ); } - ChatMessage message( ChatMessage::TYPE_NOTIFICATION, - ChatMessage::CONTENT_NOTIFICATION_WINK, +#warning todo +#if 0 + KMess::TextMessage message( KMess::TextMessage::TYPE_NOTIFICATION, + KMess::TextMessage::CONTENT_NOTIFICATION_WINK, false, notificationText + winkHtml, // Add the actual wink after the message QString() ); showMessage( message ); +#endif } @@ -1030,11 +1048,13 @@ friendlyName = contact->getFriendlyName( STRING_CLEANED_ESCAPED ); } +#warning todo +#if 0 switch( type ) { case KMess::WARNING_CONNECTION_DROP: - showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, - ChatMessage::CONTENT_SYSTEM_ERROR, + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_SYSTEM, + KMess::TextMessage::CONTENT_SYSTEM_ERROR, true, i18nc( "Warning message shown in chat", "There has been a connection problem." ), @@ -1043,8 +1063,8 @@ break; case KMess::WARNING_TOO_MANY_EMOTICONS: - showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, - ChatMessage::CONTENT_SYSTEM_ERROR, + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_SYSTEM, + KMess::TextMessage::CONTENT_SYSTEM_ERROR, true, i18nc( "Warning message shown in chat", "There were too many different custom emoticons in your last message. Only the first 7 will be sent." ), @@ -1056,8 +1076,8 @@ #ifdef KMESSTEST KMESS_ASSERT( contact != 0 ); #endif - showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, - ChatMessage::CONTENT_SYSTEM_ERROR, + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_SYSTEM, + KMess::TextMessage::CONTENT_SYSTEM_ERROR, true, i18nc( "Warning message shown in chat, %1 is the contact's friendly name", "%1 has sent you a voice clip, but KMess does not support voice clips yet.", @@ -1070,8 +1090,8 @@ #ifdef KMESSTEST KMESS_ASSERT( contact != 0 ); #endif - showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, - ChatMessage::CONTENT_SYSTEM_ERROR, + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_SYSTEM, + KMess::TextMessage::CONTENT_SYSTEM_ERROR, true, i18nc( "Warning message shown in chat, %1 is the contact's friendly name", "%1 has sent you an action message, but KMess does not support action messages yet.", @@ -1081,8 +1101,8 @@ break; case KMess::WARNING_INK_UNSUPPORTED_BY_CONTACT: - showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, - ChatMessage::CONTENT_SYSTEM_ERROR, + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_SYSTEM, + KMess::TextMessage::CONTENT_SYSTEM_ERROR, true, i18nc( "Warning message shown in chat", "One or more contacts do not support the handwriting message." ), @@ -1095,8 +1115,8 @@ KMESS_ASSERT( contact != 0 ); #endif default: - showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, - ChatMessage::CONTENT_SYSTEM_ERROR, + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_SYSTEM, + KMess::TextMessage::CONTENT_SYSTEM_ERROR, true, i18nc( "Warning message shown in chat, %1 is the contact's friendly name", "%1 has sent you a Live Messenger feature that KMess does not support yet.", @@ -1105,6 +1125,7 @@ friendlyName ) ); break; } +#endif } @@ -1142,11 +1163,14 @@ friendlyName, animationName ); } - showMessage( ChatMessage( ChatMessage::TYPE_NOTIFICATION, - ChatMessage::CONTENT_NOTIFICATION_WINK, +#warning todo +#if 0 + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_NOTIFICATION, + KMess::TextMessage::CONTENT_NOTIFICATION_WINK, false, message, handle ) ); +#endif return; } @@ -1178,12 +1202,15 @@ } // Show a notification - receivedMessage( ChatMessage( ChatMessage::TYPE_NOTIFICATION, - ChatMessage::CONTENT_NOTIFICATION_WINK, +#warning todo +#if 0 + receivedMessage( KMess::TextMessage( KMess::TextMessage::TYPE_NOTIFICATION, + KMess::TextMessage::CONTENT_NOTIFICATION_WINK, true, message + html, handle, friendlyName ) ); +#endif return; } @@ -1254,11 +1281,14 @@ break; } - showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, - ChatMessage::CONTENT_SYSTEM_ERROR, +#warning todo +#if 0 + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_SYSTEM, + KMess::TextMessage::CONTENT_SYSTEM_ERROR, false, message, handle ) ); +#endif } @@ -1311,11 +1341,14 @@ return; } - receivedMessage( ChatMessage( ChatMessage::TYPE_PRESENCE, - ChatMessage::CONTENT_PRESENCE_STATUS, +#warning todo +#if 0 + receivedMessage( KMess::TextMessage( KMess::TextMessage::TYPE_PRESENCE, + KMess::TextMessage::CONTENT_PRESENCE_STATUS, true, message, contact->getHandle() ) ); +#endif } @@ -1330,8 +1363,10 @@ // Get friendly name const QString& friendlyName( contact->getFriendlyName( STRING_CLEANED_ESCAPED ) ); - ChatMessage message( ChatMessage::TYPE_NOTIFICATION, - ChatMessage::CONTENT_NOTIFICATION_NUDGE, +#warning todo +#if 0 + KMess::TextMessage message( KMess::TextMessage::TYPE_NOTIFICATION, + KMess::TextMessage::CONTENT_NOTIFICATION_NUDGE, true, i18n( "%1 has sent you a nudge!", friendlyName ), contact->getHandle(), @@ -1342,7 +1377,7 @@ // Emit the new message signal so that the user will receive a notification emit gotChatMessage( message, this ); - +#endif // Start the buzz effect. emit gotNudge(); } @@ -1350,9 +1385,9 @@ // Signal that a message could not be sent to the switchboard -void Chat::slotSendingFailed( const QString &handle, const MimeMessage &message ) +void Chat::slotSendingFailed( const QString &handle, KMess::Message *message ) { - const QString& contentType( message.getValue( "Content-Type" ) ); + const QString& contentType( message->field( "Content-Type" ) ); QString errorMessage; QString friendlyName; @@ -1375,7 +1410,7 @@ if( contentType.startsWith( "text/x-msnmsgr-datacast" ) ) { - switch( message.getValue( "ID" ).toInt() ) + switch( message->field( "ID" ).toInt() ) { case 1: // Nudge errorMessage = i18nc( "Error message shown in chat, %1 is the contact's friendly name", @@ -1397,9 +1432,9 @@ errorMessage = i18nc( "Error message shown in chat, %1 is the contact's friendly name", "Failed to send the handwritten message to %1.", friendlyName ); } - else if( contentType.startsWith( "text/plain" ) && ! message.getBody().isEmpty() ) + else if( contentType.startsWith( "text/plain" ) && ! message->contents().isEmpty() ) { - QString body( Qt::escape( message.getBody() ) ); + QString body( Qt::escape( message->contents() ) ); // Cut down the message a bit if needed if( body.length() > 16 ) @@ -1421,12 +1456,15 @@ return; } - showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, - ChatMessage::CONTENT_SYSTEM_ERROR, +#warning todo +#if 0 + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_SYSTEM, + KMess::TextMessage::CONTENT_SYSTEM_ERROR, false, errorMessage, handle, friendlyName ) ); +#endif } @@ -1489,13 +1527,16 @@ kDebug() << "Copy failed."; #endif // Show a message to the user - showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, - ChatMessage::CONTENT_APP_FAILED, +#warning todo +#if 0 + showMessage( KMess::TextMessage( KMess::TextMessage::TYPE_SYSTEM, + KMess::TextMessage::CONTENT_APP_FAILED, false, i18n( "The file "%1" could not be found on " "your computer, and the download failed.", localFileUrl.prettyUrl() ), handle ) ); +#endif continue; } @@ -1525,7 +1566,7 @@ // Show a more detailed message if we're in an active chat QString messageText; - const QStringList &contactsInChat = msnChat_->getParticipants(); + const QStringList &contactsInChat = msnChat_->participants(); if( contactsInChat.count() == 1 && msnChat_->isConnected() ) { messageText = i18nc( "Message shown in chat window, %1 is the contact's friendly name", @@ -1539,17 +1580,9 @@ } // Display message - ChatMessage message( ChatMessage::TYPE_NOTIFICATION, - ChatMessage::CONTENT_NOTIFICATION_NUDGE, - false, - messageText, - QString() ); - showMessage( message ); - - // Send nudge - msnChat_->sendNudge(); - - // Shake the window + KMess::NudgeMessage *message = new KMess::NudgeMessage( msnChat_, 0, false ); + //showMessage( message ); + msnChat_->sendMessage( message ); emit gotNudge(); } @@ -1563,7 +1596,7 @@ #endif // Add the participant contacts to the chat, even if they're offline - const QStringList &participants( msnChat_->getParticipants() ); + const QStringList &participants( msnChat_->participants() ); #ifdef KMESSDEBUG_CHAT_GENERAL kDebug() << "Adding initial chat participants to the chat:" << participants; @@ -1590,12 +1623,15 @@ #endif contactJoined( contact, true ); - receivedMessage( ChatMessage( ChatMessage::TYPE_PRESENCE, - ChatMessage::CONTENT_SYSTEM_NOTICE, +#warning todo +#if 0 + receivedMessage( KMess::TextMessage( KMess::TextMessage::TYPE_PRESENCE, + KMess::TextMessage::CONTENT_SYSTEM_NOTICE, false, i18n( "%1 is currently offline. Any messages you send will be delivered the next time he or she logs in.", contact->getFriendlyName( STRING_CLEANED_ESCAPED ) ), contact->getHandle() ) ); +#endif } } } Modified: trunk/kmess/src/chat/chat.h =================================================================== --- trunk/kmess/src/chat/chat.h 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chat.h 2009-09-19 14:20:45 UTC (rev 5484) @@ -27,7 +27,6 @@ // Forward declarations -class ChatMessage; class ChatView; class ChatWindow; class ContactBase; @@ -37,6 +36,7 @@ namespace KMess { class MsnChat; + class TextMessage; }; class QDir; @@ -121,7 +121,7 @@ public slots: // A message was received from a contact. - void receivedMessage(const ChatMessage &message); + void receivedMessage( KMess::TextMessage *message); // Change the switchboard connection used by the chat window. void setMsnChat( KMess::MsnChat *newChat ); // Send a nudge @@ -157,7 +157,7 @@ // Notify the user of a received nudge void slotReceivedNudge( ContactBase* contact ); // Notify that a message could not be sent by the switchboard - void slotSendingFailed( const QString &handle, const MimeMessage &message ); + void slotSendingFailed( const QString &handle, KMess::Message *message ); private: // Private attributes // Whether or not the incoming message is the first incoming message @@ -193,7 +193,7 @@ // Signal that this chat is about to close. void closing( Chat *chat ); // Signal the presence of a new incoming chat message - void gotChatMessage( const ChatMessage &message, Chat *chat ); + void gotChatMessage( KMess::TextMessage *message, Chat *chat ); // Signal that a typing message has been received void gotTypingMessage( Chat *chat ); // Signal that a nudge has been received Modified: trunk/kmess/src/chat/chatmaster.cpp =================================================================== --- trunk/kmess/src/chat/chatmaster.cpp 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatmaster.cpp 2009-09-19 14:20:45 UTC (rev 5484) @@ -21,17 +21,7 @@ #include "../contact/contactextension.h" #include "../contact/msnobject.h" #include "../model/contactlist.h" -// #include "../network/applications/applicationlist.h" -// #include "../network/applications/applicationmaster.h" -// #include "../network/applications/mimeapplication.h" -// #include "../network/applications/p2papplication.h" -// #include "../network/applications/filetransfer.h" -// #include "../network/applications/filetransferp2p.h" -// #include "../network/applications/gnomemeeting.h" -// #include "../network/applications/inktransferp2p.h" -// #include "../network/applications/msnobjecttransferp2p.h" -// #include "../network/applications/webcamtransferp2p.h" -#include "../network/messages/chatmessage.h" +#include "../network/messages/textmessage.h" #include "../network/msnchat.h" #include "../kmessglobal.h" #include "../kmessapplication.h" @@ -635,7 +625,7 @@ ChatWindow *newChatWindow; // If the new chat is a group chat, find existing group chat windows; else find private chats - const QStringList& participants( msnChat->getParticipants() ); + const QStringList& participants( msnChat->participants() ); newChat = getContactsChat( participants, true ); // If the chat was requested by a contact, check if we have a chat request @@ -878,6 +868,8 @@ #endif // Get the application list +#warning TODO +#if 0 ApplicationList *appList = globalSession->applicationMaster()->getApplicationList( handle ); if( KMESS_NULL(appList) ) continue; @@ -889,8 +881,8 @@ #endif continue; } +#endif - // All tests passed. // Download the picture. Modified: trunk/kmess/src/chat/chatmaster.h =================================================================== --- trunk/kmess/src/chat/chatmaster.h 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatmaster.h 2009-09-19 14:20:45 UTC (rev 5484) @@ -18,10 +18,10 @@ #ifndef CHATMASTER_H #define CHATMASTER_H -#include "../network/messages/chatmessage.h" -#include "../network/connections/msnswitchboardconnection.h" // FIXME here (instead of on the .cpp) for the InkFormat enum. +#include "../network/messages/textmessage.h" #include <QList> +#include <QStringList> #include <QObject> Modified: trunk/kmess/src/chat/chatmessagestyle.cpp =================================================================== --- trunk/kmess/src/chat/chatmessagestyle.cpp 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatmessagestyle.cpp 2009-09-19 14:20:45 UTC (rev 5484) @@ -17,6 +17,8 @@ #include "chatmessagestyle.h" +#include "../network/msncontact.h" + #include "../contact/contactbase.h" #include "../utils/richtextparser.h" #include "../utils/kmessshared.h" @@ -81,7 +83,7 @@ // Convert a chat message to HTML string -QString ChatMessageStyle::convertMessage(const ChatMessage &message) +QString ChatMessageStyle::convertMessage(KMess::TextMessage *message) { // Reset state, changed by parseMsnString pendingEmoticonTags_.clear(); @@ -94,7 +96,7 @@ << " using fallback theme." << endl; #endif - // Create fallback message. + // Create fallback message-> return createFallbackMessage(message); } else @@ -132,7 +134,7 @@ // Convert a group of chat message to HTML string -QString ChatMessageStyle::convertMessageList(const QList<ChatMessage*> &messageList) +QString ChatMessageStyle::convertMessageList(const QList<KMess::TextMessage*> &messageList) { // Reset state, changed by parseMsnString pendingEmoticonTags_.clear(); @@ -147,11 +149,11 @@ { // When there is only one message, don't wrap it in a <messagegroup>. // Makes the calling-code easier, and the layout consistent. - return convertMessage( *messageList.first() ); + return convertMessage( messageList.first() ); } // Create iterator - QListIterator<ChatMessage*> it( messageList ); + QListIterator<KMess::TextMessage*> it( messageList ); bool hasStyle = (xslTransformation_ != 0 && xslTransformation_->hasStylesheet()); QString parsedMessage; @@ -170,11 +172,11 @@ QString xmlMessage( "<messagegroup>\n" ); while( it.hasNext() ) { - const ChatMessage &message = *it.next(); + KMess::TextMessage *message = it.next(); // Do not group messages which are distant in time by more than 10 minutes if( lastMessageDate.isValid() - && lastMessageDate.secsTo( message.getDateTime() ) > 600 ) + && lastMessageDate.secsTo( message->dateTime() ) > 600 ) { // Flush the XML to the parser, then start again for the next messages xmlMessage += "</messagegroup>\n"; @@ -184,7 +186,7 @@ xmlMessage += convertMessageToXml( message ) + "\n"; - lastMessageDate = message.getDateTime(); + lastMessageDate = message->dateTime(); } xmlMessage += "</messagegroup>\n"; @@ -218,7 +220,7 @@ // Conversion failed, create fallback while( it.hasNext() ) { - parsedMessage += createFallbackMessage( *it.next() ); + parsedMessage += createFallbackMessage( it.next() ); } return parsedMessage; } @@ -311,27 +313,27 @@ // Convert the message as HTML, fallback method when XML fails. -QString ChatMessageStyle::createFallbackMessage(const ChatMessage &message) +QString ChatMessageStyle::createFallbackMessage(KMess::TextMessage *message) { QString color; - int type = message.getType(); - QString handle ( message.getContactHandle() ); - QString name ( message.getContactName() ); - QString body ( message.getBody() ); - QString fontDir ( body.isRightToLeft() ? "rtl" : "ltr" ); + QString handle ( message->peer()->id() ); + QString name ( message->peer()->friendlyName() ); + QString body ( message->message() ); +#warning TODO + QString fontDir ( "ltr" ); // message->isRightToLeft() ? "rtl" : "ltr" ); // Reset state, changed by parseMsnString pendingEmoticonTags_.clear(); // Create the fallback message when the XML/XSL conversion failed - if( message.isNormalMessage() ) +#warning TODO + if( true )// message->isNormalMessage() ) { // Contact message QString fontBefore; QString fontAfter; QString time; QFont font; - QString color; // Extract fonts parseFont(message, font, color, fontBefore, fontAfter); @@ -350,8 +352,11 @@ } // Body can already be HTML if generated internally. - if( ! message.hasHtmlBody() ) +#warning todo +#if 0 + if( ! message->hasHtmlBody() ) { +#endif // Escape HTML, replace all emoticons, links and formatting body = RichTextParser::instance()->parseMsnString( body, ( RichTextParser::FormattingOptions ) ( RichTextParser::PARSE_LINKS @@ -365,7 +370,9 @@ { parseEffects( body ); } +#if 0 } +#endif // Replace newlines with <br/> parseBody(body); @@ -373,7 +380,7 @@ // Misc variables if( showTime_ ) { - QDateTime messageTime = message.getDateTime(); + QDateTime messageTime = message->dateTime(); if ( showDate_ ) { time = KGlobal::locale()->formatDateTime( messageTime, KLocale::ShortDate, showSeconds_ ); @@ -383,8 +390,7 @@ time = KGlobal::locale()->formatTime( messageTime.time(), showSeconds_ ); } } - color = (type == ChatMessage::TYPE_INCOMING || type == ChatMessage::TYPE_OFFLINE_INCOMING) - ? "666699" : "666666"; + color = message->isIncoming() ? "666699" : "666666"; // Create HTML return "<div dir='" + fontDir + "'><font color='" + color + "'>" + (showTime_ ? time + " " : "") @@ -393,6 +399,8 @@ + fontBefore + body + "<br><br>" + fontAfter + "</div>"; } +#warning TODO +#if 0 else if( type == ChatMessage::TYPE_SYSTEM ) { // Red system message @@ -413,7 +421,7 @@ // Gray presence message parseBody( KMessShared::htmlEscape( body ) ); return "<div dir='" + fontDir + "'><font color='gray'>" + body + "</font><br></div>"; - } +#endif else { // Purple notification message @@ -425,7 +433,7 @@ // Convert the message as XML. -QString ChatMessageStyle::convertMessageToXml( const ChatMessage &message, bool isHistory ) +QString ChatMessageStyle::convertMessageToXml( KMess::TextMessage *message, bool isHistory ) { uint timestamp = 0; QString fontBefore; @@ -437,10 +445,10 @@ QFont font; // Remove any characters which are not allowed in XML - const ushort* utf16 = message.getBody().utf16(); - ushort* newutf16 = new ushort[ message.getBody().size() ]; + const ushort* utf16 = message->message().utf16(); + ushort* newutf16 = new ushort[ message->message().size() ]; int j = 0; - for( int i = 0; i < message.getBody().size(); ++i ) + for( int i = 0; i < message->message().size(); ++i ) { // Utf16 sometimes uses more than two bytes for a character, but in those cases, // both parts will be valid, so xmlIsCharQ (checking if a short is valid) will always return true. @@ -458,9 +466,8 @@ QString body = QString::fromUtf16( newutf16, j ); // Get message info - int type = message.getType(); - QString handle ( message.getContactHandle() ); - QString name ( message.getContactName() ); + QString handle ( message->peer()->id() ); + QString name ( message->peer()->friendlyName() ); bool isRtl = body.isRightToLeft(); bool nameIsRtl = name.isRightToLeft(); @@ -470,8 +477,10 @@ // Prepare the strings for HTML // App messages are not parsed, they may contain HTML (links to click on, etc..) // Only exception to this is presence messages to maintain consistency. - bool isPresence = message.getType() == ChatMessage::TYPE_PRESENCE; - if( message.isNormalMessage() || isPresence ) +#warning TODO + //bool isPresence = message->getType() == ChatMessage::TYPE_PRESENCE; + //if( message->isNormalMessage() || isPresence ) + if( true ) { // Extract fonts parseFont(message, font, color, fontBefore, fontAfter); @@ -490,7 +499,9 @@ } // Body can already be HTML if generated internally. - if( ! message.hasHtmlBody() ) +#warning todo +#if 0 + if( ! message->hasHtmlBody() ) { // Escape HTML, replace all emoticons, links and formatting // if this is a presence message, show emoticons only. Otherwise, show the works depending on configuration. @@ -503,19 +514,24 @@ } else { +#endif body = RichTextParser::instance()->parseMsnString( body, ( RichTextParser::FormattingOptions ) ( RichTextParser::PARSE_LINKS | ( useEmoticons_ ? RichTextParser::PARSE_EMOTICONS : 0 ) | ( useFormatting_ ? RichTextParser::PARSE_MSNPLUS : 0 ) | ( allowEmoticonLinks_ ? 0 : RichTextParser::DISALLOW_EMO_LINKS ) ), handle, pendingEmoticonTags_ ); +#if 0 } +#endif if( useFontEffects_ ) { parseEffects( body ); } +#if 0 } +#endif } // Replace newlines with <br/> tags @@ -526,12 +542,22 @@ if( showTime_ ) { // Get the time - const QDateTime &messageDate = message.getDateTime(); + const QDateTime &messageDate = message->dateTime(); timestamp = messageDate.toTime_t(); } // Get message type for XSL +#warning TODO + if( message->isIncoming() ) + { + typeString = "incoming"; + } + else + { + typeString = "outgoing"; + } +#if 0 switch(type) { case ChatMessage::TYPE_INCOMING: typeString = "incoming"; break; @@ -548,6 +574,7 @@ typeString = "notification"; break; } +#endif // IMPORTANT: @@ -584,16 +611,19 @@ } // The contact can be empty for some notification messges - if(! message.getContactHandle().isEmpty() ) + if( message->peer() != 0 ) { xmlMessage += " <from>\n" - " <contact contactId='" + KMessShared::htmlEscape( message.getContactHandle() ) + "'>\n"; + " <contact contactId='" + KMessShared::htmlEscape( message->peer()->id() ) + "'>\n"; - // If the user doesn't have a display picture, the style will use a default image. - if( ! message.getContactPicturePath().isEmpty() && QFile::exists( message.getContactPicturePath() ) ) + // If the user doesn't have a display picture, the style will use a default image. +#warning todo +#if 0 + if( ! message->getContactPicturePath().isEmpty() && QFile::exists( message->getContactPicturePath() ) ) { - xmlMessage += " <displayPicture url='" + KMessShared::htmlEscape( message.getContactPicturePath() ) + "' />\n"; + xmlMessage += " <displayPicture url='" + KMessShared::htmlEscape( message->getContactPicturePath() ) + "' />\n"; } +#endif if( ! name.isEmpty() ) { @@ -900,11 +930,10 @@ // Parse the font tags -void ChatMessageStyle::parseFont(const ChatMessage &message, QFont &font, QString &color, QString& fontBefore, QString& fontAfter) const +void ChatMessageStyle::parseFont(KMess::TextMessage *message, QFont &font, QString &color, QString& fontBefore, QString& fontAfter) const { - // Extract the font from the message. - ChatMessage::MessageType type = message.getType(); - if( useContactFont_ && (type == ChatMessage::TYPE_INCOMING || type == ChatMessage::TYPE_OFFLINE_INCOMING) ) + // Extract the font from the message-> + if( useContactFont_ && message->isIncoming() ) { // Replace the given font with the user's stored contact font font = contactFont_; @@ -913,14 +942,14 @@ else { // Use the font settings from the message - font = message.getFont(); - color = message.getFontColor(); + font = message->font(); + color = message->color().name(); } // Include the dir="rtl" tag to the font so the text is at least displayed in the right direction. // To make it align right as well, the dir needs to be assigned to a block element. // This can't be done here as it would influence the chat style. - QString fontDir( message.getBody().isRightToLeft() ? "rtl" : "ltr" ); + QString fontDir( message->message().isRightToLeft() ? "rtl" : "ltr" ); // Set the font size, be it the user's or the contacts' QString size( " style=\"font-size:" + QString::number( font.pointSize() ) + "pt\"" ); @@ -949,9 +978,9 @@ // The the contact font color -void ChatMessageStyle::setContactFontColor(const QString &fontColor) +void ChatMessageStyle::setContactFontColor(const QString &color) { - contactFontColor_ = fontColor; + contactFontColor_ = color; } Modified: trunk/kmess/src/chat/chatmessagestyle.h =================================================================== --- trunk/kmess/src/chat/chatmessagestyle.h 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatmessagestyle.h 2009-09-19 14:20:45 UTC (rev 5484) @@ -18,7 +18,7 @@ #ifndef CHATMESSAGESTYLE_H #define CHATMESSAGESTYLE_H -#include "../network/messages/chatmessage.h" +#include "../network/messages/textmessage.h" #include <QFont> #include <QString> @@ -26,6 +26,10 @@ class XslTransformation; +namespace KMess +{ + class KMess::TextMessage; +} @@ -49,11 +53,11 @@ // Return whether XSL conversion works with the current style bool canConvert() const; // Convert a chat message to HTML string - QString convertMessage(const ChatMessage &message); + QString convertMessage(KMess::TextMessage *message); // Convert a chat message to XML - QString convertMessageToXml( const ChatMessage &message, bool isHistory = false ); + QString convertMessageToXml( KMess::TextMessage *message, bool isHistory = false ); // Convert a group of chat message to HTML string - QString convertMessageList(const QList<ChatMessage*> &messageList); + QString convertMessageList(const QList<KMess::TextMessage*> &messageList); // Convert the message root. QString convertMessageRoot(); // Convert a string with XML to HTML @@ -129,7 +133,7 @@ private: // private methods // Convert the message as HTML, fallback method when XML fails. - QString createFallbackMessage(const ChatMessage &message); + QString createFallbackMessage(KMess::TextMessage *message); // Return whether the given result is empty bool isEmptyResult( const QString &parsedMessage ); // Replace the newline characters @@ -137,7 +141,7 @@ // Do some effects characters (ie, bold, underline and italic specials) void parseEffects(QString &text) const; // Parse the font tags. - void parseFont(const ChatMessage &message, QFont &font, QString &color, QString& fontBefore, QString& fontAfter) const; + void parseFont(KMess::TextMessage *message, QFont &font, QString &color, QString& fontBefore, QString& fontAfter) const; // Strip the DOCTYPE tag from the message QString stripDoctype( const QString &parsedMessage ); Modified: trunk/kmess/src/chat/chatmessageview.cpp =================================================================== --- trunk/kmess/src/chat/chatmessageview.cpp 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatmessageview.cpp 2009-09-19 14:20:45 UTC (rev 5484) @@ -17,6 +17,8 @@ #include "chatmessageview.h" +#include "../network/msncontact.h" + #include "../dialogs/addemoticondialog.h" #include "../utils/kmessshared.h" #include "../account.h" @@ -222,8 +224,8 @@ QString ChatMessageView::getHistory( Account::ChatExportFormat format, bool append, QString &appendPoint ) { QString chatHistory; - QString handle( chatMessages_.first()->getContactHandle() ); - uint date ( chatMessages_.first()->getDateTime().toTime_t() ); + QString handle( chatMessages_.first()->peer()->id() ); + uint date ( chatMessages_.first()->dateTime().toTime_t() ); bool oldAllowEmoticonLinks = chatStyle_->getAllowEmoticonLinks(); chatStyle_->setAllowEmoticonLinks( false ); @@ -241,33 +243,38 @@ { // Convert every message in the history to XML // TODO - Make this extremely slow process faster by caching the chat's XML. - QList<ChatMessage*> groupedMessages; - QListIterator<ChatMessage*> it( chatMessages_ ); + QList<KMess::TextMessage*> groupedMessages; + QListIterator<KMess::TextMessage*> it( chatMessages_ ); while( it.hasNext() ) { - ChatMessage *chatMessage = it.next(); + KMess::TextMessage *chatMessage = it.next(); // Chat messages from the same person are always grouped together +#warning todo +#if 0 if( chatMessage->isNormalMessage() ) { +#endif if( groupedMessages.isEmpty() ) { groupedMessages.append( chatMessage ); continue; } - ChatMessage *lastContactMessage = groupedMessages.last(); + KMess::TextMessage *lastContactMessage = groupedMessages.last(); // Check for contact handle and message type, so offline messages won't be // grouped with normal incoming messages. - if( lastContactMessage->getContactHandle() == chatMessage->getContactHandle() - && lastContactMessage->getType() == chatMessage->getType() ) + if( lastContactMessage->peer()->id() == chatMessage->peer()->id() + && lastContactMessage->type() == chatMessage->type() ) { groupedMessages.append( chatMessage ); continue; } +#if 0 } +#endif // There are messages to flush if( ! groupedMessages.isEmpty() ) @@ -276,37 +283,43 @@ if( groupedMessages.count() > 1 ) { chatHistory += "<messagegroup>\n"; - foreach( ChatMessage *groupMessage, groupedMessages ) + foreach( KMess::TextMessage *groupMessage, groupedMessages ) { - chatHistory += chatStyle_->convertMessageToXml( *groupMessage, true ); + chatHistory += chatStyle_->convertMessageToXml( groupMessage, true ); } chatHistory += "</messagegroup>\n"; } else { - chatHistory += chatStyle_->convertMessageToXml( *( groupedMessages.first() ), true ); + chatHistory += chatStyle_->convertMessageToXml( groupedMessages.first(), true ); } - groupedMessages.clear(); + + groupedMessages.clear(); } // All chat messages are grouped, special messages never are +#warning todo +#if 0 if( chatMessage->isNormalMessage() ) { +#endif groupedMessages.append( chatMessage ); +#if 0 } else { - chatHistory += chatStyle_->convertMessageToXml( *chatMessage, true ); + chatHistory += chatStyle_->convertMessageToXml( chatMessage, true ); } +#endif } // Flush the last group of messages, if any if( ! groupedMessages.isEmpty() ) { chatHistory += "<messagegroup>\n"; - foreach( ChatMessage *groupMessage, groupedMessages ) + foreach( KMess::TextMessage *groupMessage, groupedMessages ) { - chatHistory += chatStyle_->convertMessageToXml( *groupMessage, true ); + chatHistory += chatStyle_->convertMessageToXml( groupMessage, true ); } chatHistory += "</messagegroup>\n"; } @@ -390,33 +403,38 @@ KGlobal::locale()->formatDateTime( QDateTime::fromTime_t( date ), KLocale::ShortDate ) ) + "\n------------------------------------------------------------\n"; - QListIterator<ChatMessage*> it( chatMessages_ ); + QListIterator<KMess::TextMessage*> it( chatMessages_ ); while( it.hasNext() ) { - const ChatMessage *chatMessage = it.next(); + const KMess::TextMessage *chatMessage = it.next(); // Add chat messages +#warning todo +#if 0 if( chatMessage->isNormalMessage() ) { - if( groupFollowups && lastHandle == chatMessage->getContactHandle() ) +#endif + if( groupFollowups && lastHandle == chatMessage->peer()->id() ) { - chatHistory += " " + chatMessage->getBody().trimmed() + "\n"; + chatHistory += " " + chatMessage->message().trimmed() + "\n"; } else { - chatHistory += "(" + chatMessage->getTime().toString( Qt::DefaultLocaleShortDate ) + ")" - " " + chatMessage->getContactHandle() + ":\n" - " " + chatMessage->getBody().trimmed() + "\n"; + chatHistory += "(" + chatMessage->time().toString( Qt::DefaultLocaleShortDate ) + ")" + " " + chatMessage->peer()->id() + ":\n" + " " + chatMessage->message().trimmed() + "\n"; } - lastHandle = chatMessage->getContactHandle(); + lastHandle = chatMessage->peer()->id(); +#if 0 } // Add system messages etc else { - chatHistory += "(" + chatMessage->getTime().toString( Qt::DefaultLocaleShortDate ) + ")" - " " + chatMessage->getBody().trimmed() + "\n"; + chatHistory += "(" + chatMessage->time().toString( Qt::DefaultLocaleShortDate ) + ")" + " " + chatMessage->message().trimmed() + "\n"; lastHandle = QString(); } +#endif } // NOTE If appending is on, the chat will be inserted anyways at the end of file: @@ -485,10 +503,10 @@ // Recreate the entire chat history QString newHtml; bool clearingMarkReached = false; - QListIterator<ChatMessage *> it(chatMessages_); + QListIterator<KMess::TextMessage *> it(chatMessages_); while( it.hasNext() ) { - ChatMessage *chatMessage = it.next(); + KMess::TextMessage *chatMessage = it.next(); if( chatClearingMark_ && ! fullHistory && ! clearingMarkReached ) { @@ -502,17 +520,20 @@ } } +#warning todo +#if 0 if( groupFollowups && chatMessage->isNormalMessage() ) { +#endif // See if the message should be added to the queue. // There could be another follow-up message later. if( ! lastContactMessages_.isEmpty() ) { // Check whether the contact differs or it's a different type, // the handle to difference between "offline_incoming" and "incoming" messages. - ChatMessage *lastMessage = lastContactMessages_.last(); - if( lastMessage->getType() != chatMessage->getType() - || lastMessage->getContactHandle() != chatMessage->getContactHandle() ) + KMess::TextMessage *lastMessage = lastContactMessages_.last(); + if( lastMessage->type() != chatMessage->type() + || lastMessage->peer()->id() != chatMessage->peer()->id() ) { // New message should not be added to queue, // so previous message was the last one. Flush the queue. @@ -525,6 +546,7 @@ // Append new contact message to the queue. lastContactMessages_.append(chatMessage); +#if 0 } else { @@ -543,6 +565,7 @@ + chatStyle_->convertMessage( *chatMessage ) + "</div>\n"; } +#endif } // If there are still grouped messages, add them after setHtml(). @@ -777,16 +800,17 @@ // Add the given message to the message browser. -void ChatMessageView::showMessage( const ChatMessage &message ) +void ChatMessageView::showMessage( KMess::TextMessage *message ) { // Avoid duplicating the same presence message. - if( message.getType() == ChatMessage::TYPE_PRESENCE +#if 0 + if( message.getType() == KMess::TextMessage::TYPE_PRESENCE && ! chatMessages_.isEmpty() ) { - ChatMessage *lastChatMessage = chatMessages_.last(); + KMess::TextMessage *lastChatMessage = chatMessages_.last(); if( lastChatMessage->getType() == message.getType() && lastChatMessage->getContentsClass() == message.getContentsClass() - && lastChatMessage->getContactHandle() == message.getContactHandle() ) + && lastChatMessage->peer()->id() == message.getContactHandle() ) { #ifdef KMESSDEBUG_CHATMESSAGEVIEW kDebug() << "Not showing presence message for the same contact again."; @@ -794,37 +818,41 @@ return; } } +#endif // Clone the message so it can be stored in the local qlist objects. - ChatMessage *chatMessage = message.clone(); QString messageHtml; // See if the same contact sent the previous message too. // In that case, we combine both messages for the chat style. // Otherwise the lastContactMessages_ list is reset. +#if 0 if( chatMessage->isNormalMessage() && chatStyle_->getGroupFollowupMessages() ) { +#endif if( ! lastContactMessages_.isEmpty() ) { - ChatMessage *lastContactMessage = lastContactMessages_.last(); + KMess::TextMessage *lastContactMessage = lastContactMessages_.last(); // Check for contact handle and message type, so offline messages won't be // grouped with normal incoming messages. - if( lastContactMessage->getContactHandle() == chatMessage->getContactHandle() - && lastContactMessage->getType() == chatMessage->getType() ) + if( lastContactMessage->peer()->id() == message->peer()->id() + && lastContactMessage->type() == message->type() ) { - lastContactMessages_.append(chatMessage); + lastContactMessages_.append( message ); } else { lastContactMessages_.clear(); } } +#if 0 } else { lastContactMessages_.clear(); } +#endif // Convert the message, add to the browser. if( lastContactMessages_.count() > 1 ) @@ -842,13 +870,15 @@ kDebug() << "appending new message."; #endif - messageHtml = chatStyle_->convertMessage( *chatMessage ); + messageHtml = chatStyle_->convertMessage( message ); addHtmlMessage( messageHtml ); +#if 0 if( chatMessage->isNormalMessage() ) { - lastContactMessages_.append( chatMessage ); - } +#endif + lastContactMessages_.append( message ); + //} } // If the parser found custom emoticons, add them. @@ -867,7 +897,7 @@ // - changing chat styles // - regenerating messages to group them // - regenerating messages for received custom emoticons. - chatMessages_.append( chatMessage ); + chatMessages_.append( message ); // Call the scroll function a bit later, // so Qt/kde get a chance to update the height before the scrolling starts. Modified: trunk/kmess/src/chat/chatmessageview.h =================================================================== --- trunk/kmess/src/chat/chatmessageview.h 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatmessageview.h 2009-09-19 14:20:45 UTC (rev 5484) @@ -24,10 +24,13 @@ #include <KParts/BrowserExtension> #include <KAction> -class ChatMessage; class ChatMessageStyle; class QStringList; +namespace KMess +{ + class TextMessage; +} /** @@ -83,7 +86,7 @@ // Scroll to the bottom of the chat browser void scrollChatToBottom(); // Add the given message to the message browser. - void showMessage( const ChatMessage &message ); + void showMessage( KMess::TextMessage *message ); // Replace an application's accept/reject/cancel links with another text void updateApplicationMessage( const QString &messageId, const QString &newMessage ); // Update the chat style @@ -108,15 +111,15 @@ private: // private properties // Message which was last deleted by a Clear Chat action - ChatMessage *chatClearingMark_; + KMess::TextMessage *chatClearingMark_; // The chat contents; every user, contact or kmess message is contained here - QList<ChatMessage*> chatMessages_; + QList<KMess::TextMessage*> chatMessages_; // The XSL transformation handler ChatMessageStyle *chatStyle_; // Whether or not the chat message area is empty bool isEmpty_; // The last messages sent by the same contact. This is used to combine them - QList<ChatMessage*> lastContactMessages_; + QList<KMess::TextMessage*> lastContactMessages_; // The last message id, for replaceLastMessage() int lastMessageId_; // The list of custom emoticons which haven't been received yet Modified: trunk/kmess/src/chat/chatview.cpp =================================================================== --- trunk/kmess/src/chat/chatview.cpp 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatview.cpp 2009-09-19 14:20:45 UTC (rev 5484) @@ -17,6 +17,9 @@ #include "chatview.h" +#include "../network/messages/textmessage.h" +#include "../network/msncontact.h" + #include "../contact/contact.h" #include "../dialogs/addemoticondialog.h" #include "../model/contactlist.h" @@ -475,7 +478,7 @@ // Add the given message to the message browser. -void ChatView::showMessage( const ChatMessage &message ) +void ChatView::showMessage( KMess::TextMessage *message ) { // Send it to the message view to have it shown chatMessageView_->showMessage( message ); @@ -483,7 +486,7 @@ // Notify the contacts widget, so that it updates the right contact frame if( ! KMESS_NULL( contactsWidget_ ) ) { - contactsWidget_->messageReceived( message.getContactHandle() ); + contactsWidget_->messageReceived( message->peer()->id() ); } } Modified: trunk/kmess/src/chat/chatview.h =================================================================== --- trunk/kmess/src/chat/chatview.h 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatview.h 2009-09-19 14:20:45 UTC (rev 5484) @@ -31,9 +31,9 @@ class KMessTest; namespace Isf { class Drawing; } +namespace KMess { class TextMessage; } - /** * The view widget of a chat with a contact with message display and entry. * @@ -76,7 +76,7 @@ // Enable or disable the parts of the chat which allow user interaction void setEnabled( bool isEnabled ); // Add the given message to the message browser. - void showMessage( const ChatMessage &message ); + void showMessage( KMess::TextMessage *message ); // Show a dialog to save the chat. void showSaveChatDialog(); // The user clicked the "find text" option in the context menu Modified: trunk/kmess/src/chat/chatwindow.cpp =================================================================== --- trunk/kmess/src/chat/chatwindow.cpp 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatwindow.cpp 2009-09-19 14:20:45 UTC (rev 5484) @@ -17,6 +17,9 @@ #include "chatwindow.h" +#include "../network/networkglobals.h" +#include "../network/messages/textmessage.h" + #include "../contact/contact.h" #include "../contact/msnobject.h" #include "../contact/invitedcontact.h" @@ -30,7 +33,6 @@ #include "../mainwindow.h" #include "../kmessapplication.h" #include "../kmessdebug.h" -#include "../network/networkglobals.h" #include "chat.h" #include "config-kmess.h" #include "contactswidget.h" @@ -262,8 +264,8 @@ this, SLOT ( slotUpdateChatInfo() ) ); connect( newChat, SIGNAL( gotNudge() ), this, SLOT ( slotGotNudge() ) ); - connect( newChat, SIGNAL( gotChatMessage(ChatMessage,Chat*) ), - this, SLOT ( slotGotChatMessage(ChatMessage,Chat*) ) ); + connect( newChat, SIGNAL( gotChatMessage(KMess::TextMessage,Chat*) ), + this, SLOT ( slotGotChatMessage(KMess::TextMessage,Chat*) ) ); connect( newChat, SIGNAL( gotTypingMessage(Chat*) ), this, SLOT ( slotGotTypingMessage(Chat*) ) ); @@ -1225,12 +1227,15 @@ { const QString message( "* " + Account::connectedAccount->getFriendlyName() + " " + arguments.join( " " ) ); getCurrentChat()->sendChatMessage( message ); +#warning todo +#if 0 ChatMessage chatmessage( ChatMessage::TYPE_OUTGOING, ChatMessage::CONTENT_MESSAGE, false, message, Account::connectedAccount->getHandle(), Account::connectedAccount->getFriendlyName( STRING_ORIGINAL ), Account::connectedAccount->getDisplayPicture(), Account::connectedAccount->getSettingFont( "FontUser" ), Account::connectedAccount->getSettingString( "FontUserColor" ) ); getCurrentChat()->showMessage( chatmessage ); +#endif } // Unknown command else @@ -1497,6 +1502,8 @@ { kWarning() << "Neither Ink formats are supported by the participants!"; +#warning todo +#if 0 getCurrentChat()->showMessage( ChatMessage( ChatMessage::TYPE_SYSTEM, ChatMessage::CONTENT_SYSTEM_ERROR, true, @@ -1505,6 +1512,7 @@ "the contacts do not support it." ), QString(), QString() ) ); +#endif return; } @@ -1553,6 +1561,8 @@ // Show the message in the browser window const QString& text( "<img src='data:image/png;base64," + buffer.data().toBase64() + "'>" ); +#warning todo +#if 0 ChatMessage message( ChatMessage::TYPE_OUTGOING, ChatMessage::CONTENT_MESSAGE_INK, false, @@ -1562,6 +1572,7 @@ Account::connectedAccount->getDisplayPicture() ); getCurrentChat()->showMessage( message ); +#endif // Clear and reset the state of the send button inkCanvas_->clear(); @@ -1651,6 +1662,8 @@ // Show the message in the browser window +#warning todo +#if 0 ChatMessage message( ChatMessage::TYPE_OUTGOING, ChatMessage::CONTENT_MESSAGE, false, @@ -1671,6 +1684,7 @@ // Reset the last sentence counter. // showMessage() updates chatMessages_ indexSentences_ = quickRetypeList.size(); +#endif } @@ -1983,7 +1997,7 @@ // A message has been received -void ChatWindow::slotGotChatMessage( const ChatMessage &message, Chat *chat ) +void ChatWindow::slotGotChatMessage( KMess::TextMessage *message, Chat *chat ) { Q_UNUSED( message ); Modified: trunk/kmess/src/chat/chatwindow.h =================================================================== --- trunk/kmess/src/chat/chatwindow.h 2009-09-19 11:45:52 UTC (rev 5483) +++ trunk/kmess/src/chat/chatwindow.h 2009-09-19 14:20:45 UTC (rev 5484) @@ -32,7 +32,6 @@ // forward declarations class Chat; -class ChatMessage; class ChatView; class Em... [truncated message content] |