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,680 +1,680 @@
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
489 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>"; 489 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>";
490 490
491 mText += "<table><td colspan=\"2\">&nbsp;</td>"; 491 mText += "<table><td colspan=\"2\">&nbsp;</td>";
492 /* 492 /*
493 mText += QString("<tr><td align=\"right\"><b2>%1</b2></td>" 493 mText += QString("<tr><td align=\"right\"><b2>%1</b2></td>"
494 "<td align=\"left\"><b>%2</b></td></tr>" ) 494 "<td align=\"left\"><b>%2</b></td></tr>" )
495 .arg( i18n(" ") ) 495 .arg( i18n(" ") )
496 .arg( name ); 496 .arg( name );
497 */ 497 */
498 if ( ! mAddressee.role().isEmpty() ) 498 if ( ! mAddressee.role().isEmpty() )
499 mText += QString("<tr><td align=\"right\"><b>%1</b></td>" 499 mText += QString("<tr><td align=\"right\"><b>%1</b></td>"
500 "<td align=\"left\">%2</td></tr>" ) 500 "<td align=\"left\">%2</td></tr>" )
501 .arg( i18n(" ") ) 501 .arg( i18n(" ") )
502 .arg( mAddressee.role()); 502 .arg( mAddressee.role());
503 if ( ! mAddressee.organization().isEmpty() ) 503 if ( ! mAddressee.organization().isEmpty() )
504 mText += QString("<tr><td align=\"right\"><b>%1</b></td>" 504 mText += QString("<tr><td align=\"right\"><b>%1</b></td>"
505 "<td align=\"left\">%2</td></tr>" ) 505 "<td align=\"left\">%2</td></tr>" )
506 .arg( i18n(" ") ) 506 .arg( i18n(" ") )
507 .arg( mAddressee.organization()); 507 .arg( mAddressee.organization());
508 mText += dynamicPart; 508 mText += dynamicPart;
509 mText += notes; 509 mText += notes;
510 mText += "</table>"; 510 mText += "</table>";
511 511
512 } 512 }
513 513
514 // at last display it... 514 // at last display it...
515 setText( mText ); 515 setText( mText );
516 516
517} 517}
518 518
519QString AddresseeView::getPhoneNumbers( KABC::PhoneNumber::List phones ,bool preferred ) 519QString AddresseeView::getPhoneNumbers( KABC::PhoneNumber::List phones ,bool preferred )
520{ 520{
521 ExternalAppHandler* eah = ExternalAppHandler::instance(); 521 ExternalAppHandler* eah = ExternalAppHandler::instance();
522 bool kphoneAvail = eah->isPhoneAppAvailable(); 522 bool kphoneAvail = eah->isPhoneAppAvailable();
523 bool kfaxAvail = eah->isFaxAppAvailable(); 523 bool kfaxAvail = eah->isFaxAppAvailable();
524 bool ksmsAvail = eah->isSMSAppAvailable(); 524 bool ksmsAvail = eah->isSMSAppAvailable();
525 bool kpagerAvail = eah->isPagerAppAvailable(); 525 bool kpagerAvail = eah->isPagerAppAvailable();
526 bool ksipAvail = eah->isSIPAppAvailable(); 526 bool ksipAvail = eah->isSIPAppAvailable();
527 QString dynamicPart; 527 QString dynamicPart;
528 KABC::PhoneNumber::List::ConstIterator phoneIt; 528 KABC::PhoneNumber::List::ConstIterator phoneIt;
529 QString extension; 529 QString extension;
530 int phonetype; 530 int phonetype;
531 QString sms; 531 QString sms;
532 for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) { 532 for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) {
533 phonetype = (*phoneIt).type(); 533 phonetype = (*phoneIt).type();
534 if ( ((phonetype & KABC::PhoneNumber::Pref) == 0 ) == preferred ) 534 if ( ((phonetype & KABC::PhoneNumber::Pref) == 0 ) == preferred )
535 continue; 535 continue;
536 if (ksmsAvail && 536 if (ksmsAvail &&
537 ( 537 (
538 ((phonetype & KABC::PhoneNumber::Car) == KABC::PhoneNumber::Car) || 538 ((phonetype & KABC::PhoneNumber::Car) == KABC::PhoneNumber::Car) ||
539 ((phonetype & KABC::PhoneNumber::Cell) == KABC::PhoneNumber::Cell) 539 ((phonetype & KABC::PhoneNumber::Cell) == KABC::PhoneNumber::Cell)
540 ) 540 )
541 ) 541 )
542 { 542 {
543 sms = QString("<a href=\"smsto:%1 \">(sms)</a>" ) 543 sms = QString("<a href=\"smsto:%1 \">(sms)</a>" )
544 .arg( (*phoneIt).number() ); 544 .arg( (*phoneIt).number() );
545 545
546 } 546 }
547 else 547 else
548 sms = ""; 548 sms = "";
549 549
550 extension = QString::null; 550 extension = QString::null;
551 if ((phonetype & KABC::PhoneNumber::Fax) == KABC::PhoneNumber::Fax) { 551 if ((phonetype & KABC::PhoneNumber::Fax) == KABC::PhoneNumber::Fax) {
552 if (kfaxAvail) extension = "faxto:"; 552 if (kfaxAvail) extension = "faxto:";
553 } 553 }
554 else if ((phonetype & KABC::PhoneNumber::Pager) == KABC::PhoneNumber::Pager) { 554 else if ((phonetype & KABC::PhoneNumber::Pager) == KABC::PhoneNumber::Pager) {
555 if (kpagerAvail) extension = "pagerto:"; 555 if (kpagerAvail) extension = "pagerto:";
556 } 556 }
557 else if ((phonetype & KABC::PhoneNumber::Sip) == KABC::PhoneNumber::Sip) { 557 else if ((phonetype & KABC::PhoneNumber::Sip) == KABC::PhoneNumber::Sip) {
558 if (ksipAvail) extension = "sipto:"; 558 if (ksipAvail) extension = "sipto:";
559 } 559 }
560 else if (kphoneAvail) { 560 else if (kphoneAvail) {
561 extension = "phoneto:"; 561 extension = "phoneto:";
562 } 562 }
563 else 563 else
564 extension = QString::null; 564 extension = QString::null;
565 565
566 if ( !extension.isEmpty() ) { 566 if ( !extension.isEmpty() ) {
567 dynamicPart += QString( 567 dynamicPart += QString(
568 "<tr><td align=\"right\"><b>%1</b></td>" 568 "<tr><td align=\"right\"><b>%1</b></td>"
569 "<td align=\"left\"><a href=\"%2%3 \">%4</a> %5</td></tr>" ) 569 "<td align=\"left\"><a href=\"%2%3 \">%4</a> %5</td></tr>" )
570 .arg( KABC::PhoneNumber::typeLabel( phonetype ) ) 570 .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
571 .arg( extension ) 571 .arg( extension )
572 .arg( (*phoneIt).number() ) 572 .arg( (*phoneIt).number() )
573 .arg( (*phoneIt).number() ) 573 .arg( (*phoneIt).number() )
574 .arg( sms ); 574 .arg( sms );
575 575
576 } else { 576 } else {
577 dynamicPart += QString( 577 dynamicPart += QString(
578 "<tr><td align=\"right\"><b>%1</b></td>" 578 "<tr><td align=\"right\"><b>%1</b></td>"
579 "<td align=\"left\">%2 %3</td></tr>" ) 579 "<td align=\"left\">%2 %3</td></tr>" )
580 .arg( KABC::PhoneNumber::typeLabel( phonetype ) ) 580 .arg( KABC::PhoneNumber::typeLabel( phonetype ) )
581 .arg( (*phoneIt).number() ) 581 .arg( (*phoneIt).number() )
582 .arg( sms ); 582 .arg( sms );
583 } 583 }
584 } 584 }
585 return dynamicPart; 585 return dynamicPart;
586} 586}
587/* 587/*
588KABC::Addressee AddresseeView::addressee() const 588KABC::Addressee AddresseeView::addressee() const
589{ 589{
590 return mAddressee; 590 return mAddressee;
591} 591}
592*/ 592*/
593void AddresseeView::addTag(const QString & tag,const QString & text) 593void AddresseeView::addTag(const QString & tag,const QString & text)
594{ 594{
595 if ( text.isEmpty() ) 595 if ( text.isEmpty() )
596 return; 596 return;
597 int number=text.contains("\n"); 597 int number=text.contains("\n");
598 QString str = "<" + tag + ">"; 598 QString str = "<" + tag + ">";
599 QString tmpText=text; 599 QString tmpText=text;
600 QString tmpStr=str; 600 QString tmpStr=str;
601 if(number !=-1) 601 if(number !=-1)
602 { 602 {
603 if (number > 0) { 603 if (number > 0) {
604 int pos=0; 604 int pos=0;
605 QString tmp; 605 QString tmp;
606 for(int i=0;i<=number;i++) { 606 for(int i=0;i<=number;i++) {
607 pos=tmpText.find("\n"); 607 pos=tmpText.find("\n");
608 tmp=tmpText.left(pos); 608 tmp=tmpText.left(pos);
609 tmpText=tmpText.right(tmpText.length()-pos-1); 609 tmpText=tmpText.right(tmpText.length()-pos-1);
610 tmpStr+=tmp+"<br>"; 610 tmpStr+=tmp+"<br>";
611 } 611 }
612 } 612 }
613 else tmpStr += tmpText; 613 else tmpStr += tmpText;
614 tmpStr+="</" + tag + ">"; 614 tmpStr+="</" + tag + ">";
615 mText.append(tmpStr); 615 mText.append(tmpStr);
616 } 616 }
617 else 617 else
618 { 618 {
619 str += text + "</" + tag + ">"; 619 str += text + "</" + tag + ">";
620 mText.append(str); 620 mText.append(str);
621 } 621 }
622} 622}
623 623
624AddresseeChooser::AddresseeChooser( KABC::Addressee loc, KABC::Addressee rem, bool takeloc, QWidget *parent, const char *name ) : KDialogBase(parent,name, 624AddresseeChooser::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) 625 true ,i18n("Conflict! Please choose Adressee!"),Ok|User1|Close,Close, false)
626{ 626{
627 findButton( Close )->setText( i18n("Cancel Sync")); 627 findButton( Close )->setText( i18n("Cancel Sync"));
628 findButton( Ok )->setText( i18n("Remote")); 628 findButton( Ok )->setText( i18n("Remote"));
629 findButton( User1 )->setText( i18n("Local")); 629 findButton( User1 )->setText( i18n("Local"));
630 QWidget* topframe = new QWidget( this ); 630 QWidget* topframe = new QWidget( this );
631 setMainWidget( topframe ); 631 setMainWidget( topframe );
632 QBoxLayout* bl; 632 QBoxLayout* bl;
633 if ( QApplication::desktop()->width() < 640 ) { 633 if ( QApplication::desktop()->width() < 640 ) {
634 bl = new QVBoxLayout( topframe ); 634 bl = new QVBoxLayout( topframe );
635 } else { 635 } else {
636 bl = new QHBoxLayout( topframe ); 636 bl = new QHBoxLayout( topframe );
637 } 637 }
638 QVBox* subframe = new QVBox( topframe ); 638 QVBox* subframe = new QVBox( topframe );
639 bl->addWidget(subframe ); 639 bl->addWidget(subframe );
640 QLabel* lab = new QLabel( i18n("Local Addressee"), subframe ); 640 QLabel* lab = new QLabel( i18n("Local Addressee"), subframe );
641 if ( takeloc ) 641 if ( takeloc )
642 lab->setBackgroundColor(Qt::green.light() ); 642 lab->setBackgroundColor(Qt::green.light() );
643 AddresseeView * av = new AddresseeView( subframe ); 643 AddresseeView * av = new AddresseeView( subframe );
644 av->setAddressee( loc ); 644 av->setAddressee( loc );
645 subframe = new QVBox( topframe ); 645 subframe = new QVBox( topframe );
646 bl->addWidget(subframe ); 646 bl->addWidget(subframe );
647 lab = new QLabel( i18n("Remote Addressee"), subframe ); 647 lab = new QLabel( i18n("Remote Addressee"), subframe );
648 if ( !takeloc ) 648 if ( !takeloc )
649 lab->setBackgroundColor(Qt::green.light() ); 649 lab->setBackgroundColor(Qt::green.light() );
650 av = new AddresseeView( subframe ); 650 av = new AddresseeView( subframe );
651 av->setAddressee( rem ); 651 av->setAddressee( rem );
652 QObject::connect(findButton( Ok ),SIGNAL(clicked()),this, SLOT(slot_remote())); 652 QObject::connect(findButton( Ok ),SIGNAL(clicked()),this, SLOT(slot_remote()));
653 QObject::connect(this,SIGNAL(user1Clicked()),this, SLOT(slot_local())); 653 QObject::connect(this,SIGNAL(user1Clicked()),this, SLOT(slot_local()));
654#ifndef DESKTOP_VERSION 654#ifndef DESKTOP_VERSION
655 showMaximized(); 655 showMaximized();
656#else 656#else
657 resize ( 640, 400 ); 657 resize ( 640, 400 );
658#endif 658#endif
659} 659}
660 660
661int AddresseeChooser::executeD( bool local ) 661int AddresseeChooser::executeD( bool local )
662{ 662{
663 mSyncResult = 3; 663 mSyncResult = 3;
664 if ( local ) 664 if ( local )
665 findButton( User1 )->setFocus(); 665 findButton( User1 )->setFocus();
666 else 666 else
667 findButton( Ok )->setFocus(); 667 findButton( Ok )->setFocus();
668 exec(); 668 exec();
669 return mSyncResult; 669 return mSyncResult;
670} 670}
671void AddresseeChooser::slot_remote() 671void AddresseeChooser::slot_remote()
672{ 672{
673 mSyncResult = 2; 673 mSyncResult = 2;
674 accept(); 674 accept();
675} 675}
676void AddresseeChooser::slot_local() 676void AddresseeChooser::slot_local()
677{ 677{
678 mSyncResult = 1; 678 mSyncResult = 1;
679 accept(); 679 accept();
680} 680}