[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdenetwork/kopete/protocols/jabber
From:       Pali Rohár <pali.rohar () gmail ! com>
Date:       2013-05-22 0:52:08
Message-ID: 20130522005208.083B1AC85D () svn ! kde ! org
[Download RAW message or body]

SVN commit 1355999 by pali:

Implement human readable "Supported Features" tooltip line for Jabber contacts


 M  +29 -11    jabberbasecontact.cpp  


--- trunk/KDE/kdenetwork/kopete/protocols/jabber/jabberbasecontact.cpp \
#1355998:1355999 @@ -269,24 +269,42 @@
 		}
 		
 		// Supported features
-#if 0  //disabled because it's just an ugly and long list of incomprehensible \
namespaces to the user +		QStringList features;
 		QStringList supportedFeatures = (*it)->features().list();
 		QStringList::ConstIterator featuresIt, featuresItEnd = \
                supportedFeatures.constEnd();
-		if( !supportedFeatures.empty() )
-			resourceListStr += QString( "<tr><td>Supported Features:" );
 		for( featuresIt = supportedFeatures.constBegin(); featuresIt != featuresItEnd; \
++featuresIt )  {
 			XMPP::Features tempFeature(*featuresIt);
-			resourceListStr += QString("\n<br>");
+			QString name;
 			if ( tempFeature.id() > XMPP::Features::FID_None )
-				resourceListStr += tempFeature.name() + QString(" (");
-			resourceListStr += *featuresIt;
-			if ( tempFeature.id() > Features::FID_None )
-				resourceListStr += QString(")");	
+				name = tempFeature.name();
+			if ( name.isEmpty() ) {
+				if ( *featuresIt == "http://jabber.org/protocol/mood" )
+					name = i18n("User Mood");
+				else if ( *featuresIt == "http://jabber.org/protocol/muc" )
+					name = i18n("Groupchat");
+				else if ( *featuresIt == "http://jabber.org/protocol/xhtml-im" )
+					name = i18n("Rich text messages");
+				else if ( *featuresIt == "jabber:x:data" )
+					name = i18n("Data Forms");
+				else if ( *featuresIt == "jabber:x:encrypted" || *featuresIt == \
"jabber:x:signed" ) +					name = i18n("OpenPGP");
+				else if ( *featuresIt == "jabber:x:event" )
+					name = i18n("Message Events");
+				else if ( *featuresIt == "urn:xmpp:receipts" )
+					name = i18n("Message Delivery Receipts");
+				else if ( featuresIt->startsWith("http://jabber.org/protocol/si") )
+					name = i18n("File transfers");
+				else if ( featuresIt->startsWith("http://jabber.org/protocol/disco") )
+					name = i18n("Service Discovery");
 		}
-		if( !supportedFeatures.empty() )
-			resourceListStr += QString( "</td></tr>" );
-#endif
+			if ( !name.isEmpty() )
+				features << name;
+		}
+		if( !features.empty() ) {
+			features.removeDuplicates();
+			resourceListStr += QString( "<tr><td>%1: %2</td></tr>" ).arg ( i18n ( "Supported \
Features" ), features.join( ", " ) ); +		}
 		
 		// resource timestamp
 		resourceListStr += QString ( "<tr><td>%1: %2</td></tr>" ).


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic