summaryrefslogtreecommitdiffabout
path: root/kabc
Unidiff
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addresseeview.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp
index 2691d9a..f3cfb23 100644
--- a/kabc/addresseeview.cpp
+++ b/kabc/addresseeview.cpp
@@ -1,680 +1,684 @@
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 if ( tempX == "male" || tempX == "female" ) {
238 "<tr><td align=\"right\"><b>%1</b></td>" 238 notes += QString(
239 "<td align=\"left\">%2</td></tr>" ) 239 "<tr><td align=\"right\"><b>%1</b></td>"
240 .arg( i18n( "" ) ) 240 "<td align=\"left\">%2</td></tr>" )
241 .arg( i18n(tempX) ); 241 .arg( i18n( "" ) )
242 .arg( i18n(tempX) );
243 }
242 } 244 }
243 245
244 246
245 tempX = mAddressee.secrecy().asString(); 247 tempX = mAddressee.secrecy().asString();
246 248
247 notes += QString( 249 notes += QString(
248 "<tr><td align=\"right\"><b>%1</b></td>" 250 "<tr><td align=\"right\"><b>%1</b></td>"
249 "<td align=\"left\">%2</td></tr>" ) 251 "<td align=\"left\">%2</td></tr>" )
250 .arg( "" ) 252 .arg( "" )
251 .arg( tempX ); 253 .arg( tempX );
252 254
253 255
254 tempX = mAddressee.categories().join(" - "); 256 tempX = mAddressee.categories().join(" - ");
255 if ( !tempX.isEmpty() ) { 257 if ( !tempX.isEmpty() ) {
256 notes += QString( 258 notes += QString(
257 "<tr><td align=\"right\"><b>%1</b></td>" 259 "<tr><td align=\"right\"><b>%1</b></td>"
258 "<td align=\"left\">%2</td></tr>" ) 260 "<td align=\"left\">%2</td></tr>" )
259 .arg( i18n( "Category" ) ) 261 .arg( i18n( "Category" ) )
260 .arg( tempX ); 262 .arg( tempX );
261 } 263 }
262 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Profession" ); 264 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Profession" );
263 if ( !tempX.isEmpty() ) { 265 if ( !tempX.isEmpty() ) {
264 notes += QString( 266 notes += QString(
265 "<tr><td align=\"right\"><b>%1</b></td>" 267 "<tr><td align=\"right\"><b>%1</b></td>"
266 "<td align=\"left\">%2</td></tr>" ) 268 "<td align=\"left\">%2</td></tr>" )
267 .arg( i18n( "Profession" ) ) 269 .arg( i18n( "Profession" ) )
268 .arg( tempX ); 270 .arg( tempX );
269 } 271 }
270 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Office" ); 272 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Office" );
271 if ( !tempX.isEmpty() ) { 273 if ( !tempX.isEmpty() ) {
272 notes += QString( 274 notes += QString(
273 "<tr><td align=\"right\"><b>%1</b></td>" 275 "<tr><td align=\"right\"><b>%1</b></td>"
274 "<td align=\"left\">%2</td></tr>" ) 276 "<td align=\"left\">%2</td></tr>" )
275 .arg( i18n( "Office" ) ) 277 .arg( i18n( "Office" ) )
276 .arg( tempX ); 278 .arg( tempX );
277 } 279 }
278 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Department" ); 280 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Department" );
279 if ( !tempX.isEmpty() ) { 281 if ( !tempX.isEmpty() ) {
280 notes += QString( 282 notes += QString(
281 "<tr><td align=\"right\"><b>%1</b></td>" 283 "<tr><td align=\"right\"><b>%1</b></td>"
282 "<td align=\"left\">%2</td></tr>" ) 284 "<td align=\"left\">%2</td></tr>" )
283 .arg( i18n( "Department" ) ) 285 .arg( i18n( "Department" ) )
284 .arg( tempX ); 286 .arg( tempX );
285 } 287 }
286 288
287 tempX = mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" ); 289 tempX = mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" );
288 if ( !tempX.isEmpty() ) { 290 if ( !tempX.isEmpty() ) {
289 notes += QString( 291 notes += QString(
290 "<tr><td align=\"right\"><b>%1</b></td>" 292 "<tr><td align=\"right\"><b>%1</b></td>"
291 "<td align=\"left\">%2</td></tr>" ) 293 "<td align=\"left\">%2</td></tr>" )
292 .arg( i18n( "Manager" ) ) 294 .arg( i18n( "Manager" ) )
293 .arg( tempX ); 295 .arg( tempX );
294 } 296 }
295 tempX = mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" ); 297 tempX = mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" );
296 if ( !tempX.isEmpty() ) { 298 if ( !tempX.isEmpty() ) {
297 notes += QString( 299 notes += QString(
298 "<tr><td align=\"right\"><b>%1</b></td>" 300 "<tr><td align=\"right\"><b>%1</b></td>"
299 "<td align=\"left\">%2</td></tr>" ) 301 "<td align=\"left\">%2</td></tr>" )
300 .arg( i18n( "Assistant" ) ) 302 .arg( i18n( "Assistant" ) )
301 .arg( tempX ); 303 .arg( tempX );
302 } 304 }
303 if ( !mAddressee.url().url().isEmpty() ) { 305 if ( !mAddressee.url().url().isEmpty() ) {
304 notes += QString( 306 notes += QString(
305 "<tr><td align=\"right\"><b>%1</b></td>" 307 "<tr><td align=\"right\"><b>%1</b></td>"
306 "<td align=\"left\">%2</td></tr>" ) 308 "<td align=\"left\">%2</td></tr>" )
307 .arg( i18n( "Homepage" ) ) 309 .arg( i18n( "Homepage" ) )
308 .arg( mAddressee.url().url() ); 310 .arg( mAddressee.url().url() );
309 } 311 }
310 tempX = mAddressee.nickName(); 312 tempX = mAddressee.nickName();
311 if ( !tempX.isEmpty() ) { 313 if ( !tempX.isEmpty() ) {
312 notes += QString( 314 notes += QString(
313 "<tr><td align=\"right\"><b>%1</b></td>" 315 "<tr><td align=\"right\"><b>%1</b></td>"
314 "<td align=\"left\">%2</td></tr>" ) 316 "<td align=\"left\">%2</td></tr>" )
315 .arg( i18n( "Nickname" ) ) 317 .arg( i18n( "Nickname" ) )
316 .arg( tempX ); 318 .arg( tempX );
317 } 319 }
318 tempX = mAddressee.custom( "KADDRESSBOOK", "X-IMAddress" ); 320 tempX = mAddressee.custom( "KADDRESSBOOK", "X-IMAddress" );
319 if ( !tempX.isEmpty() ) { 321 if ( !tempX.isEmpty() ) {
320 notes += QString( 322 notes += QString(
321 "<tr><td align=\"right\"><b>%1</b></td>" 323 "<tr><td align=\"right\"><b>%1</b></td>"
322 "<td align=\"left\">%2</td></tr>" ) 324 "<td align=\"left\">%2</td></tr>" )
323 .arg( i18n( "Messanger" ) ) 325 .arg( i18n( "Messanger" ) )
324 .arg( tempX ); 326 .arg( tempX );
325 } 327 }
326 328
327 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Anniversary" ); 329 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Anniversary" );
328 if ( !tempX.isEmpty() ) { 330 if ( !tempX.isEmpty() ) {
329 QDate dt = KGlobal::locale()->readDate( tempX, "%Y-%m-%d"); 331 QDate dt = KGlobal::locale()->readDate( tempX, "%Y-%m-%d");
330 tempX = KGlobal::locale()->formatDate(dt, true); 332 if ( dt.isValid () ) {
331 notes += QString( 333 tempX = KGlobal::locale()->formatDate(dt, true);
332 "<tr><td align=\"right\"><b>%1</b></td>" 334 notes += QString(
333 "<td align=\"left\">%2</td></tr>" ) 335 "<tr><td align=\"right\"><b>%1</b></td>"
334 .arg( i18n( "Anniversary" ) ) 336 "<td align=\"left\">%2</td></tr>" )
335 .arg( tempX ); 337 .arg( i18n( "Anniversary" ) )
338 .arg( tempX );
339 }
336 } 340 }
337 tempX = mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ); 341 tempX = mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" );
338 if ( !tempX.isEmpty() ) { 342 if ( !tempX.isEmpty() ) {
339 notes += QString( 343 notes += QString(
340 "<tr><td align=\"right\"><b>%1</b></td>" 344 "<tr><td align=\"right\"><b>%1</b></td>"
341 "<td align=\"left\">%2</td></tr>" ) 345 "<td align=\"left\">%2</td></tr>" )
342 .arg( i18n( "Spouse" ) ) 346 .arg( i18n( "Spouse" ) )
343 .arg( tempX ); 347 .arg( tempX );
344 } 348 }
345 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Children" ); 349 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Children" );
346 if ( !tempX.isEmpty() ) { 350 if ( !tempX.isEmpty() ) {
347 notes += QString( 351 notes += QString(
348 "<tr><td align=\"right\"><b>%1</b></td>" 352 "<tr><td align=\"right\"><b>%1</b></td>"
349 "<td align=\"left\">%2</td></tr>" ) 353 "<td align=\"left\">%2</td></tr>" )
350 .arg( i18n( "Children" ) ) 354 .arg( i18n( "Children" ) )
351 .arg( tempX ); 355 .arg( tempX );
352 } 356 }
353 357
354 if ( !mAddressee.note().isEmpty() ) { 358 if ( !mAddressee.note().isEmpty() ) {
355 notes += QString( 359 notes += QString(
356 "<tr>" 360 "<tr>"
357 "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label 361 "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label
358 "<td align=\"left\">%2</td>" // note 362 "<td align=\"left\">%2</td>" // note
359 "</tr>" ).arg( i18n( "Notes" ) ) 363 "</tr>" ).arg( i18n( "Notes" ) )
360 //US .arg( mAddressee.note().replace( '\n', "<br>" ) ); 364 //US .arg( mAddressee.note().replace( '\n', "<br>" ) );
361 .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) ); 365 .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) );
362 //qDebug("AddresseeView::setAddressee has to be verified."); 366 //qDebug("AddresseeView::setAddressee has to be verified.");
363 } 367 }
364 } else { 368 } else {
365 notes = QString( 369 notes = QString(
366 "<tr><td align=\"right\"><b>%1</b></td>" 370 "<tr><td align=\"right\"><b>%1</b></td>"
367 "<td align=\"left\"><a href=\"allDetails\">%4</a></td></tr>" ) 371 "<td align=\"left\"><a href=\"allDetails\">%4</a></td></tr>" )
368 .arg( i18n("Details") ) 372 .arg( i18n("Details") )
369 .arg( i18n("Show!") ); 373 .arg( i18n("Show!") );
370 374
371 375
372 } 376 }
373 377
374 QString aRole = ""; 378 QString aRole = "";
375 QString aOrga = ""; 379 QString aOrga = "";
376 if ( true /*!mAddressee.role().isEmpty()*/ ) { 380 if ( true /*!mAddressee.role().isEmpty()*/ ) {
377 aRole = "<tr>" 381 aRole = "<tr>"
378 "<td align=\"left\">" + mAddressee.role() + "</td>" 382 "<td align=\"left\">" + mAddressee.role() + "</td>"
379 "</tr>"; 383 "</tr>";
380 } 384 }
381 if ( true /*!mAddressee.organization().isEmpty()*/ ) { 385 if ( true /*!mAddressee.organization().isEmpty()*/ ) {
382 aOrga = "<tr>" 386 aOrga = "<tr>"
383 "<td align=\"left\">" + mAddressee.organization() + "</td>" 387 "<td align=\"left\">" + mAddressee.organization() + "</td>"
384 "</tr>"; 388 "</tr>";
385 } 389 }
386 mText = ""; 390 mText = "";
387 QString picString = ""; 391 QString picString = "";
388 KABC::Picture picture = mAddressee.photo(); 392 KABC::Picture picture = mAddressee.photo();
389 bool picAvailintern = false; 393 bool picAvailintern = false;
390 bool picAvailUrl = false; 394 bool picAvailUrl = false;
391 if (! picture.undefined() ) { 395 if (! picture.undefined() ) {
392 picAvailintern = (picture.isIntern() && !picture.data().isNull()); 396 picAvailintern = (picture.isIntern() && !picture.data().isNull());
393 picAvailUrl = !picture.isIntern() && QFile::exists(picture.url() ); 397 picAvailUrl = !picture.isIntern() && QFile::exists(picture.url() );
394 } 398 }
395 if ( picAvailUrl || picAvailintern || QApplication::desktop()->width() > 320 ) { 399 if ( picAvailUrl || picAvailintern || QApplication::desktop()->width() > 320 ) {
396 picString = "<img src=\"myimage\" width=\"50\" height=\"70\">"; 400 picString = "<img src=\"myimage\" width=\"50\" height=\"70\">";
397 if ( picAvailintern ) { 401 if ( picAvailintern ) {
398 QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() ); 402 QMimeSourceFactory::defaultFactory()->setImage( "myimage", picture.data() );
399 } else { 403 } else {
400 if ( picAvailUrl ) { 404 if ( picAvailUrl ) {
401 QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() )); 405 QMimeSourceFactory::defaultFactory()->setPixmap( "myimage", QPixmap( picture.url() ));
402 } else { 406 } else {
403 if ( !mAddressee.custom( "KADDRESSBOOK", "X-Children" ).isEmpty() ) { 407 if ( !mAddressee.custom( "KADDRESSBOOK", "X-Children" ).isEmpty() ) {
404 static bool setDefaultImageChildren = false; 408 static bool setDefaultImageChildren = false;
405 if ( !setDefaultImageChildren ) { 409 if ( !setDefaultImageChildren ) {
406 QMimeSourceFactory::defaultFactory()->setPixmap( "familyIcon", KGlobal::iconLoader()->loadIcon( "ic_kids", KIcon::Desktop, 128 ) ); 410 QMimeSourceFactory::defaultFactory()->setPixmap( "familyIcon", KGlobal::iconLoader()->loadIcon( "ic_kids", KIcon::Desktop, 128 ) );
407 setDefaultImageChildren = true; 411 setDefaultImageChildren = true;
408 } 412 }
409 picString = "<img src=\"familyIcon\" width=\"64\" height=\"64\">"; 413 picString = "<img src=\"familyIcon\" width=\"64\" height=\"64\">";
410 414
411 } else if ( !mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ).isEmpty() ) { 415 } else if ( !mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" ).isEmpty() ) {
412 static bool setDefaultImagepouses = false; 416 static bool setDefaultImagepouses = false;
413 if ( !setDefaultImagepouses ) { 417 if ( !setDefaultImagepouses ) {
414 QMimeSourceFactory::defaultFactory()->setPixmap( "SpousesIcon", KGlobal::iconLoader()->loadIcon( "ic_family", KIcon::Desktop, 128 ) ); 418 QMimeSourceFactory::defaultFactory()->setPixmap( "SpousesIcon", KGlobal::iconLoader()->loadIcon( "ic_family", KIcon::Desktop, 128 ) );
415 setDefaultImagepouses = true; 419 setDefaultImagepouses = true;
416 } 420 }
417 picString = "<img src=\"SpousesIcon\" width=\"64\" height=\"64\">"; 421 picString = "<img src=\"SpousesIcon\" width=\"64\" height=\"64\">";
418 } else { 422 } else {
419 QString gen = mAddressee.custom( "KADDRESSBOOK", "X-Gender" ); 423 QString gen = mAddressee.custom( "KADDRESSBOOK", "X-Gender" );
420 if ( gen == "male" ) { 424 if ( gen == "male" ) {
421 static bool setDefaultImageMale = false; 425 static bool setDefaultImageMale = false;
422 if ( !setDefaultImageMale ) { 426 if ( !setDefaultImageMale ) {
423 QMimeSourceFactory::defaultFactory()->setPixmap( "MaleIcon", KGlobal::iconLoader()->loadIcon( "ic_male", KIcon::Desktop, 128 ) ); 427 QMimeSourceFactory::defaultFactory()->setPixmap( "MaleIcon", KGlobal::iconLoader()->loadIcon( "ic_male", KIcon::Desktop, 128 ) );
424 setDefaultImageMale = true; 428 setDefaultImageMale = true;
425 } 429 }
426 picString = "<img src=\"MaleIcon\" width=\"64\" height=\"64\">"; 430 picString = "<img src=\"MaleIcon\" width=\"64\" height=\"64\">";
427 431
428 } else if ( gen == "female" ) { 432 } else if ( gen == "female" ) {
429 static bool setDefaultImageFemale = false; 433 static bool setDefaultImageFemale = false;
430 if ( !setDefaultImageFemale ) { 434 if ( !setDefaultImageFemale ) {
431 QMimeSourceFactory::defaultFactory()->setPixmap( "FemaleIcon", KGlobal::iconLoader()->loadIcon( "ic_female", KIcon::Desktop, 128 ) ); 435 QMimeSourceFactory::defaultFactory()->setPixmap( "FemaleIcon", KGlobal::iconLoader()->loadIcon( "ic_female", KIcon::Desktop, 128 ) );
432 setDefaultImageFemale = true; 436 setDefaultImageFemale = true;
433 } 437 }
434 picString = "<img src=\"FemaleIcon\" width=\"64\" height=\"64\">"; 438 picString = "<img src=\"FemaleIcon\" width=\"64\" height=\"64\">";
435 439
436 } else { 440 } else {
437 static bool setDefaultImage = false; 441 static bool setDefaultImage = false;
438 if ( !setDefaultImage ) { 442 if ( !setDefaultImage ) {
439 //qDebug("Setting default pixmap "); 443 //qDebug("Setting default pixmap ");
440 QMimeSourceFactory::defaultFactory()->setPixmap( "defaultIcon", KGlobal::iconLoader()->loadIcon( "ic_penguin", KIcon::Desktop, 128 ) ); 444 QMimeSourceFactory::defaultFactory()->setPixmap( "defaultIcon", KGlobal::iconLoader()->loadIcon( "ic_penguin", KIcon::Desktop, 128 ) );
441 setDefaultImage = true; 445 setDefaultImage = true;
442 } 446 }
443 picString = "<img src=\"defaultIcon\" width=\"64\" height=\"64\">"; 447 picString = "<img src=\"defaultIcon\" width=\"64\" height=\"64\">";
444 } 448 }
445 } 449 }
446 } 450 }
447 } 451 }
448 mText = QString::fromLatin1( 452 mText = QString::fromLatin1(
449 "<html>" 453 "<html>"
450 "<body text=\"%1\" bgcolor=\"%2\">" // text and background color 454 "<body text=\"%1\" bgcolor=\"%2\">" // text and background color
451 "<table>" 455 "<table>"
452 "<tr>" 456 "<tr>"
453 "<td rowspan=\"3\" align=\"right\" valign=\"top\">" 457 "<td rowspan=\"3\" align=\"right\" valign=\"top\">"
454 "%3" 458 "%3"
455 "</td>" 459 "</td>"
456 "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name 460 "<td align=\"left\"><font size=\"+2\"><b>%4</b></font></td>" // name
457 "</tr>" 461 "</tr>"
458 "%5" // role 462 "%5" // role
459 "%6" // organization 463 "%6" // organization
460 "<td colspan=\"2\">&nbsp;</td>" 464 "<td colspan=\"2\">&nbsp;</td>"
461 "%7" // dynamic part 465 "%7" // dynamic part
462 "%8" // notes 466 "%8" // notes
463 "</table>" 467 "</table>"
464 "</body>" 468 "</body>"
465 "</html>") 469 "</html>")
466//US 470//US
467 .arg( /*KGlobalSettings::textColor().name()*/ "black" ) 471 .arg( /*KGlobalSettings::textColor().name()*/ "black" )
468//US 472//US
469 .arg( /*KGlobalSettings::baseColor().name()*/ "white" ) 473 .arg( /*KGlobalSettings::baseColor().name()*/ "white" )
470 .arg( picString ) 474 .arg( picString )
471 .arg( name ) 475 .arg( name )
472 .arg( aRole ) 476 .arg( aRole )
473 .arg( aOrga ) 477 .arg( aOrga )
474 .arg( dynamicPart ) 478 .arg( dynamicPart )
475 .arg( notes ); 479 .arg( notes );
476 480
477 } else { // no picture! 481 } else { // no picture!
478 482
479mText = "<table width=\"100%\">\n"; 483mText = "<table width=\"100%\">\n";
480 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>"; 484 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>";
481#ifdef DESKTOP_VERSION 485#ifdef DESKTOP_VERSION
482 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h1>"; 486 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h1>";
483 mText += "<font color=\"#FFFFFF\">" + name +"</font></h1>"; 487 mText += "<font color=\"#FFFFFF\">" + name +"</font></h1>";
484#else 488#else
485 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h3>"; 489 mText += "<tr bgcolor=\"#5699CD\"><td align=\"left\"><h3>";
486 mText += "<font color=\"#FFFFFF\"> " + name +"</font></h3>"; 490 mText += "<font color=\"#FFFFFF\"> " + name +"</font></h3>";
487#endif 491#endif
488 492
489 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>"; 493 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>";
490 494
491 mText += "<table><td colspan=\"2\">&nbsp;</td>"; 495 mText += "<table><td colspan=\"2\">&nbsp;</td>";
492 /* 496 /*
493 mText += QString("<tr><td align=\"right\"><b2>%1</b2></td>" 497 mText += QString("<tr><td align=\"right\"><b2>%1</b2></td>"
494 "<td align=\"left\"><b>%2</b></td></tr>" ) 498 "<td align=\"left\"><b>%2</b></td></tr>" )
495 .arg( i18n(" ") ) 499 .arg( i18n(" ") )
496 .arg( name ); 500 .arg( name );
497 */ 501 */
498 if ( ! mAddressee.role().isEmpty() ) 502 if ( ! mAddressee.role().isEmpty() )
499 mText += QString("<tr><td align=\"right\"><b>%1</b></td>" 503 mText += QString("<tr><td align=\"right\"><b>%1</b></td>"
500 "<td align=\"left\">%2</td></tr>" ) 504 "<td align=\"left\">%2</td></tr>" )
501 .arg( i18n(" ") ) 505 .arg( i18n(" ") )
502 .arg( mAddressee.role()); 506 .arg( mAddressee.role());
503 if ( ! mAddressee.organization().isEmpty() ) 507 if ( ! mAddressee.organization().isEmpty() )
504 mText += QString("<tr><td align=\"right\"><b>%1</b></td>" 508 mText += QString("<tr><td align=\"right\"><b>%1</b></td>"
505 "<td align=\"left\">%2</td></tr>" ) 509 "<td align=\"left\">%2</td></tr>" )
506 .arg( i18n(" ") ) 510 .arg( i18n(" ") )
507 .arg( mAddressee.organization()); 511 .arg( mAddressee.organization());
508 mText += dynamicPart; 512 mText += dynamicPart;
509 mText += notes; 513 mText += notes;
510 mText += "</table>"; 514 mText += "</table>";
511 515
512 } 516 }
513 517
514 // at last display it... 518 // at last display it...
515 setText( mText ); 519 setText( mText );
516 520
517} 521}
518 522
519QString AddresseeView::getPhoneNumbers( KABC::PhoneNumber::List phones ,bool preferred ) 523QString AddresseeView::getPhoneNumbers( KABC::PhoneNumber::List phones ,bool preferred )
520{ 524{
521 ExternalAppHandler* eah = ExternalAppHandler::instance(); 525 ExternalAppHandler* eah = ExternalAppHandler::instance();
522 bool kphoneAvail = eah->isPhoneAppAvailable(); 526 bool kphoneAvail = eah->isPhoneAppAvailable();
523 bool kfaxAvail = eah->isFaxAppAvailable(); 527 bool kfaxAvail = eah->isFaxAppAvailable();
524 bool ksmsAvail = eah->isSMSAppAvailable(); 528 bool ksmsAvail = eah->isSMSAppAvailable();
525 bool kpagerAvail = eah->isPagerAppAvailable(); 529 bool kpagerAvail = eah->isPagerAppAvailable();
526 bool ksipAvail = eah->isSIPAppAvailable(); 530 bool ksipAvail = eah->isSIPAppAvailable();
527 QString dynamicPart; 531 QString dynamicPart;
528 KABC::PhoneNumber::List::ConstIterator phoneIt; 532 KABC::PhoneNumber::List::ConstIterator phoneIt;
529 QString extension; 533 QString extension;
530 int phonetype; 534 int phonetype;
531 QString sms; 535 QString sms;
532 for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) { 536 for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) {
533 phonetype = (*phoneIt).type(); 537 phonetype = (*phoneIt).type();
534 if ( ((phonetype & KABC::PhoneNumber::Pref) == 0 ) == preferred ) 538 if ( ((phonetype & KABC::PhoneNumber::Pref) == 0 ) == preferred )
535 continue; 539 continue;
536 if (ksmsAvail && 540 if (ksmsAvail &&
537 ( 541 (
538 ((phonetype & KABC::PhoneNumber::Car) == KABC::PhoneNumber::Car) || 542 ((phonetype & KABC::PhoneNumber::Car) == KABC::PhoneNumber::Car) ||
539 ((phonetype & KABC::PhoneNumber::Cell) == KABC::PhoneNumber::Cell) 543 ((phonetype & KABC::PhoneNumber::Cell) == KABC::PhoneNumber::Cell)
540 ) 544 )
541 ) 545 )
542 { 546 {
543 sms = QString("<a href=\"smsto:%1 \">(sms)</a>" ) 547 sms = QString("<a href=\"smsto:%1 \">(sms)</a>" )
544 .arg( (*phoneIt).number() ); 548 .arg( (*phoneIt).number() );
545 549
546 } 550 }
547 else 551 else
548 sms = ""; 552 sms = "";
549 553
550 extension = QString::null; 554 extension = QString::null;
551 if ((phonetype & KABC::PhoneNumber::Fax) == KABC::PhoneNumber::Fax) { 555 if ((phonetype & KABC::PhoneNumber::Fax) == KABC::PhoneNumber::Fax) {
552 if (kfaxAvail) extension = "faxto:"; 556 if (kfaxAvail) extension = "faxto:";
553 } 557 }
554 else if ((phonetype & KABC::PhoneNumber::Pager) == KABC::PhoneNumber::Pager) { 558 else if ((phonetype & KABC::PhoneNumber::Pager) == KABC::PhoneNumber::Pager) {
555 if (kpagerAvail) extension = "pagerto:"; 559 if (kpagerAvail) extension = "pagerto:";
556 } 560 }
557 else if ((phonetype & KABC::PhoneNumber::Sip) == KABC::PhoneNumber::Sip) { 561 else if ((phonetype & KABC::PhoneNumber::Sip) == KABC::PhoneNumber::Sip) {
558 if (ksipAvail) extension = "sipto:"; 562 if (ksipAvail) extension = "sipto:";
559 } 563 }
560 else if (kphoneAvail) { 564 else if (kphoneAvail) {
561 extension = "phoneto:"; 565 extension = "phoneto:";
562 } 566 }
563 else 567 else
564 extension = QString::null; 568 extension = QString::null;
565 569
566 if ( !extension.isEmpty() ) { 570 if ( !extension.isEmpty() ) {
567 dynamicPart += QString( 571 dynamicPart += QString(
568 "<tr><td align=\"right\"><b>%1</b></td>" 572 "<tr><td align=\"right\"><b>%1</b></td>"
569 "<td align=\"left\"><a href=\"%2%3 \">%4</a> %5</td></tr>" ) 573 "<td align=\"left\"><a href=\"%2%3 \">%4</a> %5</td></tr>" )
570 .arg( KABC::PhoneNumber::typeLabel( phonetype ) ) 574 .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
571 .arg( extension ) 575 .arg( extension )
572 .arg( (*phoneIt).number() ) 576 .arg( (*phoneIt).number() )
573 .arg( (*phoneIt).number() ) 577 .arg( (*phoneIt).number() )
574 .arg( sms ); 578 .arg( sms );
575 579
576 } else { 580 } else {
577 dynamicPart += QString( 581 dynamicPart += QString(
578 "<tr><td align=\"right\"><b>%1</b></td>" 582 "<tr><td align=\"right\"><b>%1</b></td>"
579 "<td align=\"left\">%2 %3</td></tr>" ) 583 "<td align=\"left\">%2 %3</td></tr>" )
580 .arg( KABC::PhoneNumber::typeLabel( phonetype ) ) 584 .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
581 .arg( (*phoneIt).number() ) 585 .arg( (*phoneIt).number() )
582 .arg( sms ); 586 .arg( sms );
583 } 587 }
584 } 588 }
585 return dynamicPart; 589 return dynamicPart;
586} 590}
587/* 591/*
588KABC::Addressee AddresseeView::addressee() const 592KABC::Addressee AddresseeView::addressee() const
589{ 593{
590 return mAddressee; 594 return mAddressee;
591} 595}
592*/ 596*/
593void AddresseeView::addTag(const QString & tag,const QString & text) 597void AddresseeView::addTag(const QString & tag,const QString & text)
594{ 598{
595 if ( text.isEmpty() ) 599 if ( text.isEmpty() )
596 return; 600 return;
597 int number=text.contains("\n"); 601 int number=text.contains("\n");
598 QString str = "<" + tag + ">"; 602 QString str = "<" + tag + ">";
599 QString tmpText=text; 603 QString tmpText=text;
600 QString tmpStr=str; 604 QString tmpStr=str;
601 if(number !=-1) 605 if(number !=-1)
602 { 606 {
603 if (number > 0) { 607 if (number > 0) {
604 int pos=0; 608 int pos=0;
605 QString tmp; 609 QString tmp;
606 for(int i=0;i<=number;i++) { 610 for(int i=0;i<=number;i++) {
607 pos=tmpText.find("\n"); 611 pos=tmpText.find("\n");
608 tmp=tmpText.left(pos); 612 tmp=tmpText.left(pos);
609 tmpText=tmpText.right(tmpText.length()-pos-1); 613 tmpText=tmpText.right(tmpText.length()-pos-1);
610 tmpStr+=tmp+"<br>"; 614 tmpStr+=tmp+"<br>";
611 } 615 }
612 } 616 }
613 else tmpStr += tmpText; 617 else tmpStr += tmpText;
614 tmpStr+="</" + tag + ">"; 618 tmpStr+="</" + tag + ">";
615 mText.append(tmpStr); 619 mText.append(tmpStr);
616 } 620 }
617 else 621 else
618 { 622 {
619 str += text + "</" + tag + ">"; 623 str += text + "</" + tag + ">";
620 mText.append(str); 624 mText.append(str);
621 } 625 }
622} 626}
623 627
624AddresseeChooser::AddresseeChooser( KABC::Addressee loc, KABC::Addressee rem, bool takeloc, QWidget *parent, const char *name ) : KDialogBase(parent,name, 628AddresseeChooser::AddresseeChooser( KABC::Addressee loc, KABC::Addressee rem, bool takeloc, QWidget *parent, const char *name ) : KDialogBase(parent,name,
625 true ,i18n("Conflict! Please choose Adressee!"),Ok|User1|Close,Close, false) 629 true ,i18n("Conflict! Please choose Adressee!"),Ok|User1|Close,Close, false)
626{ 630{
627 findButton( Close )->setText( i18n("Cancel Sync")); 631 findButton( Close )->setText( i18n("Cancel Sync"));
628 findButton( Ok )->setText( i18n("Remote")); 632 findButton( Ok )->setText( i18n("Remote"));
629 findButton( User1 )->setText( i18n("Local")); 633 findButton( User1 )->setText( i18n("Local"));
630 QWidget* topframe = new QWidget( this ); 634 QWidget* topframe = new QWidget( this );
631 setMainWidget( topframe ); 635 setMainWidget( topframe );
632 QBoxLayout* bl; 636 QBoxLayout* bl;
633 if ( QApplication::desktop()->width() < 640 ) { 637 if ( QApplication::desktop()->width() < 640 ) {
634 bl = new QVBoxLayout( topframe ); 638 bl = new QVBoxLayout( topframe );
635 } else { 639 } else {
636 bl = new QHBoxLayout( topframe ); 640 bl = new QHBoxLayout( topframe );
637 } 641 }
638 QVBox* subframe = new QVBox( topframe ); 642 QVBox* subframe = new QVBox( topframe );
639 bl->addWidget(subframe ); 643 bl->addWidget(subframe );
640 QLabel* lab = new QLabel( i18n("Local Addressee"), subframe ); 644 QLabel* lab = new QLabel( i18n("Local Addressee"), subframe );
641 if ( takeloc ) 645 if ( takeloc )
642 lab->setBackgroundColor(Qt::green.light() ); 646 lab->setBackgroundColor(Qt::green.light() );
643 AddresseeView * av = new AddresseeView( subframe ); 647 AddresseeView * av = new AddresseeView( subframe );
644 av->setAddressee( loc ); 648 av->setAddressee( loc );
645 subframe = new QVBox( topframe ); 649 subframe = new QVBox( topframe );
646 bl->addWidget(subframe ); 650 bl->addWidget(subframe );
647 lab = new QLabel( i18n("Remote Addressee"), subframe ); 651 lab = new QLabel( i18n("Remote Addressee"), subframe );
648 if ( !takeloc ) 652 if ( !takeloc )
649 lab->setBackgroundColor(Qt::green.light() ); 653 lab->setBackgroundColor(Qt::green.light() );
650 av = new AddresseeView( subframe ); 654 av = new AddresseeView( subframe );
651 av->setAddressee( rem ); 655 av->setAddressee( rem );
652 QObject::connect(findButton( Ok ),SIGNAL(clicked()),this, SLOT(slot_remote())); 656 QObject::connect(findButton( Ok ),SIGNAL(clicked()),this, SLOT(slot_remote()));
653 QObject::connect(this,SIGNAL(user1Clicked()),this, SLOT(slot_local())); 657 QObject::connect(this,SIGNAL(user1Clicked()),this, SLOT(slot_local()));
654#ifndef DESKTOP_VERSION 658#ifndef DESKTOP_VERSION
655 showMaximized(); 659 showMaximized();
656#else 660#else
657 resize ( 640, 400 ); 661 resize ( 640, 400 );
658#endif 662#endif
659} 663}
660 664
661int AddresseeChooser::executeD( bool local ) 665int AddresseeChooser::executeD( bool local )
662{ 666{
663 mSyncResult = 3; 667 mSyncResult = 3;
664 if ( local ) 668 if ( local )
665 findButton( User1 )->setFocus(); 669 findButton( User1 )->setFocus();
666 else 670 else
667 findButton( Ok )->setFocus(); 671 findButton( Ok )->setFocus();
668 exec(); 672 exec();
669 return mSyncResult; 673 return mSyncResult;
670} 674}
671void AddresseeChooser::slot_remote() 675void AddresseeChooser::slot_remote()
672{ 676{
673 mSyncResult = 2; 677 mSyncResult = 2;
674 accept(); 678 accept();
675} 679}
676void AddresseeChooser::slot_local() 680void AddresseeChooser::slot_local()
677{ 681{
678 mSyncResult = 1; 682 mSyncResult = 1;
679 accept(); 683 accept();
680} 684}