summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addresseeview.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp
index 7c70ab1..2691d9a 100644
--- a/kabc/addresseeview.cpp
+++ b/kabc/addresseeview.cpp
@@ -1,488 +1,488 @@
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 <qvbox.h> 33#include <qvbox.h>
34#include <qlabel.h> 34#include <qlabel.h>
35#include <qwidget.h> 35#include <qwidget.h>
36#include <qlayout.h> 36#include <qlayout.h>
37#include <qapplication.h> 37#include <qapplication.h>
38#include <qpushbutton.h> 38#include <qpushbutton.h>
39#ifdef DESKTOP_VERSION 39#ifdef DESKTOP_VERSION
40#include <qpaintdevicemetrics.h> 40#include <qpaintdevicemetrics.h>
41#include <qprinter.h> 41#include <qprinter.h>
42#include <qpainter.h> 42#include <qpainter.h>
43#endif 43#endif
44 44
45 45
46#include <qstylesheet.h> 46#include <qstylesheet.h>
47#include "externalapphandler.h" 47#include "externalapphandler.h"
48#include <kabc/addresseeview.h> 48#include <kabc/addresseeview.h>
49 49
50 50
51//US #ifndef DESKTOP_VERSION 51//US #ifndef DESKTOP_VERSION
52//US #include <qtopia/qcopenvelope_qws.h> 52//US #include <qtopia/qcopenvelope_qws.h>
53//US #include <qpe/qpeapplication.h> 53//US #include <qpe/qpeapplication.h>
54//US #endif 54//US #endif
55 55
56//US static int kphoneInstalled = 0; 56//US static int kphoneInstalled = 0;
57 57
58using namespace KABC; 58using namespace KABC;
59bool AddresseeView::sFullDetailsMode = false; 59bool AddresseeView::sFullDetailsMode = false;
60 60
61AddresseeView::AddresseeView( QWidget *parent, const char *name ) 61AddresseeView::AddresseeView( QWidget *parent, const char *name )
62 : QTextBrowser( parent, name ) 62 : QTextBrowser( parent, name )
63 63
64 64
65{ 65{
66//US setWrapPolicy( QTextEdit::AtWordBoundary ); 66//US setWrapPolicy( QTextEdit::AtWordBoundary );
67 setLinkUnderline( false ); 67 setLinkUnderline( false );
68 // setVScrollBarMode( QScrollView::AlwaysOff ); 68 // setVScrollBarMode( QScrollView::AlwaysOff );
69 //setHScrollBarMode( QScrollView::AlwaysOff ); 69 //setHScrollBarMode( QScrollView::AlwaysOff );
70 70
71//US QStyleSheet *sheet = styleSheet(); 71//US QStyleSheet *sheet = styleSheet();
72//US QStyleSheetItem *link = sheet->item( "a" ); 72//US QStyleSheetItem *link = sheet->item( "a" );
73//US link->setColor( KGlobalSettings::linkColor() ); 73//US link->setColor( KGlobalSettings::linkColor() );
74 74
75 75
76} 76}
77void AddresseeView::printMe() 77void AddresseeView::printMe()
78{ 78{
79#ifdef DESKTOP_VERSION 79#ifdef DESKTOP_VERSION
80 QPrinter printer; 80 QPrinter printer;
81 if (!printer.setup() ) 81 if (!printer.setup() )
82 return; 82 return;
83 QPainter p; 83 QPainter p;
84 p.begin ( &printer ); 84 p.begin ( &printer );
85 QPaintDeviceMetrics m = QPaintDeviceMetrics ( &printer ); 85 QPaintDeviceMetrics m = QPaintDeviceMetrics ( &printer );
86 float dx, dy; 86 float dx, dy;
87 int wid = (m.width() * 9)/10; 87 int wid = (m.width() * 9)/10;
88 dx = (float) wid/(float)contentsWidth (); 88 dx = (float) wid/(float)contentsWidth ();
89 dy = (float)(m.height()) / (float)contentsHeight (); 89 dy = (float)(m.height()) / (float)contentsHeight ();
90 float scale; 90 float scale;
91 // scale to fit the width or height of the paper 91 // scale to fit the width or height of the paper
92 if ( dx < dy ) 92 if ( dx < dy )
93 scale = dx; 93 scale = dx;
94 else 94 else
95 scale = dy; 95 scale = dy;
96 p.translate( m.width()/10,0 ); 96 p.translate( m.width()/10,0 );
97 p.scale( scale, scale ); 97 p.scale( scale, scale );
98 drawContents ( &p, 0,0, contentsWidth (), contentsHeight () ); 98 drawContents ( &p, 0,0, contentsWidth (), contentsHeight () );
99 p.end(); 99 p.end();
100#endif 100#endif
101} 101}
102void AddresseeView::setSource(const QString& n) 102void AddresseeView::setSource(const QString& n)
103{ 103{
104 qDebug("********AddresseeView::setSource %s", n.latin1()); 104 //qDebug("********AddresseeView::setSource %s", n.latin1());
105 105
106 if ( n == "allDetails" ) { 106 if ( n == "allDetails" ) {
107 sFullDetailsMode = true; 107 sFullDetailsMode = true;
108 setAddressee( mCurrentContact ); 108 setAddressee( mCurrentContact );
109 } else if ( n == "notAllDetails" ) { 109 } else if ( n == "notAllDetails" ) {
110 sFullDetailsMode = false; 110 sFullDetailsMode = false;
111 setAddressee( mCurrentContact ); 111 setAddressee( mCurrentContact );
112 } else if ( n.left( 6 ) == "mailto" ) 112 } else if ( n.left( 6 ) == "mailto" )
113 ExternalAppHandler::instance()->mailToOneContact( n.mid(7) ); 113 ExternalAppHandler::instance()->mailToOneContact( n.mid(7) );
114 else if ( n.left( 7 ) == "phoneto" ) 114 else if ( n.left( 7 ) == "phoneto" )
115 ExternalAppHandler::instance()->callByPhone( n.mid(8) ); 115 ExternalAppHandler::instance()->callByPhone( n.mid(8) );
116 else if ( n.left( 5 ) == "faxto" ) 116 else if ( n.left( 5 ) == "faxto" )
117 ExternalAppHandler::instance()->callByFax( n.mid(6) ); 117 ExternalAppHandler::instance()->callByFax( n.mid(6) );
118 else if ( n.left( 5 ) == "smsto" ) 118 else if ( n.left( 5 ) == "smsto" )
119 ExternalAppHandler::instance()->callBySMS( n.mid(6) ); 119 ExternalAppHandler::instance()->callBySMS( n.mid(6) );
120 else if ( n.left( 7 ) == "pagerto" ) 120 else if ( n.left( 7 ) == "pagerto" )
121 ExternalAppHandler::instance()->callByPager( n.mid(8) ); 121 ExternalAppHandler::instance()->callByPager( n.mid(8) );
122 else if ( n.left( 5 ) == "sipto" ) 122 else if ( n.left( 5 ) == "sipto" )
123 ExternalAppHandler::instance()->callBySIP( n.mid(6) ); 123 ExternalAppHandler::instance()->callBySIP( n.mid(6) );
124 124
125} 125}
126void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) 126void AddresseeView::setAddressee( const KABC::Addressee& mAddressee )
127{ 127{
128 bool kemailAvail = ExternalAppHandler::instance()->isEmailAppAvailable(); 128 bool kemailAvail = ExternalAppHandler::instance()->isEmailAppAvailable();
129 // mAddressee = addr; 129 // mAddressee = addr;
130 // clear view 130 // clear view
131 //setText( QString::null ); 131 //setText( QString::null );
132 mCurrentContact = mAddressee; 132 mCurrentContact = mAddressee;
133 if ( mAddressee.isEmpty() ) { 133 if ( mAddressee.isEmpty() ) {
134 setText( QString::null); 134 setText( QString::null);
135 return; 135 return;
136 } 136 }
137#if 0 137#if 0
138 QString name = ( mAddressee.assembledName().isEmpty() ? 138 QString name = ( mAddressee.assembledName().isEmpty() ?
139 mAddressee.formattedName() : mAddressee.assembledName() ); 139 mAddressee.formattedName() : mAddressee.assembledName() );
140#endif 140#endif
141 141
142 QString name = mAddressee.realName(); 142 QString name = mAddressee.realName();
143 143
144 QString dynamicPart; 144 QString dynamicPart;
145 145
146 dynamicPart += getPhoneNumbers( mAddressee.phoneNumbers(),true ); 146 dynamicPart += getPhoneNumbers( mAddressee.phoneNumbers(),true );
147 QStringList emails = mAddressee.emails(); 147 QStringList emails = mAddressee.emails();
148 QStringList::ConstIterator emailIt; 148 QStringList::ConstIterator emailIt;
149 QString type = i18n( "Email" ); 149 QString type = i18n( "Email" );
150 emailIt = emails.begin(); 150 emailIt = emails.begin();
151 if ( emailIt != emails.end() ) { 151 if ( emailIt != emails.end() ) {
152 if ( kemailAvail ) { 152 if ( kemailAvail ) {
153 dynamicPart += QString( 153 dynamicPart += QString(
154 "<tr><td align=\"right\"><b>%1</b></td>" 154 "<tr><td align=\"right\"><b>%1</b></td>"
155 "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" ) 155 "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" )
156 .arg( type ) 156 .arg( type )
157 .arg( name ) 157 .arg( name )
158 .arg( *emailIt ) 158 .arg( *emailIt )
159 .arg( *emailIt ); 159 .arg( *emailIt );
160 ++emailIt; 160 ++emailIt;
161 } else { 161 } else {
162 dynamicPart += QString( 162 dynamicPart += QString(
163 "<tr><td align=\"right\"><b>%1</b></td>" 163 "<tr><td align=\"right\"><b>%1</b></td>"
164 "<td align=\"left\">%2</td></tr>" ) 164 "<td align=\"left\">%2</td></tr>" )
165 .arg( type ) 165 .arg( type )
166 .arg( *emailIt ); 166 .arg( *emailIt );
167 ++emailIt; 167 ++emailIt;
168 } 168 }
169 } 169 }
170 if ( mAddressee.birthday().date().isValid() ) { 170 if ( mAddressee.birthday().date().isValid() ) {
171 dynamicPart += QString( 171 dynamicPart += QString(
172 "<tr><td align=\"right\"><b>%1</b></td>" 172 "<tr><td align=\"right\"><b>%1</b></td>"
173 "<td align=\"left\">%2</td></tr>" ) 173 "<td align=\"left\">%2</td></tr>" )
174 .arg( i18n ("Birthday") ) 174 .arg( i18n ("Birthday") )
175 .arg( KGlobal::locale()->formatDate( mAddressee.birthday().date() ,true) ); 175 .arg( KGlobal::locale()->formatDate( mAddressee.birthday().date() ,true) );
176 } 176 }
177 dynamicPart += getPhoneNumbers( mAddressee.phoneNumbers(), false ); 177 dynamicPart += getPhoneNumbers( mAddressee.phoneNumbers(), false );
178 178
179 for ( ; emailIt != emails.end(); ++emailIt ) { 179 for ( ; emailIt != emails.end(); ++emailIt ) {
180 if ( kemailAvail ) { 180 if ( kemailAvail ) {
181 dynamicPart += QString( 181 dynamicPart += QString(
182 "<tr><td align=\"right\"><b>%1</b></td>" 182 "<tr><td align=\"right\"><b>%1</b></td>"
183 "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" ) 183 "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" )
184 .arg( type ) 184 .arg( type )
185 .arg( name ) 185 .arg( name )
186 .arg( *emailIt ) 186 .arg( *emailIt )
187 .arg( *emailIt ); 187 .arg( *emailIt );
188 } else { 188 } else {
189 dynamicPart += QString( 189 dynamicPart += QString(
190 "<tr><td align=\"right\"><b>%1</b></td>" 190 "<tr><td align=\"right\"><b>%1</b></td>"
191 "<td align=\"left\">%2</td></tr>" ) 191 "<td align=\"left\">%2</td></tr>" )
192 .arg( type ) 192 .arg( type )
193 .arg( *emailIt ); 193 .arg( *emailIt );
194 } 194 }
195 } 195 }
196 196
197 197
198 198
199 KABC::Address::List addresses = mAddressee.addresses(); 199 KABC::Address::List addresses = mAddressee.addresses();
200 KABC::Address::List::ConstIterator addrIt; 200 KABC::Address::List::ConstIterator addrIt;
201 for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) { 201 for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) {
202 if ( true /*(*addrIt).label().isEmpty()*/ ) { 202 if ( true /*(*addrIt).label().isEmpty()*/ ) {
203 QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace(); 203 QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace();
204//US formattedAddress = formattedAddress.replace( '\n', "<br>" ); 204//US formattedAddress = formattedAddress.replace( '\n', "<br>" );
205 //qDebug("adresss %s ",formattedAddress.latin1() ); 205 //qDebug("adresss %s ",formattedAddress.latin1() );
206 formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" ); 206 formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" );
207 //qDebug("AddresseeView::setAddressee has to be verified."); 207 //qDebug("AddresseeView::setAddressee has to be verified.");
208 208
209 dynamicPart += QString( 209 dynamicPart += QString(
210 "<tr><td align=\"right\"><b>%1</b></td>" 210 "<tr><td align=\"right\"><b>%1</b></td>"
211 "<td align=\"left\">%2</td></tr>" ) 211 "<td align=\"left\">%2</td></tr>" )
212 .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) 212 .arg( KABC::Address::typeLabel( (*addrIt).type() ) )
213 .arg( formattedAddress ); 213 .arg( formattedAddress );
214 } else { 214 } else {
215 215
216 dynamicPart += QString( 216 dynamicPart += QString(
217 "<tr><td align=\"right\"><b>%1</b></td>" 217 "<tr><td align=\"right\"><b>%1</b></td>"
218 "<td align=\"left\">%2</td></tr>" ) 218 "<td align=\"left\">%2</td></tr>" )
219 .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) 219 .arg( KABC::Address::typeLabel( (*addrIt).type() ) )
220//US .arg( (*addrIt).label().replace( '\n', "<br>" ) ); 220//US .arg( (*addrIt).label().replace( '\n', "<br>" ) );
221 .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ ); 221 .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ );
222 222
223 } 223 }
224 } 224 }
225 225
226 226
227 QString notes; 227 QString notes;
228 if ( sFullDetailsMode ) { 228 if ( sFullDetailsMode ) {
229 notes = QString( 229 notes = QString(
230 "<tr><td align=\"right\"><b>%1</b></td>" 230 "<tr><td align=\"right\"><b>%1</b></td>"
231 "<td align=\"left\"><a href=\"notAllDetails\">%4</a></td></tr>" ) 231 "<td align=\"left\"><a href=\"notAllDetails\">%4</a></td></tr>" )
232 .arg( i18n("Details") ) 232 .arg( i18n("Details") )
233 .arg( i18n("Hide!") ); 233 .arg( i18n("Hide!") );
234 234
235 QString tempX = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); 235 QString tempX = mAddressee.custom( "KADDRESSBOOK", "X-Gender" );
236 if ( !tempX.isEmpty() ) { 236 if ( !tempX.isEmpty() ) {
237 notes += QString( 237 notes += QString(
238 "<tr><td align=\"right\"><b>%1</b></td>" 238 "<tr><td align=\"right\"><b>%1</b></td>"
239 "<td align=\"left\">%2</td></tr>" ) 239 "<td align=\"left\">%2</td></tr>" )
240 .arg( i18n( "" ) ) 240 .arg( i18n( "" ) )
241 .arg( i18n(tempX) ); 241 .arg( i18n(tempX) );
242 } 242 }
243 243
244 244
245 tempX = mAddressee.secrecy().asString(); 245 tempX = mAddressee.secrecy().asString();
246 246
247 notes += QString( 247 notes += QString(
248 "<tr><td align=\"right\"><b>%1</b></td>" 248 "<tr><td align=\"right\"><b>%1</b></td>"
249 "<td align=\"left\">%2</td></tr>" ) 249 "<td align=\"left\">%2</td></tr>" )
250 .arg( "" ) 250 .arg( "" )
251 .arg( tempX ); 251 .arg( tempX );
252 252
253 253
254 tempX = mAddressee.categories().join(" - "); 254 tempX = mAddressee.categories().join(" - ");
255 if ( !tempX.isEmpty() ) { 255 if ( !tempX.isEmpty() ) {
256 notes += QString( 256 notes += QString(
257 "<tr><td align=\"right\"><b>%1</b></td>" 257 "<tr><td align=\"right\"><b>%1</b></td>"
258 "<td align=\"left\">%2</td></tr>" ) 258 "<td align=\"left\">%2</td></tr>" )
259 .arg( i18n( "Category" ) ) 259 .arg( i18n( "Category" ) )
260 .arg( tempX ); 260 .arg( tempX );
261 } 261 }
262 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Profession" ); 262 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Profession" );
263 if ( !tempX.isEmpty() ) { 263 if ( !tempX.isEmpty() ) {
264 notes += QString( 264 notes += QString(
265 "<tr><td align=\"right\"><b>%1</b></td>" 265 "<tr><td align=\"right\"><b>%1</b></td>"
266 "<td align=\"left\">%2</td></tr>" ) 266 "<td align=\"left\">%2</td></tr>" )
267 .arg( i18n( "Profession" ) ) 267 .arg( i18n( "Profession" ) )
268 .arg( tempX ); 268 .arg( tempX );
269 } 269 }
270 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Office" ); 270 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Office" );
271 if ( !tempX.isEmpty() ) { 271 if ( !tempX.isEmpty() ) {
272 notes += QString( 272 notes += QString(
273 "<tr><td align=\"right\"><b>%1</b></td>" 273 "<tr><td align=\"right\"><b>%1</b></td>"
274 "<td align=\"left\">%2</td></tr>" ) 274 "<td align=\"left\">%2</td></tr>" )
275 .arg( i18n( "Office" ) ) 275 .arg( i18n( "Office" ) )
276 .arg( tempX ); 276 .arg( tempX );
277 } 277 }
278 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Department" ); 278 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Department" );
279 if ( !tempX.isEmpty() ) { 279 if ( !tempX.isEmpty() ) {
280 notes += QString( 280 notes += QString(
281 "<tr><td align=\"right\"><b>%1</b></td>" 281 "<tr><td align=\"right\"><b>%1</b></td>"
282 "<td align=\"left\">%2</td></tr>" ) 282 "<td align=\"left\">%2</td></tr>" )
283 .arg( i18n( "Department" ) ) 283 .arg( i18n( "Department" ) )
284 .arg( tempX ); 284 .arg( tempX );
285 } 285 }
286 286
287 tempX = mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" ); 287 tempX = mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" );
288 if ( !tempX.isEmpty() ) { 288 if ( !tempX.isEmpty() ) {
289 notes += QString( 289 notes += QString(
290 "<tr><td align=\"right\"><b>%1</b></td>" 290 "<tr><td align=\"right\"><b>%1</b></td>"
291 "<td align=\"left\">%2</td></tr>" ) 291 "<td align=\"left\">%2</td></tr>" )
292 .arg( i18n( "Manager" ) ) 292 .arg( i18n( "Manager" ) )
293 .arg( tempX ); 293 .arg( tempX );
294 } 294 }
295 tempX = mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" ); 295 tempX = mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" );
296 if ( !tempX.isEmpty() ) { 296 if ( !tempX.isEmpty() ) {
297 notes += QString( 297 notes += QString(
298 "<tr><td align=\"right\"><b>%1</b></td>" 298 "<tr><td align=\"right\"><b>%1</b></td>"
299 "<td align=\"left\">%2</td></tr>" ) 299 "<td align=\"left\">%2</td></tr>" )
300 .arg( i18n( "Assistant" ) ) 300 .arg( i18n( "Assistant" ) )
301 .arg( tempX ); 301 .arg( tempX );
302 } 302 }
303 if ( !mAddressee.url().url().isEmpty() ) { 303 if ( !mAddressee.url().url().isEmpty() ) {
304 notes += QString( 304 notes += QString(
305 "<tr><td align=\"right\"><b>%1</b></td>" 305 "<tr><td align=\"right\"><b>%1</b></td>"
306 "<td align=\"left\">%2</td></tr>" ) 306 "<td align=\"left\">%2</td></tr>" )
307 .arg( i18n( "Homepage" ) ) 307 .arg( i18n( "Homepage" ) )
308 .arg( mAddressee.url().url() ); 308 .arg( mAddressee.url().url() );
309 } 309 }
310 tempX = mAddressee.nickName(); 310 tempX = mAddressee.nickName();
311 if ( !tempX.isEmpty() ) { 311 if ( !tempX.isEmpty() ) {
312 notes += QString( 312 notes += QString(
313 "<tr><td align=\"right\"><b>%1</b></td>" 313 "<tr><td align=\"right\"><b>%1</b></td>"
314 "<td align=\"left\">%2</td></tr>" ) 314 "<td align=\"left\">%2</td></tr>" )
315 .arg( i18n( "Nickname" ) ) 315 .arg( i18n( "Nickname" ) )
316 .arg( tempX ); 316 .arg( tempX );
317 } 317 }
318 tempX = mAddressee.custom( "KADDRESSBOOK", "X-IMAddress" ); 318 tempX = mAddressee.custom( "KADDRESSBOOK", "X-IMAddress" );
319 if ( !tempX.isEmpty() ) { 319 if ( !tempX.isEmpty() ) {
320 notes += QString( 320 notes += QString(
321 "<tr><td align=\"right\"><b>%1</b></td>" 321 "<tr><td align=\"right\"><b>%1</b></td>"
322 "<td align=\"left\">%2</td></tr>" ) 322 "<td align=\"left\">%2</td></tr>" )
323 .arg( i18n( "Messanger" ) ) 323 .arg( i18n( "Messanger" ) )
324 .arg( tempX ); 324 .arg( tempX );
325 } 325 }
326 326
327 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Anniversary" ); 327 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Anniversary" );
328 if ( !tempX.isEmpty() ) { 328 if ( !tempX.isEmpty() ) {
329 QDate dt = KGlobal::locale()->readDate( tempX, "%Y-%m-%d"); 329 QDate dt = KGlobal::locale()->readDate( tempX, "%Y-%m-%d");
330 tempX = KGlobal::locale()->formatDate(dt, true); 330 tempX = KGlobal::locale()->formatDate(dt, true);
331 notes += QString( 331 notes += QString(
332 "<tr><td align=\"right\"><b>%1</b></td>" 332 "<tr><td align=\"right\"><b>%1</b></td>"
333 "<td align=\"left\">%2</td></tr>" ) 333 "<td align=\"left\">%2</td></tr>" )
334 .arg( i18n( "Anniversary" ) ) 334 .arg( i18n( "Anniversary" ) )
335 .arg( tempX ); 335 .arg( tempX );
336 } 336 }
337 tempX = mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ); 337 tempX = mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" );
338 if ( !tempX.isEmpty() ) { 338 if ( !tempX.isEmpty() ) {
339 notes += QString( 339 notes += QString(
340 "<tr><td align=\"right\"><b>%1</b></td>" 340 "<tr><td align=\"right\"><b>%1</b></td>"
341 "<td align=\"left\">%2</td></tr>" ) 341 "<td align=\"left\">%2</td></tr>" )
342 .arg( i18n( "Spouse" ) ) 342 .arg( i18n( "Spouse" ) )
343 .arg( tempX ); 343 .arg( tempX );
344 } 344 }
345 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Children" ); 345 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Children" );
346 if ( !tempX.isEmpty() ) { 346 if ( !tempX.isEmpty() ) {
347 notes += QString( 347 notes += QString(
348 "<tr><td align=\"right\"><b>%1</b></td>" 348 "<tr><td align=\"right\"><b>%1</b></td>"
349 "<td align=\"left\">%2</td></tr>" ) 349 "<td align=\"left\">%2</td></tr>" )
350 .arg( i18n( "Children" ) ) 350 .arg( i18n( "Children" ) )
351 .arg( tempX ); 351 .arg( tempX );
352 } 352 }
353 353
354 if ( !mAddressee.note().isEmpty() ) { 354 if ( !mAddressee.note().isEmpty() ) {
355 notes += QString( 355 notes += QString(
356 "<tr>" 356 "<tr>"
357 "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label 357 "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label
358 "<td align=\"left\">%2</td>" // note 358 "<td align=\"left\">%2</td>" // note
359 "</tr>" ).arg( i18n( "Notes" ) ) 359 "</tr>" ).arg( i18n( "Notes" ) )
360 //US .arg( mAddressee.note().replace( '\n', "<br>" ) ); 360 //US .arg( mAddressee.note().replace( '\n', "<br>" ) );
361 .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) ); 361 .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) );
362 //qDebug("AddresseeView::setAddressee has to be verified."); 362 //qDebug("AddresseeView::setAddressee has to be verified.");
363 } 363 }
364 } else { 364 } else {
365 notes = QString( 365 notes = QString(
366 "<tr><td align=\"right\"><b>%1</b></td>" 366 "<tr><td align=\"right\"><b>%1</b></td>"
367 "<td align=\"left\"><a href=\"allDetails\">%4</a></td></tr>" ) 367 "<td align=\"left\"><a href=\"allDetails\">%4</a></td></tr>" )
368 .arg( i18n("Details") ) 368 .arg( i18n("Details") )
369 .arg( i18n("Show!") ); 369 .arg( i18n("Show!") );
370 370
371 371
372 } 372 }
373 373
374 QString aRole = ""; 374 QString aRole = "";
375 QString aOrga = ""; 375 QString aOrga = "";
376 if ( true /*!mAddressee.role().isEmpty()*/ ) { 376 if ( true /*!mAddressee.role().isEmpty()*/ ) {
377 aRole = "<tr>" 377 aRole = "<tr>"
378 "<td align=\"left\">" + mAddressee.role() + "</td>" 378 "<td align=\"left\">" + mAddressee.role() + "</td>"
379 "</tr>"; 379 "</tr>";
380 } 380 }
381 if ( true /*!mAddressee.organization().isEmpty()*/ ) { 381 if ( true /*!mAddressee.organization().isEmpty()*/ ) {
382 aOrga = "<tr>" 382 aOrga = "<tr>"
383 "<td align=\"left\">" + mAddressee.organization() + "</td>" 383 "<td align=\"left\">" + mAddressee.organization() + "</td>"
384 "</tr>"; 384 "</tr>";
385 } 385 }
386 mText = ""; 386 mText = "";
387 QString picString = ""; 387 QString picString = "";
388 KABC::Picture picture = mAddressee.photo(); 388 KABC::Picture picture = mAddressee.photo();
389 bool picAvailintern = false; 389 bool picAvailintern = false;
390 bool picAvailUrl = false; 390 bool picAvailUrl = false;
391 if (! picture.undefined() ) { 391 if (! picture.undefined() ) {
392 picAvailintern = (picture.isIntern() && !picture.data().isNull()); 392 picAvailintern = (picture.isIntern() && !picture.data().isNull());
393 picAvailUrl = !picture.isIntern() && QFile::exists(picture.url() ); 393 picAvailUrl = !picture.isIntern() && QFile::exists(picture.url() );
394 } 394 }
395 if ( picAvailUrl || picAvailintern || QApplication::desktop()->width() > 320 ) { 395 if ( picAvailUrl || picAvailintern || QApplication::desktop()->width() > 320 ) {
396 picString = "<img src=\"myimage\" width=\"50\" height=\"70\">"; 396 picString = "<img src=\"myimage\" width=\"50\" height=\"70\">";
397 if ( picAvailintern ) { 397 if ( picAvailintern ) {
398 QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() ); 398 QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() );
399 } else { 399 } else {
400 if ( picAvailUrl ) { 400 if ( picAvailUrl ) {
401 QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() )); 401 QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() ));
402 } else { 402 } else {
403 if ( !mAddressee.custom( "KADDRESSBOOK", "X-Children" ).isEmpty() ) { 403 if ( !mAddressee.custom( "KADDRESSBOOK", "X-Children" ).isEmpty() ) {
404 static bool setDefaultImageChildren = false; 404 static bool setDefaultImageChildren = false;
405 if ( !setDefaultImageChildren ) { 405 if ( !setDefaultImageChildren ) {
406 QMimeSourceFactory::defaultFactory()->setPixmap( "familyIcon", KGlobal::iconLoader()->loadIcon( "ic_kids", KIcon::Desktop, 128 ) ); 406 QMimeSourceFactory::defaultFactory()->setPixmap( "familyIcon", KGlobal::iconLoader()->loadIcon( "ic_kids", KIcon::Desktop, 128 ) );
407 setDefaultImageChildren = true; 407 setDefaultImageChildren = true;
408 } 408 }
409 picString = "<img src=\"familyIcon\" width=\"64\" height=\"64\">"; 409 picString = "<img src=\"familyIcon\" width=\"64\" height=\"64\">";
410 410
411 } else if ( !mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ).isEmpty() ) { 411 } else if ( !mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ).isEmpty() ) {
412 static bool setDefaultImagepouses = false; 412 static bool setDefaultImagepouses = false;
413 if ( !setDefaultImagepouses ) { 413 if ( !setDefaultImagepouses ) {
414 QMimeSourceFactory::defaultFactory()->setPixmap( "SpousesIcon", KGlobal::iconLoader()->loadIcon( "ic_family", KIcon::Desktop, 128 ) ); 414 QMimeSourceFactory::defaultFactory()->setPixmap( "SpousesIcon", KGlobal::iconLoader()->loadIcon( "ic_family", KIcon::Desktop, 128 ) );
415 setDefaultImagepouses = true; 415 setDefaultImagepouses = true;
416 } 416 }
417 picString = "<img src=\"SpousesIcon\" width=\"64\" height=\"64\">"; 417 picString = "<img src=\"SpousesIcon\" width=\"64\" height=\"64\">";
418 } else { 418 } else {
419 QString gen = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); 419 QString gen = mAddressee.custom( "KADDRESSBOOK", "X-Gender" );
420 if ( gen == "male" ) { 420 if ( gen == "male" ) {
421 static bool setDefaultImageMale = false; 421 static bool setDefaultImageMale = false;
422 if ( !setDefaultImageMale ) { 422 if ( !setDefaultImageMale ) {
423 QMimeSourceFactory::defaultFactory()->setPixmap( "MaleIcon", KGlobal::iconLoader()->loadIcon( "ic_male", KIcon::Desktop, 128 ) ); 423 QMimeSourceFactory::defaultFactory()->setPixmap( "MaleIcon", KGlobal::iconLoader()->loadIcon( "ic_male", KIcon::Desktop, 128 ) );
424 setDefaultImageMale = true; 424 setDefaultImageMale = true;
425 } 425 }
426 picString = "<img src=\"MaleIcon\" width=\"64\" height=\"64\">"; 426 picString = "<img src=\"MaleIcon\" width=\"64\" height=\"64\">";
427 427
428 } else if ( gen == "female" ) { 428 } else if ( gen == "female" ) {
429 static bool setDefaultImageFemale = false; 429 static bool setDefaultImageFemale = false;
430 if ( !setDefaultImageFemale ) { 430 if ( !setDefaultImageFemale ) {
431 QMimeSourceFactory::defaultFactory()->setPixmap( "FemaleIcon", KGlobal::iconLoader()->loadIcon( "ic_female", KIcon::Desktop, 128 ) ); 431 QMimeSourceFactory::defaultFactory()->setPixmap( "FemaleIcon", KGlobal::iconLoader()->loadIcon( "ic_female", KIcon::Desktop, 128 ) );
432 setDefaultImageFemale = true; 432 setDefaultImageFemale = true;
433 } 433 }
434 picString = "<img src=\"FemaleIcon\" width=\"64\" height=\"64\">"; 434 picString = "<img src=\"FemaleIcon\" width=\"64\" height=\"64\">";
435 435
436 } else { 436 } else {
437 static bool setDefaultImage = false; 437 static bool setDefaultImage = false;
438 if ( !setDefaultImage ) { 438 if ( !setDefaultImage ) {
439 //qDebug("Setting default pixmap "); 439 //qDebug("Setting default pixmap ");
440 QMimeSourceFactory::defaultFactory()->setPixmap( "defaultIcon", KGlobal::iconLoader()->loadIcon( "ic_penguin", KIcon::Desktop, 128 ) ); 440 QMimeSourceFactory::defaultFactory()->setPixmap( "defaultIcon", KGlobal::iconLoader()->loadIcon( "ic_penguin", KIcon::Desktop, 128 ) );
441 setDefaultImage = true; 441 setDefaultImage = true;
442 } 442 }
443 picString = "<img src=\"defaultIcon\" width=\"64\" height=\"64\">"; 443 picString = "<img src=\"defaultIcon\" width=\"64\" height=\"64\">";
444 } 444 }
445 } 445 }
446 } 446 }
447 } 447 }
448 mText = QString::fromLatin1( 448 mText = QString::fromLatin1(
449 "<html>" 449 "<html>"
450 "<body text=\"%1\" bgcolor=\"%2\">" // text and background color 450 "<body text=\"%1\" bgcolor=\"%2\">" // text and background color
451 "<table>" 451 "<table>"
452 "<tr>" 452 "<tr>"
453 "<td rowspan=\"3\" align=\"right\" valign=\"top\">" 453 "<td rowspan=\"3\" align=\"right\" valign=\"top\">"
454 "%3" 454 "%3"
455 "</td>" 455 "</td>"
456 "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name 456 "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name
457 "</tr>" 457 "</tr>"
458 "%5" // role 458 "%5" // role
459 "%6" // organization 459 "%6" // organization
460 "<td colspan=\"2\">&nbsp;</td>" 460 "<td colspan=\"2\">&nbsp;</td>"
461 "%7" // dynamic part 461 "%7" // dynamic part
462 "%8" // notes 462 "%8" // notes
463 "</table>" 463 "</table>"
464 "</body>" 464 "</body>"
465 "</html>") 465 "</html>")
466//US 466//US
467 .arg( /*KGlobalSettings::textColor().name()*/ "black" ) 467 .arg( /*KGlobalSettings::textColor().name()*/ "black" )
468//US 468//US
469 .arg( /*KGlobalSettings::baseColor().name()*/ "white" ) 469 .arg( /*KGlobalSettings::baseColor().name()*/ "white" )
470 .arg( picString ) 470 .arg( picString )
471 .arg( name ) 471 .arg( name )
472 .arg( aRole ) 472 .arg( aRole )
473 .arg( aOrga ) 473 .arg( aOrga )
474 .arg( dynamicPart ) 474 .arg( dynamicPart )
475 .arg( notes ); 475 .arg( notes );
476 476
477 } else { // no picture! 477 } else { // no picture!
478 478
479mText = "<table width=\"100%\">\n"; 479mText = "<table width=\"100%\">\n";
480 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>"; 480 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>";
481#ifdef DESKTOP_VERSION 481#ifdef DESKTOP_VERSION
482 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h1>"; 482 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h1>";
483 mText += "<font color=\"#FFFFFF\">" + name +"</font></h1>"; 483 mText += "<font color=\"#FFFFFF\">" + name +"</font></h1>";
484#else 484#else
485 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h3>"; 485 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h3>";
486 mText += "<font color=\"#FFFFFF\"> " + name +"</font></h3>"; 486 mText += "<font color=\"#FFFFFF\"> " + name +"</font></h3>";
487#endif 487#endif
488 488