• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.13.3 API Reference
  • KDE Home
  • Contact Us
 

kpimidentities

  • kpimidentities
identity.cpp
1 /*
2  Copyright (c) 2002-2004 Marc Mutz <mutz@kde.org>
3  Copyright (c) 2007 Tom Albers <tomalbers@kde.nl>
4 
5  This library is free software; you can redistribute it and/or modify it
6  under the terms of the GNU Library General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or (at your
8  option) any later version.
9 
10  This library is distributed in the hope that it will be useful, but WITHOUT
11  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13  License for more details.
14 
15  You should have received a copy of the GNU Library General Public License
16  along with this library; see the file COPYING.LIB. If not, write to the
17  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18  02110-1301, USA.
19 */
20 
21 #include "identity.h"
22 #include "signature.h"
23 
24 #include <sonnet/globals.h>
25 #include <kdebug.h>
26 #include <kconfiggroup.h>
27 #include <kpimutils/email.h>
28 
29 #include <QMimeData>
30 #include <QByteArray>
31 
32 using namespace KPIMIdentities;
33 
34 // TODO: should use a kstaticdeleter?
35 static Identity *identityNull = 0;
36 
37 Identity::Identity( const QString &id, const QString &fullName,
38  const QString &emailAddr, const QString &organization,
39  const QString &replyToAddr )
40  : mIsDefault( false )
41 {
42  setProperty( QLatin1String(s_uoid), 0 );
43  setProperty( QLatin1String(s_identity), id );
44  setProperty( QLatin1String(s_name), fullName );
45  setProperty( QLatin1String(s_email), emailAddr );
46  setProperty( QLatin1String(s_organization), organization );
47  setProperty( QLatin1String(s_replyto), replyToAddr );
48  setDictionary( Sonnet::defaultLanguageName() );
49  setProperty( QLatin1String(s_disabledFcc), false );
50 }
51 
52 Identity::~Identity()
53 {}
54 
55 const Identity &Identity::null()
56 {
57  if ( !identityNull ) {
58  identityNull = new Identity;
59  }
60  return *identityNull;
61 }
62 
63 bool Identity::isNull() const
64 {
65  bool empty = true;
66  QHash<QString, QVariant>::const_iterator i = mPropertiesMap.constBegin();
67  while ( i != mPropertiesMap.constEnd() ) {
68 
69  // Take into account that the dictionary for a null identity is not empty
70  if ( i.key() == QLatin1String(s_dict) ) {
71  ++i;
72  continue;
73  }
74  // Take into account that disableFcc == false for a null identity
75  if( i.key() == QLatin1String(s_disabledFcc) && i.value().toBool() == false ) {
76  ++i;
77  continue;
78  }
79  // The uoid is 0 by default, so ignore this
80  if ( !( i.key() == QLatin1String(s_uoid) && i.value().toUInt() == 0 ) ) {
81  if ( !i.value().isNull() ||
82  ( i.value().type() == QVariant::String && !i.value().toString().isEmpty() ) ) {
83  empty = false;
84  }
85  }
86  ++i;
87  }
88  return empty;
89 }
90 
91 void Identity::readConfig( const KConfigGroup &config )
92 {
93  // get all keys and convert them to our QHash.
94  QMap<QString, QString> entries = config.entryMap();
95  QMap<QString, QString>::const_iterator i = entries.constBegin();
96  QMap<QString, QString>::const_iterator end = entries.constEnd();
97  while ( i != end ) {
98  if ( i.key() == QLatin1String(s_emailAliases) ) {
99  // HACK: Read s_emailAliases as a stringlist
100  mPropertiesMap.insert( i.key(), config.readEntry( i.key(), QStringList() ) );
101  } else {
102  mPropertiesMap.insert( i.key(), config.readEntry( i.key() ) );
103  }
104  ++i;
105  }
106  mSignature.readConfig( config );
107 }
108 
109 void Identity::writeConfig( KConfigGroup &config ) const
110 {
111  QHash<QString, QVariant>::const_iterator i = mPropertiesMap.constBegin();
112  QHash<QString, QVariant>::const_iterator end = mPropertiesMap.constEnd();
113  while ( i != end ) {
114  config.writeEntry( i.key(), i.value() );
115  kDebug( 5325 ) << "Store:" << i.key() << ":" << i.value();
116  ++i;
117  }
118  mSignature.writeConfig( config );
119 }
120 
121 bool Identity::mailingAllowed() const
122 {
123  return !property( QLatin1String(s_email) ).toString().isEmpty();
124 }
125 
126 QString Identity::mimeDataType()
127 {
128  return QLatin1String("application/x-kmail-identity-drag");
129 }
130 
131 bool Identity::canDecode( const QMimeData*md )
132 {
133  return md->hasFormat( mimeDataType() );
134 }
135 
136 void Identity::populateMimeData( QMimeData*md )
137 {
138  QByteArray a;
139  {
140  QDataStream s( &a, QIODevice::WriteOnly );
141  s << this;
142  }
143  md->setData( mimeDataType(), a );
144 }
145 
146 Identity Identity::fromMimeData( const QMimeData*md )
147 {
148  Identity i;
149  if ( canDecode( md ) ) {
150  QByteArray ba = md->data( mimeDataType() );
151  QDataStream s( &ba, QIODevice::ReadOnly );
152  s >> i;
153  }
154  return i;
155 }
156 
157 // ------------------ Operators --------------------------//
158 
159 QDataStream &KPIMIdentities::operator<<
160 ( QDataStream &stream, const KPIMIdentities::Identity &i )
161 {
162  return stream << static_cast<quint32>( i.uoid() )
163  << i.identityName()
164  << i.fullName()
165  << i.organization()
166  << i.pgpSigningKey()
167  << i.pgpEncryptionKey()
168  << i.smimeSigningKey()
169  << i.smimeEncryptionKey()
170  << i.primaryEmailAddress()
171  << i.emailAliases()
172  << i.replyToAddr()
173  << i.bcc()
174  << i.vCardFile()
175  << i.transport()
176  << i.fcc()
177  << i.drafts()
178  << i.templates()
179  << i.mPropertiesMap[QLatin1String(s_signature)]
180  << i.dictionary()
181  << i.xface()
182  << i.preferredCryptoMessageFormat()
183  << i.cc()
184  << i.attachVcard()
185  << i.autocorrectionLanguage()
186  << i.disabledFcc()
187  << i.pgpAutoSign();
188 }
189 
190 QDataStream &KPIMIdentities::operator>>
191 ( QDataStream &stream, KPIMIdentities::Identity &i )
192 {
193  quint32 uoid;
194  stream
195  >> uoid
196  >> i.mPropertiesMap[QLatin1String(s_identity)]
197  >> i.mPropertiesMap[QLatin1String(s_name)]
198  >> i.mPropertiesMap[QLatin1String(s_organization)]
199  >> i.mPropertiesMap[QLatin1String(s_pgps)]
200  >> i.mPropertiesMap[QLatin1String(s_pgpe)]
201  >> i.mPropertiesMap[QLatin1String(s_smimes)]
202  >> i.mPropertiesMap[QLatin1String(s_smimee)]
203  >> i.mPropertiesMap[QLatin1String(s_email)]
204  >> i.mPropertiesMap[QLatin1String(s_emailAliases)]
205  >> i.mPropertiesMap[QLatin1String(s_replyto)]
206  >> i.mPropertiesMap[QLatin1String(s_bcc)]
207  >> i.mPropertiesMap[QLatin1String(s_vcard)]
208  >> i.mPropertiesMap[QLatin1String(s_transport)]
209  >> i.mPropertiesMap[QLatin1String(s_fcc)]
210  >> i.mPropertiesMap[QLatin1String(s_drafts)]
211  >> i.mPropertiesMap[QLatin1String(s_templates)]
212  >> i.mPropertiesMap[QLatin1String(s_signature)]
213  >> i.mPropertiesMap[QLatin1String(s_dict)]
214  >> i.mPropertiesMap[QLatin1String(s_xface)]
215  >> i.mPropertiesMap[QLatin1String(s_prefcrypt)]
216  >> i.mPropertiesMap[QLatin1String(s_cc)]
217  >> i.mPropertiesMap[QLatin1String(s_attachVcard)]
218  >> i.mPropertiesMap[QLatin1String(s_autocorrectionLanguage)]
219  >> i.mPropertiesMap[QLatin1String(s_disabledFcc)]
220  >> i.mPropertiesMap[QLatin1String(s_pgpautosign)];
221 
222  i.setProperty( QLatin1String(s_uoid), uoid );
223  return stream;
224 }
225 
226 bool Identity::operator< ( const Identity &other ) const
227 {
228  if ( isDefault() ) {
229  return true;
230  }
231  if ( other.isDefault() ) {
232  return false;
233  }
234  return identityName() < other.identityName();
235 }
236 
237 bool Identity::operator> ( const Identity &other ) const
238 {
239  if ( isDefault() ) {
240  return false;
241  }
242  if ( other.isDefault() ) {
243  return true;
244  }
245  return identityName() > other.identityName();
246 }
247 
248 bool Identity::operator<= ( const Identity &other ) const
249 {
250  return !operator> ( other );
251 }
252 
253 bool Identity::operator>= ( const Identity &other ) const
254 {
255  return !operator< ( other );
256 }
257 
258 bool Identity::operator== ( const Identity &other ) const
259 {
260  return mPropertiesMap == other.mPropertiesMap &&
261  mSignature == other.mSignature;
262 }
263 
264 bool Identity::operator!= ( const Identity &other ) const
265 {
266  return !operator== ( other );
267 }
268 
269 // --------------------- Getters -----------------------------//
270 
271 QVariant Identity::property( const QString &key ) const
272 {
273  return mPropertiesMap.value( key );
274 }
275 
276 QString Identity::fullEmailAddr( void ) const
277 {
278  const QString name = mPropertiesMap.value( QLatin1String(s_name) ).toString();
279  const QString mail = mPropertiesMap.value( QLatin1String(s_email) ).toString();
280 
281  if ( name.isEmpty() ) {
282  return mail;
283  }
284 
285  const QString specials( QLatin1String("()<>@,.;:[]") );
286 
287  QString result;
288 
289  // add DQUOTE's if necessary:
290  bool needsQuotes=false;
291  const int nameLength( name.length() );
292  for ( int i=0; i < nameLength; i++ ) {
293  if ( specials.contains( name[i] ) ) {
294  needsQuotes = true;
295  } else if ( name[i] == QLatin1Char('\\') || name[i] == QLatin1Char('"') ) {
296  needsQuotes = true;
297  result += QLatin1Char('\\');
298  }
299  result += name[i];
300  }
301 
302  if ( needsQuotes ) {
303  result.insert( 0, QLatin1Char('"') );
304  result += QLatin1Char('"');
305  }
306 
307  result += QLatin1String(" <") + mail + QLatin1Char('>');
308 
309  return result;
310 }
311 
312 QString Identity::identityName() const
313 {
314  return property( QLatin1String( s_identity ) ).toString();
315 }
316 
317 QString Identity::signatureText( bool *ok ) const
318 {
319  return mSignature.withSeparator( ok );
320 }
321 
322 bool Identity::signatureIsInlinedHtml() const
323 {
324  return mSignature.isInlinedHtml();
325 }
326 
327 bool Identity::isDefault() const
328 {
329  return mIsDefault;
330 }
331 
332 uint Identity::uoid() const
333 {
334  return property( QLatin1String( s_uoid ) ).toInt();
335 }
336 
337 QString Identity::fullName() const
338 {
339  return property( QLatin1String( s_name ) ).toString();
340 }
341 
342 QString Identity::organization() const
343 {
344  return property( QLatin1String( s_organization ) ).toString();
345 }
346 
347 QByteArray Identity::pgpEncryptionKey() const
348 {
349  return property( QLatin1String( s_pgpe ) ).toByteArray();
350 }
351 
352 QByteArray Identity::pgpSigningKey() const
353 {
354  return property( QLatin1String( s_pgps ) ).toByteArray();
355 }
356 
357 QByteArray Identity::smimeEncryptionKey() const
358 {
359  return property( QLatin1String( s_smimee ) ).toByteArray();
360 }
361 
362 QByteArray Identity::smimeSigningKey() const
363 {
364  return property( QLatin1String( s_smimes ) ).toByteArray();
365 }
366 
367 QString Identity::preferredCryptoMessageFormat() const
368 {
369  return property( QLatin1String( s_prefcrypt ) ).toString();
370 }
371 
372 QString Identity::emailAddr() const
373 {
374  return primaryEmailAddress();
375 }
376 
377 QString Identity::primaryEmailAddress() const
378 {
379  return property( QLatin1String( s_email ) ).toString();
380 }
381 
382 const QStringList Identity::emailAliases() const
383 {
384  return property( QLatin1String( s_emailAliases ) ).toStringList();
385 }
386 
387 QString Identity::vCardFile() const
388 {
389  return property( QLatin1String( s_vcard ) ).toString();
390 }
391 
392 bool Identity::attachVcard() const
393 {
394  return property( QLatin1String( s_attachVcard ) ).toBool();
395 }
396 
397 QString Identity::replyToAddr() const
398 {
399  return property( QLatin1String( s_replyto ) ).toString();
400 }
401 
402 QString Identity::bcc() const
403 {
404  return property( QLatin1String( s_bcc ) ).toString();
405 }
406 
407 QString Identity::cc() const
408 {
409  return property( QLatin1String( s_cc ) ).toString();
410 }
411 
412 Signature &Identity::signature()
413 {
414  return mSignature;
415 }
416 
417 bool Identity::isXFaceEnabled() const
418 {
419  return property( QLatin1String( s_xfaceenabled ) ).toBool();
420 }
421 
422 QString Identity::xface() const
423 {
424  return property( QLatin1String( s_xface ) ).toString();
425 }
426 
427 QString Identity::dictionary() const
428 {
429  return property( QLatin1String( s_dict ) ).toString();
430 }
431 
432 QString Identity::templates() const
433 {
434  const QString str = property( QLatin1String( s_templates ) ).toString();
435  return verifyAkonadiId(str);
436 }
437 
438 QString Identity::drafts() const
439 {
440  const QString str = property( QLatin1String( s_drafts ) ).toString();
441  return verifyAkonadiId(str);
442 }
443 
444 QString Identity::fcc() const
445 {
446  const QString str = property( QLatin1String( s_fcc ) ).toString();
447  return verifyAkonadiId(str);
448 }
449 
450 QString Identity::transport() const
451 {
452  return property( QLatin1String( s_transport ) ).toString();
453 }
454 
455 bool Identity::signatureIsCommand() const
456 {
457  return mSignature.type() == Signature::FromCommand;
458 }
459 
460 bool Identity::signatureIsPlainFile() const
461 {
462  return mSignature.type() == Signature::FromFile;
463 }
464 
465 bool Identity::signatureIsInline() const
466 {
467  return mSignature.type() == Signature::Inlined;
468 }
469 
470 bool Identity::useSignatureFile() const
471 {
472  return signatureIsPlainFile() || signatureIsCommand();
473 }
474 
475 QString Identity::signatureInlineText() const
476 {
477  return mSignature.text();
478 }
479 
480 QString Identity::signatureFile() const
481 {
482  return mSignature.url();
483 }
484 
485 QString Identity::autocorrectionLanguage() const
486 {
487  return property( QLatin1String( s_autocorrectionLanguage ) ).toString();
488 }
489 
490 // --------------------- Setters -----------------------------//
491 
492 void Identity::setProperty( const QString &key, const QVariant &value )
493 {
494  if ( value.isNull() ||
495  ( value.type() == QVariant::String && value.toString().isEmpty() ) ) {
496  mPropertiesMap.remove( key );
497  } else {
498  mPropertiesMap.insert( key, value );
499  }
500 }
501 
502 void Identity::setUoid( uint aUoid )
503 {
504  setProperty( QLatin1String(s_uoid), aUoid );
505 }
506 
507 void Identity::setIdentityName( const QString &name )
508 {
509  setProperty( QLatin1String(s_identity), name );
510 }
511 
512 void Identity::setFullName( const QString &str )
513 {
514  setProperty( QLatin1String(s_name), str );
515 }
516 
517 void Identity::setOrganization( const QString &str )
518 {
519  setProperty( QLatin1String(s_organization), str );
520 }
521 
522 void Identity::setPGPSigningKey( const QByteArray &str )
523 {
524  setProperty( QLatin1String(s_pgps), QLatin1String( str ) );
525 }
526 
527 void Identity::setPGPEncryptionKey( const QByteArray &str )
528 {
529  setProperty( QLatin1String(s_pgpe), QLatin1String( str ) );
530 }
531 
532 void Identity::setSMIMESigningKey( const QByteArray &str )
533 {
534  setProperty( QLatin1String(s_smimes), QLatin1String( str ) );
535 }
536 
537 void Identity::setSMIMEEncryptionKey( const QByteArray &str )
538 {
539  setProperty( QLatin1String(s_smimee), QLatin1String( str ) );
540 }
541 
542 void Identity::setEmailAddr( const QString &str )
543 {
544  setPrimaryEmailAddress( str );
545 }
546 
547 void Identity::setPrimaryEmailAddress( const QString & email )
548 {
549  setProperty( QLatin1String(s_email), email );
550 }
551 
552 void Identity::setEmailAliases( const QStringList & aliases )
553 {
554  setProperty( QLatin1String(s_emailAliases), aliases );
555 }
556 
557 void Identity::setVCardFile( const QString &str )
558 {
559  setProperty( QLatin1String(s_vcard), str );
560 }
561 
562 void Identity::setAttachVcard(bool attachment)
563 {
564  setProperty( QLatin1String(s_attachVcard), attachment );
565 }
566 
567 void Identity::setReplyToAddr( const QString&str )
568 {
569  setProperty( QLatin1String(s_replyto), str );
570 }
571 
572 void Identity::setSignatureFile( const QString &str )
573 {
574  mSignature.setUrl( str, signatureIsCommand() );
575 }
576 
577 void Identity::setSignatureInlineText( const QString &str )
578 {
579  mSignature.setText( str );
580 }
581 
582 void Identity::setTransport( const QString &str )
583 {
584  setProperty( QLatin1String(s_transport), str );
585 }
586 
587 void Identity::setFcc( const QString &str )
588 {
589  setProperty( QLatin1String(s_fcc), str );
590 }
591 
592 void Identity::setDrafts( const QString &str )
593 {
594  setProperty( QLatin1String(s_drafts), str );
595 }
596 
597 void Identity::setTemplates( const QString &str )
598 {
599  setProperty( QLatin1String(s_templates), str );
600 }
601 
602 void Identity::setDictionary( const QString &str )
603 {
604  setProperty( QLatin1String(s_dict), str );
605 }
606 
607 void Identity::setBcc( const QString &str )
608 {
609  setProperty( QLatin1String(s_bcc), str );
610 }
611 
612 void Identity::setCc( const QString &str )
613 {
614  setProperty( QLatin1String(s_cc), str );
615 }
616 
617 void Identity::setIsDefault( bool flag )
618 {
619  mIsDefault = flag;
620 }
621 
622 void Identity::setPreferredCryptoMessageFormat( const QString &str )
623 {
624  setProperty( QLatin1String(s_prefcrypt), str );
625 }
626 
627 void Identity::setXFace( const QString &str )
628 {
629  QString strNew = str;
630  strNew.remove( QLatin1Char(' ') );
631  strNew.remove( QLatin1Char('\n') );
632  strNew.remove( QLatin1Char('\r') );
633  setProperty( QLatin1String(s_xface), strNew );
634 }
635 
636 void Identity::setXFaceEnabled( const bool on )
637 {
638  setProperty( QLatin1String(s_xfaceenabled), on );
639 }
640 
641 void Identity::setSignature( const Signature &sig )
642 {
643  mSignature = sig;
644 }
645 
646 bool Identity::matchesEmailAddress( const QString & addr ) const
647 {
648  const QString addrSpec = KPIMUtils::extractEmailAddress( addr ).toLower();
649  if ( addrSpec == primaryEmailAddress().toLower() ) {
650  return true;
651  }
652 
653  foreach ( const QString &alias, emailAliases() ) {
654  if ( alias.toLower() == addrSpec ) {
655  return true;
656  }
657  }
658 
659  return false;
660 }
661 
662 QString Identity::verifyAkonadiId(const QString& str) const
663 {
664  if(str.isEmpty())
665  return str;
666  bool ok = false;
667  const qlonglong val = str.toLongLong(&ok);
668  Q_UNUSED(val);
669  if(ok) {
670  return str;
671  } else {
672  return QString();
673  }
674 }
675 
676 void Identity::setAutocorrectionLanguage(const QString& language)
677 {
678  setProperty( QLatin1String(s_autocorrectionLanguage), language );
679 }
680 
681 
682 bool Identity::disabledFcc() const
683 {
684  const QVariant var = property(QLatin1String( s_disabledFcc ));
685  if(var.isNull()) {
686  return false;
687  } else {
688  return var.toBool();
689  }
690 }
691 
692 void Identity::setDisabledFcc(bool disable)
693 {
694  setProperty( QLatin1String(s_disabledFcc), disable );
695 }
696 
697 bool Identity::pgpAutoSign() const
698 {
699  const QVariant var = property(QLatin1String( s_pgpautosign ));
700  if(var.isNull()) {
701  return false;
702  } else {
703  return var.toBool();
704  }
705 }
706 
707 void Identity::setPgpAutoSign(bool autoSign)
708 {
709  setProperty( QLatin1String(s_pgpautosign), autoSign );
710 }
711 
712 
KPIMIdentities::Identity::drafts
QString drafts() const
The folder where draft messages from this identity will be stored by default.
Definition: identity.cpp:438
KPIMIdentities::Identity::signatureIsPlainFile
bool signatureIsPlainFile() const
Definition: identity.cpp:460
KPIMIdentities::Identity::isDefault
bool isDefault() const
Definition: identity.cpp:327
KPIMIdentities::Identity::identityName
QString identityName() const
Identity/nickname for this collection.
Definition: identity.cpp:312
KPIMIdentities::Identity::signatureIsCommand
bool signatureIsCommand() const
Definition: identity.cpp:455
KPIMIdentities::Identity::xface
QString xface() const
a X-Face header for this identity
Definition: identity.cpp:422
KPIMIdentities::Identity::transport
QString transport() const
The transport that is set for this identity.
Definition: identity.cpp:450
KPIMIdentities::Identity::fcc
QString fcc() const
The folder where sent messages from this identity will be stored by default.
Definition: identity.cpp:444
KPIMIdentities::Identity::smimeSigningKey
QByteArray smimeSigningKey() const
The user's S/MIME signing key.
Definition: identity.cpp:362
KPIMIdentities::Identity::emailAddr
KPIMIDENTITIES_DEPRECATED QString emailAddr() const
email address (without the user name - only name@host)
Definition: identity.cpp:372
KPIMIdentities::Identity::signatureInlineText
QString signatureInlineText() const
inline signature
Definition: identity.cpp:475
KPIMIdentities::Identity::vCardFile
QString vCardFile() const
vCard to attach to outgoing emails
Definition: identity.cpp:387
KPIMIdentities::Identity::setIsDefault
void setIsDefault(bool flag)
Set whether this identity is the default identity.
Definition: identity.cpp:617
KPIMIdentities::Signature::setText
void setText(const QString &text)
Set the signature text and mark this signature as being of "inline text" type.
Definition: signature.cpp:665
KPIMIdentities::Identity::signatureText
QString signatureText(bool *ok=0) const
Definition: identity.cpp:317
KPIMIdentities::Identity::setIdentityName
void setIdentityName(const QString &name)
Identity/nickname for this collection.
Definition: identity.cpp:507
KPIMIdentities::Identity::operator>=
bool operator>=(const Identity &other) const
used for sorting
Definition: identity.cpp:253
KPIMIdentities::Identity::pgpAutoSign
bool pgpAutoSign() const
Definition: identity.cpp:697
KPIMIdentities::Identity::operator<=
bool operator<=(const Identity &other) const
used for sorting
Definition: identity.cpp:248
KPIMIdentities::Identity::primaryEmailAddress
QString primaryEmailAddress() const
primary email address (without the user name - only name@host).
Definition: identity.cpp:377
KPIMIdentities::Identity::operator<
bool operator<(const Identity &other) const
used for sorting
Definition: identity.cpp:226
KPIMIdentities::Identity::uoid
uint uoid() const
Unique Object Identifier for this identity.
Definition: identity.cpp:332
KPIMIdentities::Identity::signatureFile
QString signatureFile() const
name of the signature file (with path)
Definition: identity.cpp:480
KPIMIdentities::Identity::pgpEncryptionKey
QByteArray pgpEncryptionKey() const
The user's OpenPGP encryption key.
Definition: identity.cpp:347
KPIMIdentities::Identity::fullName
QString fullName() const
Full name of the user.
Definition: identity.cpp:337
KPIMIdentities::Identity::Identity
Identity(const QString &id=QString(), const QString &realName=QString(), const QString &emailAddr=QString(), const QString &organization=QString(), const QString &replyToAddress=QString())
Constructor.
Definition: identity.cpp:37
KPIMIdentities::Identity::~Identity
~Identity()
Destructor.
Definition: identity.cpp:52
KPIMIdentities::Identity::disabledFcc
bool disabledFcc() const
Definition: identity.cpp:682
KPIMIdentities::Signature::isInlinedHtml
bool isInlinedHtml() const
Definition: signature.cpp:273
KPIMIdentities::Identity::autocorrectionLanguage
QString autocorrectionLanguage() const
Definition: identity.cpp:485
KPIMIdentities::Identity::verifyAkonadiId
QString verifyAkonadiId(const QString &str) const
during migration when it failed it can be a string => not a qlonglong akonadi::id => fix it ...
Definition: identity.cpp:662
KPIMIdentities::Identity::operator>
bool operator>(const Identity &other) const
used for sorting
Definition: identity.cpp:237
KPIMIdentities::Identity::cc
QString cc() const
email addresses for the CC: field
Definition: identity.cpp:407
KPIMIdentities::Identity::signatureIsInline
bool signatureIsInline() const
Definition: identity.cpp:465
KPIMIdentities::Signature
Abstraction of a signature (aka "footer").
Definition: signature.h:89
KPIMIdentities::Identity::signatureIsInlinedHtml
bool signatureIsInlinedHtml() const
Definition: identity.cpp:322
KPIMIdentities::Identity::mailingAllowed
bool mailingAllowed() const
Tests if there are enough values set to allow mailing.
Definition: identity.cpp:121
KPIMIdentities::Identity::matchesEmailAddress
bool matchesEmailAddress(const QString &addr) const
Definition: identity.cpp:646
KPIMIdentities::Identity::emailAliases
const QStringList emailAliases() const
email address aliases
Definition: identity.cpp:382
KPIMIdentities::Identity::templates
QString templates() const
The folder where template messages from this identity will be stored by default.
Definition: identity.cpp:432
KPIMIdentities::Identity
User identity information.
Definition: identity.h:82
KPIMIdentities::Identity::dictionary
QString dictionary() const
Dictionary which should be used for spell checking.
Definition: identity.cpp:427
KPIMIdentities::Identity::setProperty
void setProperty(const QString &key, const QVariant &value)
Set random properties, when value is empty (for QStrings) or null, the property is deleted...
Definition: identity.cpp:492
KPIMIdentities::Identity::isNull
bool isNull() const
Returns true when the identity contains no values, all null values or only empty values.
Definition: identity.cpp:63
KPIMIdentities::Identity::operator==
bool operator==(const Identity &other) const
used for comparison
Definition: identity.cpp:258
KPIMIdentities::Identity::attachVcard
bool attachVcard() const
Definition: identity.cpp:392
KPIMIdentities::Identity::setUoid
void setUoid(uint aUoid)
set the uiod
Definition: identity.cpp:502
KPIMIdentities::Identity::writeConfig
void writeConfig(KConfigGroup &) const
Write configuration to config.
Definition: identity.cpp:109
KPIMIdentities::Identity::pgpSigningKey
QByteArray pgpSigningKey() const
The user's OpenPGP signing key.
Definition: identity.cpp:352
KPIMIdentities::Identity::replyToAddr
QString replyToAddr() const
email address for the ReplyTo: field
Definition: identity.cpp:397
KPIMIdentities::Identity::bcc
QString bcc() const
email addresses for the BCC: field
Definition: identity.cpp:402
KPIMIdentities::Identity::readConfig
void readConfig(const KConfigGroup &)
Read configuration from config.
Definition: identity.cpp:91
KPIMIdentities::Signature::withSeparator
QString withSeparator(bool *ok=0) const
Definition: signature.cpp:235
KPIMIdentities::Identity::fullEmailAddr
QString fullEmailAddr() const
email address in the format "username <name@host>" suitable for the "From:" field of email messages...
Definition: identity.cpp:276
KPIMIdentities::Identity::useSignatureFile
bool useSignatureFile() const
Inline or signature from a file.
Definition: identity.cpp:470
KPIMIdentities::Identity::smimeEncryptionKey
QByteArray smimeEncryptionKey() const
The user's S/MIME encryption key.
Definition: identity.cpp:357
KPIMIdentities::Signature::setUrl
void setUrl(const QString &url, bool isExecutable=false)
Set the signature URL and mark this signature as being of "from file" resp.
Definition: signature.cpp:262
KPIMIdentities::Signature::type
Type type() const
Definition: signature.cpp:658
KPIMIdentities::Identity::property
QVariant property(const QString &key) const
Get random properties.
Definition: identity.cpp:271
KPIMIdentities::Identity::operator!=
bool operator!=(const Identity &other) const
used for comparison
Definition: identity.cpp:264
KPIMIdentities::Identity::organization
QString organization() const
The user's organization (optional)
Definition: identity.cpp:342
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Mon Jul 21 2014 08:10:11 by doxygen 1.8.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kpimidentities

Skip menu "kpimidentities"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Members
  • File List
  • Related Pages

kdepimlibs-4.13.3 API Reference

Skip menu "kdepimlibs-4.13.3 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal