From 7542bb6bd597400167da57dc43dd37ff85a6e173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Wed, 11 Dec 2019 01:41:26 +0100 Subject: kopete: Restore the MSN protocol because a replacement MSN server was created. This reverts commits 0486034738 - 2d5f9c55da and f6fd4ab6c0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko (cherry picked from commit 73f00336178a9f312bac2992649120d462e0ac2d) --- kopete/libkopete/API-TODO | 3 ++- kopete/libkopete/kopeteawaydialog.h | 2 +- kopete/libkopete/kopetecontact.h | 6 +++--- kopete/libkopete/kopetecontactlist.cpp | 27 ++++++++++++++++++++++----- kopete/libkopete/kopetemetacontact.h | 2 +- kopete/libkopete/kopeteonlinestatus.h | 5 ++++- 6 files changed, 33 insertions(+), 12 deletions(-) (limited to 'kopete/libkopete') diff --git a/kopete/libkopete/API-TODO b/kopete/libkopete/API-TODO index c9684b8a..4914b00c 100644 --- a/kopete/libkopete/API-TODO +++ b/kopete/libkopete/API-TODO @@ -85,7 +85,8 @@ KCL::selectedGroups can be removed outright. Allow emoticons and emoticon sets to be flagged as being for only a specific protocol. Allow the user to have more than one emoticon set enabled at once, and to set priorities. -This way, the user will be able to have a base theme, a set of Gadu-Gadu-specific emoticons and so on. +This way, the user will be able to have a base theme, a set of MSN-specific emoticons, a +set of Gadu-Gadu-specific emoticons and so on. Possibly move emoticon support into a plugin? diff --git a/kopete/libkopete/kopeteawaydialog.h b/kopete/libkopete/kopeteawaydialog.h index 0f4aaa29..b9470af9 100644 --- a/kopete/libkopete/kopeteawaydialog.h +++ b/kopete/libkopete/kopeteawaydialog.h @@ -128,7 +128,7 @@ public slots: * Shows the away dialog, but maintains a "state" * so you can specify if you're setting away, * do not disturb, gone, etc for protocols that - * support this like ICQ. + * support this like ICQ and MSN. * * This string does not have any special internal * meaning, but rather will get passed to setAway() diff --git a/kopete/libkopete/kopetecontact.h b/kopete/libkopete/kopetecontact.h index b92322f5..f8a6052d 100644 --- a/kopete/libkopete/kopetecontact.h +++ b/kopete/libkopete/kopetecontact.h @@ -79,7 +79,7 @@ public: * Across those boundaries ids may occur multiple times. * The id is solely for comparing items safely (using pointers is * more crash-prone). DO NOT assume anything regarding the id's - * value! Even if it may look like an ICQ UIN, + * value! Even if it may look like an ICQ UIN or an MSN passport, * this is undefined and may change at any time! * * @param account is the parent account. this constructor automatically register the contact to the account @@ -106,7 +106,7 @@ public: * Across those boundaries ids may occur multiple times. * The id is solely for comparing items safely (using pointers is * more crash-prone). DO NOT assume anything regarding the id's - * value! Even if it may look like an ICQ UIN, + * value! Even if it may look like an ICQ UIN or an MSN passport, * this is undefined and may change at any time! * * @return The unique id of the contact @@ -274,7 +274,7 @@ public: /** * Returns the primary message manager affiliated with this contact * Although a contact can have more than one active message manager - * only one message manager will + * (as is the case with MSN at least), only one message manager will * ever be the contacts "primary" message manager.. aka the 1 on 1 chat. * This function should always return that instance. * diff --git a/kopete/libkopete/kopetecontactlist.cpp b/kopete/libkopete/kopetecontactlist.cpp index dc8cdeb1..f8aecb32 100644 --- a/kopete/libkopete/kopetecontactlist.cpp +++ b/kopete/libkopete/kopetecontactlist.cpp @@ -358,6 +358,11 @@ void ContactList::slotPhotoChanged() emit globalIdentityChanged(Kopete::Global::Properties::self()->photo().key(), myself()->picture().path()); mutex=false; + /* The mutex is usefull to don't have such as stack overflow + Kopete::ContactList::slotPhotoChanged -> Kopete::ContactList::globalIdentityChanged + MSNAccount::slotGlobalIdentityChanged -> Kopete::Contact::propertyChanged + Kopete::MetaContact::slotPropertyChanged -> Kopete::MetaContact::photoChanged -> Kopete::ContactList::slotPhotoChanged + */ } /////////////////////////////////////////////////////////////////////////////////////////////// @@ -517,7 +522,7 @@ void ContactList::convertContactList( const TQString &fileName, uint /* fromVers { // Convert address book fields. // Jabber will be called "xmpp", Aim/Toc and Aim/Oscar both will - // be called "aim". AIM, IRC, Oscar and SMS don't use address + // be called "aim". MSN, AIM, IRC, Oscar and SMS don't use address // book fields yet; Gadu and ICQ can be converted as-is. // As Yahoo is unfinished we won't try to convert at all. TQString id = oldContactElement.attribute( TQString::fromLatin1( "id" ), TQString() ); @@ -607,7 +612,12 @@ void ContactList::convertContactList( const TQString &fileName, uint /* fromVers bool convertOldAim = false; uint fieldCount = 1; TQString addressBookLabel; - if( id == TQString::fromLatin1("IRCProtocol") ) + if( id == TQString::fromLatin1("MSNProtocol") ) + { + fieldCount = 3; + addressBookLabel = TQString::fromLatin1("msn"); + } + else if( id == TQString::fromLatin1("IRCProtocol") ) { fieldCount = 3; addressBookLabel = TQString::fromLatin1("irc"); @@ -647,7 +657,7 @@ void ContactList::convertContactList( const TQString &fileName, uint /* fromVers } // Do the actual conversion - if ( id == TQString::fromLatin1( "OscarProtocol" ) || + if( id == TQString::fromLatin1( "MSNProtocol" ) || id == TQString::fromLatin1( "OscarProtocol" ) || id == TQString::fromLatin1( "AIMProtocol" ) || id == TQString::fromLatin1( "IRCProtocol" ) || id == TQString::fromLatin1( "ICQProtocol" ) || id == TQString::fromLatin1( "JabberProtocol" ) || id == TQString::fromLatin1( "SMSProtocol" ) || id == TQString::fromLatin1( "WPProtocol" ) || @@ -689,7 +699,14 @@ void ContactList::convertContactList( const TQString &fileName, uint /* fromVers else dataField.appendChild( newList.createTextNode( strList[ idx + 1 ] ) ); - if( id == TQString::fromLatin1("IRCProtocol") ) + if( id == TQString::fromLatin1("MSNProtocol") ) + { + dataField = newList.createElement( TQString::fromLatin1( "plugin-data-field" ) ); + pluginData[ id ].appendChild( dataField ); + dataField.setAttribute( TQString::fromLatin1( "key" ), TQString::fromLatin1( "groups" ) ); + dataField.appendChild( newList.createTextNode( strList[ idx + 2 ] ) ); + } + else if( id == TQString::fromLatin1("IRCProtocol") ) { dataField = newList.createElement( TQString::fromLatin1( "plugin-data-field" ) ); pluginData[ id ].appendChild( dataField ); @@ -725,7 +742,7 @@ void ContactList::convertContactList( const TQString &fileName, uint /* fromVers idx += 2; } - // AIM, IRC, Oscar and SMS didn't store address book fields up + // MSN, AIM, IRC, Oscar and SMS didn't store address book fields up // to now, so create one if( id != TQString::fromLatin1("ICQProtocol") && id != TQString::fromLatin1("JabberProtocol") && id != TQString::fromLatin1("WPProtocol") && id != TQString::fromLatin1("GaduProtocol") ) { diff --git a/kopete/libkopete/kopetemetacontact.h b/kopete/libkopete/kopetemetacontact.h index b7f9fbc7..15d82228 100644 --- a/kopete/libkopete/kopetemetacontact.h +++ b/kopete/libkopete/kopetemetacontact.h @@ -483,7 +483,7 @@ public slots: * * Like sendMessage, but this time a full-blown chat will be opened. * Most protocols can't distinguish between the two and are either - * completely session based like ICQ or completely message based like + * completely session based like MSN or completely message based like * ICQ the only true difference is the GUI shown to the user. * * returns the Contact that was chosen as the preferred diff --git a/kopete/libkopete/kopeteonlinestatus.h b/kopete/libkopete/kopeteonlinestatus.h index dbdae1ff..6ad34c55 100644 --- a/kopete/libkopete/kopeteonlinestatus.h +++ b/kopete/libkopete/kopeteonlinestatus.h @@ -74,7 +74,10 @@ public: /** * Refers to protocols where state cannot be determined. This * applies to SMS contacts (text messages via mobile phones), - * since there's no presence information over SMS. Lastly, libkopete + * since there's no presence information over SMS, but also + * to e.g. MSN contacts that are not on your contact list, + * since MSN only allows a user to query online state for + * users that are formally on the contact list. Lastly, libkopete * itself uses the Unknown state in @ref MetaContact for * meta contacts that have no child contacts at all. */ -- cgit v1.2.1