22 #include "standardcontactgroupformatter.h"
24 #include <akonadi/contact/contactgroupexpandjob.h>
25 #include <akonadi/item.h>
26 #include <kabc/addressee.h>
27 #include <kcolorscheme.h>
30 #include <kstringhandler.h>
32 using namespace Akonadi;
45 KABC::ContactGroup group;
48 group = localItem.
payload<KABC::ContactGroup>();
53 if ( group.name().isEmpty() && group.count() == 0 ) {
57 if ( group.contactReferenceCount() != 0 ) {
63 group.removeAllContactData();
64 foreach (
const KABC::Addressee &contact, job->
contacts() ) {
65 group.append( KABC::ContactGroup::Data( contact.realName(), contact.preferredEmail() ) );
71 QString strGroup = QString::fromLatin1(
72 "<table cellpadding=\"3\" cellspacing=\"0\" width=\"100%\">"
74 "<td align=\"right\" valign=\"top\" width=\"30%\">"
75 "<img src=\"%1\" width=\"100\" vspace=\"1\">"
77 "<td align=\"left\" width=\"70%\"><font size=\"+2\"><b>%2</b></font></td>"
80 .arg( QLatin1String(
"group_photo" ) )
83 strGroup += QLatin1String(
"<table width=\"100%\">" );
85 for ( uint i = 0; i < group.dataCount(); ++i ) {
86 const KABC::ContactGroup::Data data = group.data( i );
88 if ( data.email().isEmpty() ) {
89 strGroup.append( QString::fromLatin1(
"<tr><td align=\"right\" width=\"50%\"><b><font color=\"grey\">%1</font></b></td>"
90 "<td width=\"50%\"></td></tr>" )
91 .arg( data.name() ) );
93 KABC::Addressee contact;
94 contact.setFormattedName( data.name() );
95 contact.insertEmail( data.email() );
97 const QString fullEmail = QLatin1String(
"<a href=\"mailto:" ) + QString::fromLatin1( KUrl::toPercentEncoding( contact.fullEmail() ) ) + QString::fromLatin1(
"\">%1</a>" ).arg( contact.preferredEmail() );
99 strGroup.append( QString::fromLatin1(
"<tr><td align=\"right\" width=\"50%\"><b><font color=\"grey\">%1</font></b></td>"
100 "<td valign=\"bottom\" align=\"left\" width=\"50%\"><font><%2></font></td></tr>" )
101 .arg( contact.realName() )
107 strGroup.append( QString::fromLatin1(
"<tr><td colspan=\"2\"> </td></tr><tr><td align=\"right\" width=\"30%\"><b><font color=\"grey\">%1</font></b></td>"
108 "<td valign=\"bottom\" align=\"left\" width=\"50%\"><font>%2</font></td></tr>" )
109 .arg( map.value( QLatin1String(
"title" ) ).toString() )
110 .arg( map.value( QLatin1String(
"value" ) ).toString() ) );
113 strGroup.append( QString::fromLatin1(
"</table>\n" ) );
115 QString document = QString::fromLatin1(
"<div align=\"center\">%1</div>" ).arg( strGroup );
121 document = QString::fromLatin1(
124 " <style type=\"text/css\">"
125 " a {text-decoration:none; color:%1}"
128 "<body text=\"%1\" bgcolor=\"%2\">"
132 .arg( KColorScheme( QPalette::Active, KColorScheme::View ).foreground().color().name() )
133 .arg( KColorScheme( QPalette::Active, KColorScheme::View ).background().color().name() )