summaryrefslogtreecommitdiffabout
path: root/libkdepim
Unidiff
Diffstat (limited to 'libkdepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/addresseeview.cpp137
1 files changed, 89 insertions, 48 deletions
diff --git a/libkdepim/addresseeview.cpp b/libkdepim/addresseeview.cpp
index 83aba48..8fecaf8 100644
--- a/libkdepim/addresseeview.cpp
+++ b/libkdepim/addresseeview.cpp
@@ -1,346 +1,387 @@
1/* 1/*
2 This file is part of libkdepim. 2 This file is part of libkdepim.
3 3
4 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 4 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
5 5
6 This library is free software; you can redistribute it and/or 6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public 7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either 8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version. 9 version 2 of the License, or (at your option) any later version.
10 10
11 This library is distributed in the hope that it will be useful, 11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details. 14 Library General Public License for more details.
15 15
16 You should have received a copy of the GNU Library General Public License 16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to 17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. 19 Boston, MA 02111-1307, USA.
20*/ 20*/
21 21
22#include <kabc/address.h> 22#include <kabc/address.h>
23#include <kabc/addressee.h> 23#include <kabc/addressee.h>
24#include <kabc/phonenumber.h> 24#include <kabc/phonenumber.h>
25#include <kglobal.h> 25#include <kglobal.h>
26//US#include <kglobalsettings.h> 26//US#include <kglobalsettings.h>
27#include <kiconloader.h> 27#include <kiconloader.h>
28#include <klocale.h> 28#include <klocale.h>
29//US #include <kstringhandler.h> 29//US #include <kstringhandler.h>
30#include <qscrollview.h> 30#include <qscrollview.h>
31#include <qregexp.h> 31#include <qregexp.h>
32#include <qfile.h> 32#include <qfile.h>
33#include <qapplication.h> 33#include <qapplication.h>
34 34
35 35
36#include "externalapphandler.h"
36#include "addresseeview.h" 37#include "addresseeview.h"
37 38
38 39
39#ifndef DESKTOP_VERSION 40//US #ifndef DESKTOP_VERSION
40#include <qtopia/qcopenvelope_qws.h> 41//US #include <qtopia/qcopenvelope_qws.h>
41#include <qpe/qpeapplication.h> 42//US #include <qpe/qpeapplication.h>
42#endif 43//US #endif
43 44
44static int kphoneInstalled = 0; 45//US static int kphoneInstalled = 0;
45 46
46using namespace KPIM; 47using namespace KPIM;
47 48
48AddresseeView::AddresseeView( QWidget *parent, const char *name ) 49AddresseeView::AddresseeView( QWidget *parent, const char *name )
49//US : KTextBrowser( parent, name ) 50//US : KTextBrowser( parent, name )
50 : QTextBrowser( parent, name ) 51 : QTextBrowser( parent, name )
51 52
52 53
53{ 54{
54//US setWrapPolicy( QTextEdit::AtWordBoundary ); 55//US setWrapPolicy( QTextEdit::AtWordBoundary );
55 setLinkUnderline( false ); 56 setLinkUnderline( false );
56 // setVScrollBarMode( QScrollView::AlwaysOff ); 57 // setVScrollBarMode( QScrollView::AlwaysOff );
57 //setHScrollBarMode( QScrollView::AlwaysOff ); 58 //setHScrollBarMode( QScrollView::AlwaysOff );
58 59
59//US QStyleSheet *sheet = styleSheet(); 60//US QStyleSheet *sheet = styleSheet();
60//US QStyleSheetItem *link = sheet->item( "a" ); 61//US QStyleSheetItem *link = sheet->item( "a" );
61//US link->setColor( KGlobalSettings::linkColor() ); 62//US link->setColor( KGlobalSettings::linkColor() );
62 63
63} 64}
65
64void AddresseeView::setSource(const QString& n) 66void AddresseeView::setSource(const QString& n)
65{ 67{
66 qDebug("********AddresseeView::setSource %s", n.latin1()); 68 qDebug("********AddresseeView::setSource %s", n.latin1());
67#ifndef DESKTOP_VERSION 69
68 if ( n.left( 6 ) == "mailto" ) { 70 if ( n.left( 6 ) == "mailto" )
69 QCopEnvelope e("QPE/Application/ompi", "newMail(QString)"); 71 ExternalAppHandler::instance()->mailToContacts( n.mid(7) );
70 e << n.mid(7); 72 else if ( n.left( 7 ) == "phoneto" )
71 } 73 ExternalAppHandler::instance()->callByPhone( n.mid(8) );
72 if ( n.left( 7 ) == "phoneto" ) { 74 else if ( n.left( 5 ) == "faxto" )
73 QString mess = "-ring:" + n.mid(8); 75 ExternalAppHandler::instance()->callByFax( n.mid(6) );
74 QCopEnvelope e("QPE/Application/kppi", mess.latin1()); 76 else if ( n.left( 5 ) == "smsto" )
75 } 77 ExternalAppHandler::instance()->callBySMS( n.mid(6) );
76#endif 78 else if ( n.left( 7 ) == "pagerto" )
79 ExternalAppHandler::instance()->callByPager( n.mid(8) );
77 80
78} 81}
79void AddresseeView::setAddressee( const KABC::Addressee& addr ) 82void AddresseeView::setAddressee( const KABC::Addressee& addr )
80{ 83{
81 bool kphoneAvail = false; 84 ExternalAppHandler* eah = ExternalAppHandler::instance();
82 85 bool kemailAvail = eah->isEmailAppAvailable();
83#ifndef DESKTOP_VERSION 86 bool kphoneAvail = eah->isPhoneAppAvailable();
84 if ( ! kphoneInstalled ) { 87 bool kfaxAvail = eah->isFaxAppAvailable();
85 if ( QFile::exists( QPEApplication::qpeDir() + "/bin/kppi" ) ) 88 bool ksmsAvail = eah->isSMSAppAvailable();
86 kphoneInstalled = 1; 89 bool kpagerAvail = eah->isPagerAppAvailable();
87 else 90
88 kphoneInstalled = -1;
89 }
90 if ( kphoneInstalled > 0 )
91 kphoneAvail = true;
92#if 0
93 if ( kphoneAvail )
94 qDebug("KPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPone avail ");
95 else
96 qDebug("NOOOOOOOOOOOo KPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPone avail ");
97#endif
98 91
99#endif
100 mAddressee = addr; 92 mAddressee = addr;
101 // clear view 93 // clear view
102 setText( QString::null ); 94 setText( QString::null );
103 95
104 if ( mAddressee.isEmpty() ) 96 if ( mAddressee.isEmpty() )
105 return; 97 return;
106 98
107 QString name = ( mAddressee.formattedName().isEmpty() ? 99 QString name = ( mAddressee.formattedName().isEmpty() ?
108 mAddressee.assembledName() : mAddressee.formattedName() ); 100 mAddressee.assembledName() : mAddressee.formattedName() );
109 101
110 QString dynamicPart; 102 QString dynamicPart;
111 103
112 QStringList emails = mAddressee.emails(); 104 QStringList emails = mAddressee.emails();
113 QStringList::ConstIterator emailIt; 105 QStringList::ConstIterator emailIt;
114 QString type = i18n( "Email" ); 106 QString type = i18n( "Email" );
115 emailIt = emails.begin(); 107 emailIt = emails.begin();
116 if ( emailIt != emails.end() ) { 108 if ( emailIt != emails.end() ) {
109 if ( kemailAvail ) {
117 dynamicPart += QString( 110 dynamicPart += QString(
118 "<tr><td align=\"right\"><b>%1</b></td>" 111 "<tr><td align=\"right\"><b>%1</b></td>"
119 "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" ) 112 "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" )
120 .arg( type ) 113 .arg( type )
121 .arg( name ) 114 .arg( name )
122 .arg( *emailIt ) 115 .arg( *emailIt )
123 .arg( *emailIt ); 116 .arg( *emailIt );
124 ++emailIt; 117 ++emailIt;
118 } else {
119 dynamicPart += QString(
120 "<tr><td align=\"right\"><b>%1</b></td>"
121 "<td align=\"left\">%2</td></tr>" )
122 .arg( type )
123 .arg( *emailIt );
124 ++emailIt;
125 }
125 } 126 }
126 127
127 KABC::PhoneNumber::List phones = mAddressee.phoneNumbers(); 128 KABC::PhoneNumber::List phones = mAddressee.phoneNumbers();
128 KABC::PhoneNumber::List::ConstIterator phoneIt; 129 KABC::PhoneNumber::List::ConstIterator phoneIt;
130 QString extension;
131 int phonetype;
132 QString sms;
129 for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) { 133 for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) {
130 if ( kphoneAvail ) { 134 phonetype = (*phoneIt).type();
135 if (ksmsAvail &&
136 (
137 ((phonetype & KABC::PhoneNumber::Car) == KABC::PhoneNumber::Car) ||
138 ((phonetype & KABC::PhoneNumber::Cell) == KABC::PhoneNumber::Cell)
139 )
140 )
141 {
142 sms = QString("<a href=\"smsto:%1 \">(sms)</a>" )
143 .arg( (*phoneIt).number() );
144
145 }
146 else
147 sms = "";
148
149 extension = QString::null;
150 if ((phonetype & KABC::PhoneNumber::Fax) == KABC::PhoneNumber::Fax)
151 if (kfaxAvail) extension = "faxto:";
152 else if ((phonetype & KABC::PhoneNumber::Pager) == KABC::PhoneNumber::Pager)
153 if (kpagerAvail) extension = "pagerto:";
154 else if (kphoneAvail)
155 extension = "phoneto:";
156 else
157 extension = QString::null;
158
159
160 if ( !extension.isEmpty() ) {
131 dynamicPart += QString( 161 dynamicPart += QString(
132 "<tr><td align=\"right\"><b>%1</b></td>" 162 "<tr><td align=\"right\"><b>%1</b></td>"
133 "<td align=\"left\"><a href=\"phoneto:%2 \">%3</a></td></tr>" ) 163 "<td align=\"left\"><a href=\"%2%3 \">%4</a> %5</td></tr>" )
134 .arg( KABC::PhoneNumber::typeLabel( (*phoneIt).type() ) ) 164 .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
165 .arg( extension )
135 .arg( (*phoneIt).number() ) 166 .arg( (*phoneIt).number() )
136 .arg( (*phoneIt).number() ); 167 .arg( (*phoneIt).number() )
168 .arg( sms );
137 169
138 } else { 170 } else {
139 dynamicPart += QString( 171 dynamicPart += QString(
140 "<tr><td align=\"right\"><b>%1</b></td>" 172 "<tr><td align=\"right\"><b>%1</b></td>"
141 "<td align=\"left\">%2</td></tr>" ) 173 "<td align=\"left\">%2 %3</td></tr>" )
142 .arg( KABC::PhoneNumber::typeLabel( (*phoneIt).type() ) ) 174 .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
143 .arg( (*phoneIt).number() ); 175 .arg( (*phoneIt).number() )
176 .arg( sms );
144 } 177 }
145 } 178 }
146 179
147 180
148 for ( ; emailIt != emails.end(); ++emailIt ) { 181 for ( ; emailIt != emails.end(); ++emailIt ) {
149 dynamicPart += QString( 182 if ( kemailAvail ) {
150 "<tr><td align=\"right\"><b>%1</b></td>" 183 dynamicPart += QString(
151 "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" ) 184 "<tr><td align=\"right\"><b>%1</b></td>"
152 .arg( type ) 185 "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" )
153 .arg( name ) 186 .arg( type )
154 .arg( *emailIt ) 187 .arg( name )
155 .arg( *emailIt ); 188 .arg( *emailIt )
189 .arg( *emailIt );
190 } else {
191 dynamicPart += QString(
192 "<tr><td align=\"right\"><b>%1</b></td>"
193 "<td align=\"left\">%2</td></tr>" )
194 .arg( type )
195 .arg( *emailIt );
196 }
156 } 197 }
157 198
158 if ( !mAddressee.url().url().isEmpty() ) { 199 if ( !mAddressee.url().url().isEmpty() ) {
159 dynamicPart += QString( 200 dynamicPart += QString(
160 "<tr><td align=\"right\"><b>%1</b></td>" 201 "<tr><td align=\"right\"><b>%1</b></td>"
161 "<td align=\"left\">%2</td></tr>" ) 202 "<td align=\"left\">%2</td></tr>" )
162 .arg( i18n( "Homepage" ) ) 203 .arg( i18n( "Homepage" ) )
163//US .arg( KStringHandler::tagURLs( mAddressee.url().url() ) ); 204//US .arg( KStringHandler::tagURLs( mAddressee.url().url() ) );
164 .arg( mAddressee.url().url() ); 205 .arg( mAddressee.url().url() );
165 //qDebug("AddresseeView::setAddressee has to be verified."); 206 //qDebug("AddresseeView::setAddressee has to be verified.");
166 } 207 }
167 208
168 KABC::Address::List addresses = mAddressee.addresses(); 209 KABC::Address::List addresses = mAddressee.addresses();
169 KABC::Address::List::ConstIterator addrIt; 210 KABC::Address::List::ConstIterator addrIt;
170 for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) { 211 for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) {
171 if ( true /*(*addrIt).label().isEmpty()*/ ) { 212 if ( true /*(*addrIt).label().isEmpty()*/ ) {
172 QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace(); 213 QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace();
173//US formattedAddress = formattedAddress.replace( '\n', "<br>" ); 214//US formattedAddress = formattedAddress.replace( '\n', "<br>" );
174 //qDebug("adresss %s ",formattedAddress.latin1() ); 215 //qDebug("adresss %s ",formattedAddress.latin1() );
175 formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" ); 216 formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" );
176 //qDebug("AddresseeView::setAddressee has to be verified."); 217 //qDebug("AddresseeView::setAddressee has to be verified.");
177 218
178 dynamicPart += QString( 219 dynamicPart += QString(
179 "<tr><td align=\"right\"><b>%1</b></td>" 220 "<tr><td align=\"right\"><b>%1</b></td>"
180 "<td align=\"left\">%2</td></tr>" ) 221 "<td align=\"left\">%2</td></tr>" )
181 .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) 222 .arg( KABC::Address::typeLabel( (*addrIt).type() ) )
182 .arg( formattedAddress ); 223 .arg( formattedAddress );
183 } else { 224 } else {
184 225
185 dynamicPart += QString( 226 dynamicPart += QString(
186 "<tr><td align=\"right\"><b>%1</b></td>" 227 "<tr><td align=\"right\"><b>%1</b></td>"
187 "<td align=\"left\">%2</td></tr>" ) 228 "<td align=\"left\">%2</td></tr>" )
188 .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) 229 .arg( KABC::Address::typeLabel( (*addrIt).type() ) )
189//US .arg( (*addrIt).label().replace( '\n', "<br>" ) ); 230//US .arg( (*addrIt).label().replace( '\n', "<br>" ) );
190 .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ ); 231 .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ );
191 232
192 } 233 }
193 } 234 }
194 235
195 QString notes; 236 QString notes;
196 if ( !mAddressee.note().isEmpty() ) { 237 if ( !mAddressee.note().isEmpty() ) {
197 notes = QString( 238 notes = QString(
198 "<tr>" 239 "<tr>"
199 "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label 240 "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label
200 "<td align=\"left\">%2</td>" // note 241 "<td align=\"left\">%2</td>" // note
201 "</tr>" ).arg( i18n( "Notes" ) ) 242 "</tr>" ).arg( i18n( "Notes" ) )
202//US .arg( mAddressee.note().replace( '\n', "<br>" ) ); 243//US .arg( mAddressee.note().replace( '\n', "<br>" ) );
203 .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) ); 244 .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) );
204 //qDebug("AddresseeView::setAddressee has to be verified."); 245 //qDebug("AddresseeView::setAddressee has to be verified.");
205 } 246 }
206 247
207 QString aRole = ""; 248 QString aRole = "";
208 QString aOrga = ""; 249 QString aOrga = "";
209 if ( true /*!mAddressee.role().isEmpty()*/ ) { 250 if ( true /*!mAddressee.role().isEmpty()*/ ) {
210 aRole = "<tr>" 251 aRole = "<tr>"
211 "<td align=\"left\">" + mAddressee.role() + "</td>" 252 "<td align=\"left\">" + mAddressee.role() + "</td>"
212 "</tr>"; 253 "</tr>";
213 } 254 }
214 if ( true /*!mAddressee.organization().isEmpty()*/ ) { 255 if ( true /*!mAddressee.organization().isEmpty()*/ ) {
215 aOrga = "<tr>" 256 aOrga = "<tr>"
216 "<td align=\"left\">" + mAddressee.organization() + "</td>" ; 257 "<td align=\"left\">" + mAddressee.organization() + "</td>" ;
217 "</tr>"; 258 "</tr>";
218 } 259 }
219 mText = ""; 260 mText = "";
220 QString picString = ""; 261 QString picString = "";
221 KABC::Picture picture = mAddressee.photo(); 262 KABC::Picture picture = mAddressee.photo();
222 bool picAvailintern = false; 263 bool picAvailintern = false;
223 bool picAvailUrl = false; 264 bool picAvailUrl = false;
224 if (! picture.undefined() ) { 265 if (! picture.undefined() ) {
225 picAvailintern = (picture.isIntern() && !picture.data().isNull()); 266 picAvailintern = (picture.isIntern() && !picture.data().isNull());
226 picAvailUrl = !picture.isIntern() && QFile::exists(picture.url() ); 267 picAvailUrl = !picture.isIntern() && QFile::exists(picture.url() );
227 } 268 }
228 if ( picAvailUrl || picAvailintern || QApplication::desktop()->width() > 320 ) { 269 if ( picAvailUrl || picAvailintern || QApplication::desktop()->width() > 320 ) {
229 if ( picAvailintern ) { 270 if ( picAvailintern ) {
230 QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() ); 271 QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() );
231 } else { 272 } else {
232 if ( picAvailUrl ) { 273 if ( picAvailUrl ) {
233 QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() )); 274 QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() ));
234 } else { 275 } else {
235 QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", KGlobal::iconLoader()->loadIcon( "package_toys", KIcon::Desktop, 128 ) ); 276 QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", KGlobal::iconLoader()->loadIcon( "package_toys", KIcon::Desktop, 128 ) );
236 } 277 }
237 } 278 }
238 picString = "<img src=\"myimage\" width=\"50\" height=\"70\">"; 279 picString = "<img src=\"myimage\" width=\"50\" height=\"70\">";
239 mText = QString::fromLatin1( 280 mText = QString::fromLatin1(
240 "<html>" 281 "<html>"
241 "<body text=\"%1\" bgcolor=\"%2\">" // text and background color 282 "<body text=\"%1\" bgcolor=\"%2\">" // text and background color
242 "<table>" 283 "<table>"
243 "<tr>" 284 "<tr>"
244 "<td rowspan=\"3\" align=\"right\" valign=\"top\">" 285 "<td rowspan=\"3\" align=\"right\" valign=\"top\">"
245 "%3" 286 "%3"
246 "</td>" 287 "</td>"
247 "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name 288 "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name
248 "</tr>" 289 "</tr>"
249 "%5" // role 290 "%5" // role
250 "%6" // organization 291 "%6" // organization
251 "<td colspan=\"2\">&nbsp;</td>" 292 "<td colspan=\"2\">&nbsp;</td>"
252 "%7" // dynamic part 293 "%7" // dynamic part
253 "%8" // notes 294 "%8" // notes
254 "</table>" 295 "</table>"
255 "</body>" 296 "</body>"
256 "</html>") 297 "</html>")
257//US 298//US
258 .arg( /*KGlobalSettings::textColor().name()*/ "black" ) 299 .arg( /*KGlobalSettings::textColor().name()*/ "black" )
259//US 300//US
260 .arg( /*KGlobalSettings::baseColor().name()*/ "white" ) 301 .arg( /*KGlobalSettings::baseColor().name()*/ "white" )
261 .arg( picString ) 302 .arg( picString )
262 .arg( name ) 303 .arg( name )
263 .arg( aRole ) 304 .arg( aRole )
264 .arg( aOrga ) 305 .arg( aOrga )
265 .arg( dynamicPart ) 306 .arg( dynamicPart )
266 .arg( notes ); 307 .arg( notes );
267 308
268 } else { // no picture! 309 } else { // no picture!
269 310
270mText = "<table width=\"100%\">\n"; 311mText = "<table width=\"100%\">\n";
271 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>"; 312 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>";
272#ifdef DESKTOP_VERSION 313#ifdef DESKTOP_VERSION
273 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h1>"; 314 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h1>";
274#else 315#else
275 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h2>"; 316 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h2>";
276#endif 317#endif
277 318
278#ifdef DESKTOP_VERSION 319#ifdef DESKTOP_VERSION
279 mText += "<font color=\"#FFFFFF\"> <em>" + name+"</em></font></h1>"; 320 mText += "<font color=\"#FFFFFF\"> <em>" + name+"</em></font></h1>";
280#else 321#else
281 mText += "<font color=\"#FFFFFF\"> <em>" + name +"</em></font></h2>"; 322 mText += "<font color=\"#FFFFFF\"> <em>" + name +"</em></font></h2>";
282#endif 323#endif
283 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>"; 324 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>";
284 325
285 mText += "<table><td colspan=\"2\">&nbsp;</td>"; 326 mText += "<table><td colspan=\"2\">&nbsp;</td>";
286 /* 327 /*
287 mText += QString("<tr><td align=\"right\"><b2>%1</b2></td>" 328 mText += QString("<tr><td align=\"right\"><b2>%1</b2></td>"
288 "<td align=\"left\"><b>%2</b></td></tr>" ) 329 "<td align=\"left\"><b>%2</b></td></tr>" )
289 .arg( i18n(" ") ) 330 .arg( i18n(" ") )
290 .arg( name ); 331 .arg( name );
291 */ 332 */
292 if ( ! mAddressee.role().isEmpty() ) 333 if ( ! mAddressee.role().isEmpty() )
293 mText += QString("<tr><td align=\"right\"><b>%1</b></td>" 334 mText += QString("<tr><td align=\"right\"><b>%1</b></td>"
294 "<td align=\"left\">%2</td></tr>" ) 335 "<td align=\"left\">%2</td></tr>" )
295 .arg( i18n(" ") ) 336 .arg( i18n(" ") )
296 .arg( mAddressee.role()); 337 .arg( mAddressee.role());
297 if ( ! mAddressee.organization().isEmpty() ) 338 if ( ! mAddressee.organization().isEmpty() )
298 mText += QString("<tr><td align=\"right\"><b>%1</b></td>" 339 mText += QString("<tr><td align=\"right\"><b>%1</b></td>"
299 "<td align=\"left\">%2</td></tr>" ) 340 "<td align=\"left\">%2</td></tr>" )
300 .arg( i18n(" ") ) 341 .arg( i18n(" ") )
301 .arg( mAddressee.organization()); 342 .arg( mAddressee.organization());
302 mText += dynamicPart; 343 mText += dynamicPart;
303 mText += notes; 344 mText += notes;
304 mText += "</table>"; 345 mText += "</table>";
305 346
306 } 347 }
307 348
308 // at last display it... 349 // at last display it...
309 setText( mText ); 350 setText( mText );
310 351
311} 352}
312 353
313KABC::Addressee AddresseeView::addressee() const 354KABC::Addressee AddresseeView::addressee() const
314{ 355{
315 return mAddressee; 356 return mAddressee;
316} 357}
317void AddresseeView::addTag(const QString & tag,const QString & text) 358void AddresseeView::addTag(const QString & tag,const QString & text)
318{ 359{
319 if ( text.isEmpty() ) 360 if ( text.isEmpty() )
320 return; 361 return;
321 int number=text.contains("\n"); 362 int number=text.contains("\n");
322 QString str = "<" + tag + ">"; 363 QString str = "<" + tag + ">";
323 QString tmpText=text; 364 QString tmpText=text;
324 QString tmpStr=str; 365 QString tmpStr=str;
325 if(number !=-1) 366 if(number !=-1)
326 { 367 {
327 if (number > 0) { 368 if (number > 0) {
328 int pos=0; 369 int pos=0;
329 QString tmp; 370 QString tmp;
330 for(int i=0;i<=number;i++) { 371 for(int i=0;i<=number;i++) {
331 pos=tmpText.find("\n"); 372 pos=tmpText.find("\n");
332 tmp=tmpText.left(pos); 373 tmp=tmpText.left(pos);
333 tmpText=tmpText.right(tmpText.length()-pos-1); 374 tmpText=tmpText.right(tmpText.length()-pos-1);
334 tmpStr+=tmp+"<br>"; 375 tmpStr+=tmp+"<br>";
335 } 376 }
336 } 377 }
337 else tmpStr += tmpText; 378 else tmpStr += tmpText;
338 tmpStr+="</" + tag + ">"; 379 tmpStr+="</" + tag + ">";
339 mText.append(tmpStr); 380 mText.append(tmpStr);
340 } 381 }
341 else 382 else
342 { 383 {
343 str += text + "</" + tag + ">"; 384 str += text + "</" + tag + ">";
344 mText.append(str); 385 mText.append(str);
345 } 386 }
346} 387}