summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/kaddressbook/germantranslation.txt12
-rw-r--r--kabc/addresseeview.cpp200
-rw-r--r--kabc/addresseeview.h5
3 files changed, 181 insertions, 36 deletions
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt
index 5e5ed4c..473aa0e 100644
--- a/bin/kdepim/kaddressbook/germantranslation.txt
+++ b/bin/kdepim/kaddressbook/germantranslation.txt
@@ -765,17 +765,29 @@
765{ " days"," Tage" }, 765{ " days"," Tage" },
766{ "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." }, 766{ "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." },
767{ "Backup Failed!","Backup Problem!" }, 767{ "Backup Failed!","Backup Problem!" },
768{ "Try again now","Versuche jetzt nochmal" }, 768{ "Try again now","Versuche jetzt nochmal" },
769{ "Try again later","Versuche später nochmal" }, 769{ "Try again later","Versuche später nochmal" },
770{ "Try again tomorrow","Versuche morgen nochmal" }, 770{ "Try again tomorrow","Versuche morgen nochmal" },
771{ "Disable backup","Schalte Backup ab" }, 771{ "Disable backup","Schalte Backup ab" },
772{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" }, 772{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" },
773{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" }, 773{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" },
774{ "Choose action","Wähle Aktion" }, 774{ "Choose action","Wähle Aktion" },
775{ "&Configure KA/Pi...","Konfiguriere KA/Pi..." }, 775{ "&Configure KA/Pi...","Konfiguriere KA/Pi..." },
776{ "Global Settings...","Globale Einstellungen..." }, 776{ "Global Settings...","Globale Einstellungen..." },
777{ "Spouse","Ehegatte" },
778{ "Notes","Notizen" },
779{ "Messanger","Messanger" },
780{ "Assistant","Assistent" },
781{ "Manager","Manager" },
782{ "Secrecy","Sichtbar" },
783{ "male","männlich" },
784{ "female","weiblich" },
785{ "","" },
786{ "","" },
787{ "","" },
788{ "","" },
777{ "","" }, 789{ "","" },
778{ "","" }, 790{ "","" },
779{ "","" }, 791{ "","" },
780{ "","" }, 792{ "","" },
781{ "","" }, \ No newline at end of file 793{ "","" }, \ No newline at end of file
diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp
index 667a5e2..202a718 100644
--- a/kabc/addresseeview.cpp
+++ b/kabc/addresseeview.cpp
@@ -47,24 +47,25 @@
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;
59 60
60AddresseeView::AddresseeView( QWidget *parent, const char *name ) 61AddresseeView::AddresseeView( QWidget *parent, const char *name )
61 : QTextBrowser( parent, name ) 62 : QTextBrowser( parent, name )
62 63
63 64
64{ 65{
65//US setWrapPolicy( QTextEdit::AtWordBoundary ); 66//US setWrapPolicy( QTextEdit::AtWordBoundary );
66 setLinkUnderline( false ); 67 setLinkUnderline( false );
67 // setVScrollBarMode( QScrollView::AlwaysOff ); 68 // setVScrollBarMode( QScrollView::AlwaysOff );
68 //setHScrollBarMode( QScrollView::AlwaysOff ); 69 //setHScrollBarMode( QScrollView::AlwaysOff );
69 70
70//US QStyleSheet *sheet = styleSheet(); 71//US QStyleSheet *sheet = styleSheet();
@@ -91,47 +92,53 @@ void AddresseeView::printMe()
91 if ( dx < dy ) 92 if ( dx < dy )
92 scale = dx; 93 scale = dx;
93 else 94 else
94 scale = dy; 95 scale = dy;
95 p.translate( m.width()/10,0 ); 96 p.translate( m.width()/10,0 );
96 p.scale( scale, scale ); 97 p.scale( scale, scale );
97 drawContents ( &p, 0,0, contentsWidth (), contentsHeight () ); 98 drawContents ( &p, 0,0, contentsWidth (), contentsHeight () );
98 p.end(); 99 p.end();
99#endif 100#endif
100} 101}
101void AddresseeView::setSource(const QString& n) 102void AddresseeView::setSource(const QString& n)
102{ 103{
103 //qDebug("********AddresseeView::setSource %s", n.latin1()); 104 qDebug("********AddresseeView::setSource %s", n.latin1());
104 105
105 if ( n.left( 6 ) == "mailto" ) 106 if ( n == "allDetails" ) {
106 ExternalAppHandler::instance()->mailToOneContact( n.mid(7) ); 107 sFullDetailsMode = true;
107 else if ( n.left( 7 ) == "phoneto" ) 108 setAddressee( mCurrentContact );
108 ExternalAppHandler::instance()->callByPhone( n.mid(8) ); 109 } else if ( n == "notAllDetails" ) {
109 else if ( n.left( 5 ) == "faxto" ) 110 sFullDetailsMode = false;
110 ExternalAppHandler::instance()->callByFax( n.mid(6) ); 111 setAddressee( mCurrentContact );
111 else if ( n.left( 5 ) == "smsto" ) 112 } else if ( n.left( 6 ) == "mailto" )
112 ExternalAppHandler::instance()->callBySMS( n.mid(6) ); 113 ExternalAppHandler::instance()->mailToOneContact( n.mid(7) );
113 else if ( n.left( 7 ) == "pagerto" ) 114 else if ( n.left( 7 ) == "phoneto" )
114 ExternalAppHandler::instance()->callByPager( n.mid(8) ); 115 ExternalAppHandler::instance()->callByPhone( n.mid(8) );
115 else if ( n.left( 5 ) == "sipto" ) 116 else if ( n.left( 5 ) == "faxto" )
116 ExternalAppHandler::instance()->callBySIP( n.mid(6) ); 117 ExternalAppHandler::instance()->callByFax( n.mid(6) );
118 else if ( n.left( 5 ) == "smsto" )
119 ExternalAppHandler::instance()->callBySMS( n.mid(6) );
120 else if ( n.left( 7 ) == "pagerto" )
121 ExternalAppHandler::instance()->callByPager( n.mid(8) );
122 else if ( n.left( 5 ) == "sipto" )
123 ExternalAppHandler::instance()->callBySIP( n.mid(6) );
117 124
118} 125}
119void AddresseeView::setAddressee( const KABC::Addressee& mAddressee ) 126void AddresseeView::setAddressee( const KABC::Addressee& mAddressee )
120{ 127{
121 bool kemailAvail = ExternalAppHandler::instance()->isEmailAppAvailable(); 128 bool kemailAvail = ExternalAppHandler::instance()->isEmailAppAvailable();
122 // mAddressee = addr; 129 // mAddressee = addr;
123 // clear view 130 // clear view
124 //setText( QString::null ); 131 //setText( QString::null );
125 132 mCurrentContact = mAddressee;
126 if ( mAddressee.isEmpty() ) { 133 if ( mAddressee.isEmpty() ) {
127 setText( QString::null); 134 setText( QString::null);
128 return; 135 return;
129 } 136 }
130#if 0 137#if 0
131 QString name = ( mAddressee.assembledName().isEmpty() ? 138 QString name = ( mAddressee.assembledName().isEmpty() ?
132 mAddressee.formattedName() : mAddressee.assembledName() ); 139 mAddressee.formattedName() : mAddressee.assembledName() );
133#endif 140#endif
134 141
135 QString name = mAddressee.realName(); 142 QString name = mAddressee.realName();
136 143
137 QString dynamicPart; 144 QString dynamicPart;
@@ -178,33 +185,25 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee )
178 .arg( name ) 185 .arg( name )
179 .arg( *emailIt ) 186 .arg( *emailIt )
180 .arg( *emailIt ); 187 .arg( *emailIt );
181 } else { 188 } else {
182 dynamicPart += QString( 189 dynamicPart += QString(
183 "<tr><td align=\"right\"><b>%1</b></td>" 190 "<tr><td align=\"right\"><b>%1</b></td>"
184 "<td align=\"left\">%2</td></tr>" ) 191 "<td align=\"left\">%2</td></tr>" )
185 .arg( type ) 192 .arg( type )
186 .arg( *emailIt ); 193 .arg( *emailIt );
187 } 194 }
188 } 195 }
189 196
190 if ( !mAddressee.url().url().isEmpty() ) { 197
191 dynamicPart += QString(
192 "<tr><td align=\"right\"><b>%1</b></td>"
193 "<td align=\"left\">%2</td></tr>" )
194 .arg( i18n( "Homepage" ) )
195//US .arg( KStringHandler::tagURLs( mAddressee.url().url() ) );
196 .arg( mAddressee.url().url() );
197 //qDebug("AddresseeView::setAddressee has to be verified.");
198 }
199 198
200 KABC::Address::List addresses = mAddressee.addresses(); 199 KABC::Address::List addresses = mAddressee.addresses();
201 KABC::Address::List::ConstIterator addrIt; 200 KABC::Address::List::ConstIterator addrIt;
202 for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) { 201 for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) {
203 if ( true /*(*addrIt).label().isEmpty()*/ ) { 202 if ( true /*(*addrIt).label().isEmpty()*/ ) {
204 QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace(); 203 QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace();
205//US formattedAddress = formattedAddress.replace( '\n', "<br>" ); 204//US formattedAddress = formattedAddress.replace( '\n', "<br>" );
206 //qDebug("adresss %s ",formattedAddress.latin1() ); 205 //qDebug("adresss %s ",formattedAddress.latin1() );
207 formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" ); 206 formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" );
208 //qDebug("AddresseeView::setAddressee has to be verified."); 207 //qDebug("AddresseeView::setAddressee has to be verified.");
209 208
210 dynamicPart += QString( 209 dynamicPart += QString(
@@ -214,35 +213,168 @@ void AddresseeView::setAddressee( const KABC::Addressee& mAddressee )
214 .arg( formattedAddress ); 213 .arg( formattedAddress );
215 } else { 214 } else {
216 215
217 dynamicPart += QString( 216 dynamicPart += QString(
218 "<tr><td align=\"right\"><b>%1</b></td>" 217 "<tr><td align=\"right\"><b>%1</b></td>"
219 "<td align=\"left\">%2</td></tr>" ) 218 "<td align=\"left\">%2</td></tr>" )
220 .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) 219 .arg( KABC::Address::typeLabel( (*addrIt).type() ) )
221//US .arg( (*addrIt).label().replace( '\n', "<br>" ) ); 220//US .arg( (*addrIt).label().replace( '\n', "<br>" ) );
222 .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ ); 221 .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ );
223 222
224 } 223 }
225 } 224 }
225
226
227 QString notes;
228 if ( sFullDetailsMode ) {
229 notes = QString(
230 "<tr><td align=\"right\"><b>%1</b></td>"
231 "<td align=\"left\"><a href=\"notAllDetails\">%4</a></td></tr>" )
232 .arg( i18n("Details:") )
233 .arg( i18n("Click here to hide!") );
234
235 QString tempX = mAddressee.secrecy().asString();
236
237 notes += QString(
238 "<tr><td align=\"right\"><b>%1</b></td>"
239 "<td align=\"left\">%2</td></tr>" )
240 .arg( "" )
241 .arg( tempX );
242
243
244 tempX = mAddressee.categories().join(" - ");
245 if ( !tempX.isEmpty() ) {
246 notes += QString(
247 "<tr><td align=\"right\"><b>%1</b></td>"
248 "<td align=\"left\">%2</td></tr>" )
249 .arg( i18n( "Category" ) )
250 .arg( tempX );
251 }
252 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Profession" );
253 if ( !tempX.isEmpty() ) {
254 notes += QString(
255 "<tr><td align=\"right\"><b>%1</b></td>"
256 "<td align=\"left\">%2</td></tr>" )
257 .arg( i18n( "Profession" ) )
258 .arg( tempX );
259 }
260 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Office" );
261 if ( !tempX.isEmpty() ) {
262 notes += QString(
263 "<tr><td align=\"right\"><b>%1</b></td>"
264 "<td align=\"left\">%2</td></tr>" )
265 .arg( i18n( "Office" ) )
266 .arg( tempX );
267 }
268 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Department" );
269 if ( !tempX.isEmpty() ) {
270 notes += QString(
271 "<tr><td align=\"right\"><b>%1</b></td>"
272 "<td align=\"left\">%2</td></tr>" )
273 .arg( i18n( "Department" ) )
274 .arg( tempX );
275 }
276
277 tempX = mAddressee.custom( "KADDRESSBOOK", "X-ManagersName" );
278 if ( !tempX.isEmpty() ) {
279 notes += QString(
280 "<tr><td align=\"right\"><b>%1</b></td>"
281 "<td align=\"left\">%2</td></tr>" )
282 .arg( i18n( "Manager" ) )
283 .arg( tempX );
284 }
285 tempX = mAddressee.custom( "KADDRESSBOOK", "X-AssistantsName" );
286 if ( !tempX.isEmpty() ) {
287 notes += QString(
288 "<tr><td align=\"right\"><b>%1</b></td>"
289 "<td align=\"left\">%2</td></tr>" )
290 .arg( i18n( "Assistant" ) )
291 .arg( tempX );
292 }
293 if ( !mAddressee.url().url().isEmpty() ) {
294 notes += QString(
295 "<tr><td align=\"right\"><b>%1</b></td>"
296 "<td align=\"left\">%2</td></tr>" )
297 .arg( i18n( "Homepage" ) )
298 .arg( mAddressee.url().url() );
299 }
300 tempX = mAddressee.nickName();
301 if ( !tempX.isEmpty() ) {
302 notes += QString(
303 "<tr><td align=\"right\"><b>%1</b></td>"
304 "<td align=\"left\">%2</td></tr>" )
305 .arg( i18n( "Nickname" ) )
306 .arg( tempX );
307 }
308 tempX = mAddressee.custom( "KADDRESSBOOK", "X-IMAddress" );
309 if ( !tempX.isEmpty() ) {
310 notes += QString(
311 "<tr><td align=\"right\"><b>%1</b></td>"
312 "<td align=\"left\">%2</td></tr>" )
313 .arg( i18n( "Messanger" ) )
314 .arg( tempX );
315 }
316 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Gender" );
317 if ( !tempX.isEmpty() ) {
318 notes += QString(
319 "<tr><td align=\"right\"><b>%1</b></td>"
320 "<td align=\"left\">%2</td></tr>" )
321 .arg( i18n( "Gender" ) )
322 .arg( i18n(tempX) );
323 }
324 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Anniversary" );
325 if ( !tempX.isEmpty() ) {
326 QDate dt = KGlobal::locale()->readDate( tempX, "%Y-%m-%d");
327 tempX = KGlobal::locale()->formatDate(dt, true);
328 notes += QString(
329 "<tr><td align=\"right\"><b>%1</b></td>"
330 "<td align=\"left\">%2</td></tr>" )
331 .arg( i18n( "Anniversary" ) )
332 .arg( tempX );
333 }
334 tempX = mAddressee.custom( "KADDRESSBOOK", "X-SpousesName" );
335 if ( !tempX.isEmpty() ) {
336 notes += QString(
337 "<tr><td align=\"right\"><b>%1</b></td>"
338 "<td align=\"left\">%2</td></tr>" )
339 .arg( i18n( "Spouse" ) )
340 .arg( tempX );
341 }
342 tempX = mAddressee.custom( "KADDRESSBOOK", "X-Children" );
343 if ( !tempX.isEmpty() ) {
344 notes += QString(
345 "<tr><td align=\"right\"><b>%1</b></td>"
346 "<td align=\"left\">%2</td></tr>" )
347 .arg( i18n( "Children" ) )
348 .arg( tempX );
349 }
350
351 if ( !mAddressee.note().isEmpty() ) {
352 notes += QString(
353 "<tr>"
354 "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label
355 "<td align=\"left\">%2</td>" // note
356 "</tr>" ).arg( i18n( "Notes" ) )
357 //US .arg( mAddressee.note().replace( '\n', "<br>" ) );
358 .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) );
359 //qDebug("AddresseeView::setAddressee has to be verified.");
360 }
361 } else {
362 notes = QString(
363 "<tr><td align=\"right\"><b>%1</b></td>"
364 "<td align=\"left\"><a href=\"allDetails\">%4</a></td></tr>" )
365 .arg( i18n("Details:") )
366 .arg( i18n("Click here to show!") );
367
226 368
227 QString notes;
228 if ( !mAddressee.note().isEmpty() ) {
229 notes = QString(
230 "<tr>"
231 "<td align=\"right\" valign=\"top\"><b>%1</b></td>" // note label
232 "<td align=\"left\">%2</td>" // note
233 "</tr>" ).arg( i18n( "Notes" ) )
234//US .arg( mAddressee.note().replace( '\n', "<br>" ) );
235 .arg( mAddressee.note().replace( QRegExp("\n"), "<br>" ) );
236 //qDebug("AddresseeView::setAddressee has to be verified.");
237 } 369 }
238 370
239 QString aRole = ""; 371 QString aRole = "";
240 QString aOrga = ""; 372 QString aOrga = "";
241 if ( true /*!mAddressee.role().isEmpty()*/ ) { 373 if ( true /*!mAddressee.role().isEmpty()*/ ) {
242 aRole = "<tr>" 374 aRole = "<tr>"
243 "<td align=\"left\">" + mAddressee.role() + "</td>" 375 "<td align=\"left\">" + mAddressee.role() + "</td>"
244 "</tr>"; 376 "</tr>";
245 } 377 }
246 if ( true /*!mAddressee.organization().isEmpty()*/ ) { 378 if ( true /*!mAddressee.organization().isEmpty()*/ ) {
247 aOrga = "<tr>" 379 aOrga = "<tr>"
248 "<td align=\"left\">" + mAddressee.organization() + "</td>" 380 "<td align=\"left\">" + mAddressee.organization() + "</td>"
diff --git a/kabc/addresseeview.h b/kabc/addresseeview.h
index e977d8f..a4de085 100644
--- a/kabc/addresseeview.h
+++ b/kabc/addresseeview.h
@@ -40,26 +40,27 @@ class AddresseeView : public QTextBrowser
40 /** 40 /**
41 Sets the addressee object. The addressee is displayed immediately. 41 Sets the addressee object. The addressee is displayed immediately.
42 42
43 @param addr The addressee object. 43 @param addr The addressee object.
44 */ 44 */
45 void setAddressee( const KABC::Addressee& addr ); 45 void setAddressee( const KABC::Addressee& addr );
46 void setSource(const QString& n); 46 void setSource(const QString& n);
47 /** 47 /**
48 Returns the current addressee object. 48 Returns the current addressee object.
49 */ 49 */
50 //KABC::Addressee addressee() const; 50 //KABC::Addressee addressee() const;
51 void printMe(); 51 void printMe();
52 52 static bool sFullDetailsMode;
53 private: 53 private:
54 Addressee mCurrentContact;
54 //KABC::Addressee mAddressee; 55 //KABC::Addressee mAddressee;
55 QString mText; 56 QString mText;
56 QString getPhoneNumbers( KABC::PhoneNumber::List phones, bool preferred ); 57 QString getPhoneNumbers( KABC::PhoneNumber::List phones, bool preferred );
57 void addTag(const QString & tag,const QString & text); 58 void addTag(const QString & tag,const QString & text);
58 //class AddresseeViewPrivate; 59 //class AddresseeViewPrivate;
59 //AddresseeViewPrivate *d; 60 //AddresseeViewPrivate *d;
60}; 61};
61class AddresseeChooser : public KDialogBase 62class AddresseeChooser : public KDialogBase
62{ 63{
63 Q_OBJECT 64 Q_OBJECT
64 65
65 public: 66 public: