summaryrefslogtreecommitdiffstats
path: root/kopete/libkopete
diff options
context:
space:
mode:
Diffstat (limited to 'kopete/libkopete')
-rw-r--r--kopete/libkopete/API-TODO3
-rw-r--r--kopete/libkopete/kopeteawaydialog.h2
-rw-r--r--kopete/libkopete/kopetecontact.h6
-rw-r--r--kopete/libkopete/kopetecontactlist.cpp27
-rw-r--r--kopete/libkopete/kopetemetacontact.h2
-rw-r--r--kopete/libkopete/kopeteonlinestatus.h5
6 files changed, 33 insertions, 12 deletions
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.
*/