• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.14.10 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#include <QHostInfo>
32
33using namespace KPIMIdentities;
34
35// TODO: should use a kstaticdeleter?
36static Identity *identityNull = 0;
37
38Identity::Identity( const QString &id, const QString &fullName,
39 const QString &emailAddr, const QString &organization,
40 const QString &replyToAddr )
41 : mIsDefault( false )
42{
43 setProperty( QLatin1String(s_uoid), 0 );
44 setProperty( QLatin1String(s_identity), id );
45 setProperty( QLatin1String(s_name), fullName );
46 setProperty( QLatin1String(s_email), emailAddr );
47 setProperty( QLatin1String(s_organization), organization );
48 setProperty( QLatin1String(s_replyto), replyToAddr );
49 setProperty( QLatin1String(s_disabledFcc), false );
50 setProperty( QLatin1String(s_defaultDomainName), QHostInfo::localHostName());
51}
52
53Identity::~Identity()
54{}
55
56const Identity &Identity::null()
57{
58 if ( !identityNull ) {
59 identityNull = new Identity;
60 }
61 return *identityNull;
62}
63
64bool Identity::isNull() const
65{
66 bool empty = true;
67 QHash<QString, QVariant>::const_iterator i = mPropertiesMap.constBegin();
68 while ( i != mPropertiesMap.constEnd() ) {
69 // Take into account that the defaultDomainName for a null identity is not empty
70 if ( i.key() == QLatin1String(s_defaultDomainName) ) {
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
91void 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
109void 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
121bool Identity::mailingAllowed() const
122{
123 return !property( QLatin1String(s_email) ).toString().isEmpty();
124}
125
126QString Identity::mimeDataType()
127{
128 return QLatin1String("application/x-kmail-identity-drag");
129}
130
131bool Identity::canDecode( const QMimeData*md )
132{
133 return md->hasFormat( mimeDataType() );
134}
135
136void 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
146Identity 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
159QDataStream &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 << i.defaultDomainName();
189}
190
191QDataStream &KPIMIdentities::operator>>
192( QDataStream &stream, KPIMIdentities::Identity &i )
193{
194 quint32 uoid;
195 stream
196 >> uoid
197 >> i.mPropertiesMap[QLatin1String(s_identity)]
198 >> i.mPropertiesMap[QLatin1String(s_name)]
199 >> i.mPropertiesMap[QLatin1String(s_organization)]
200 >> i.mPropertiesMap[QLatin1String(s_pgps)]
201 >> i.mPropertiesMap[QLatin1String(s_pgpe)]
202 >> i.mPropertiesMap[QLatin1String(s_smimes)]
203 >> i.mPropertiesMap[QLatin1String(s_smimee)]
204 >> i.mPropertiesMap[QLatin1String(s_email)]
205 >> i.mPropertiesMap[QLatin1String(s_emailAliases)]
206 >> i.mPropertiesMap[QLatin1String(s_replyto)]
207 >> i.mPropertiesMap[QLatin1String(s_bcc)]
208 >> i.mPropertiesMap[QLatin1String(s_vcard)]
209 >> i.mPropertiesMap[QLatin1String(s_transport)]
210 >> i.mPropertiesMap[QLatin1String(s_fcc)]
211 >> i.mPropertiesMap[QLatin1String(s_drafts)]
212 >> i.mPropertiesMap[QLatin1String(s_templates)]
213 >> i.mPropertiesMap[QLatin1String(s_signature)]
214 >> i.mPropertiesMap[QLatin1String(s_dict)]
215 >> i.mPropertiesMap[QLatin1String(s_xface)]
216 >> i.mPropertiesMap[QLatin1String(s_prefcrypt)]
217 >> i.mPropertiesMap[QLatin1String(s_cc)]
218 >> i.mPropertiesMap[QLatin1String(s_attachVcard)]
219 >> i.mPropertiesMap[QLatin1String(s_autocorrectionLanguage)]
220 >> i.mPropertiesMap[QLatin1String(s_disabledFcc)]
221 >> i.mPropertiesMap[QLatin1String(s_pgpautosign)]
222 >> i.mPropertiesMap[QLatin1String(s_defaultDomainName)];
223
224 i.setProperty( QLatin1String(s_uoid), uoid );
225 return stream;
226}
227
228bool Identity::operator< ( const Identity &other ) const
229{
230 if ( isDefault() ) {
231 return true;
232 }
233 if ( other.isDefault() ) {
234 return false;
235 }
236 return identityName() < other.identityName();
237}
238
239bool Identity::operator> ( const Identity &other ) const
240{
241 if ( isDefault() ) {
242 return false;
243 }
244 if ( other.isDefault() ) {
245 return true;
246 }
247 return identityName() > other.identityName();
248}
249
250bool Identity::operator<= ( const Identity &other ) const
251{
252 return !operator> ( other );
253}
254
255bool Identity::operator>= ( const Identity &other ) const
256{
257 return !operator< ( other );
258}
259
260bool Identity::operator== ( const Identity &other ) const
261{
262 return mPropertiesMap == other.mPropertiesMap &&
263 mSignature == other.mSignature;
264}
265
266bool Identity::operator!= ( const Identity &other ) const
267{
268 return !operator== ( other );
269}
270
271// --------------------- Getters -----------------------------//
272
273QVariant Identity::property( const QString &key ) const
274{
275 return mPropertiesMap.value( key );
276}
277
278QString Identity::fullEmailAddr( void ) const
279{
280 const QString name = mPropertiesMap.value( QLatin1String(s_name) ).toString();
281 const QString mail = mPropertiesMap.value( QLatin1String(s_email) ).toString();
282
283 if ( name.isEmpty() ) {
284 return mail;
285 }
286
287 const QString specials( QLatin1String("()<>@,.;:[]") );
288
289 QString result;
290
291 // add DQUOTE's if necessary:
292 bool needsQuotes=false;
293 const int nameLength( name.length() );
294 for ( int i=0; i < nameLength; i++ ) {
295 if ( specials.contains( name[i] ) ) {
296 needsQuotes = true;
297 } else if ( name[i] == QLatin1Char('\\') || name[i] == QLatin1Char('"') ) {
298 needsQuotes = true;
299 result += QLatin1Char('\\');
300 }
301 result += name[i];
302 }
303
304 if ( needsQuotes ) {
305 result.insert( 0, QLatin1Char('"') );
306 result += QLatin1Char('"');
307 }
308
309 result += QLatin1String(" <") + mail + QLatin1Char('>');
310
311 return result;
312}
313
314QString Identity::identityName() const
315{
316 return property( QLatin1String( s_identity ) ).toString();
317}
318
319QString Identity::signatureText( bool *ok ) const
320{
321 return mSignature.withSeparator( ok );
322}
323
324bool Identity::signatureIsInlinedHtml() const
325{
326 return mSignature.isInlinedHtml();
327}
328
329bool Identity::isDefault() const
330{
331 return mIsDefault;
332}
333
334uint Identity::uoid() const
335{
336 return property( QLatin1String( s_uoid ) ).toInt();
337}
338
339QString Identity::fullName() const
340{
341 return property( QLatin1String( s_name ) ).toString();
342}
343
344QString Identity::organization() const
345{
346 return property( QLatin1String( s_organization ) ).toString();
347}
348
349QByteArray Identity::pgpEncryptionKey() const
350{
351 return property( QLatin1String( s_pgpe ) ).toByteArray();
352}
353
354QByteArray Identity::pgpSigningKey() const
355{
356 return property( QLatin1String( s_pgps ) ).toByteArray();
357}
358
359QByteArray Identity::smimeEncryptionKey() const
360{
361 return property( QLatin1String( s_smimee ) ).toByteArray();
362}
363
364QByteArray Identity::smimeSigningKey() const
365{
366 return property( QLatin1String( s_smimes ) ).toByteArray();
367}
368
369QString Identity::preferredCryptoMessageFormat() const
370{
371 return property( QLatin1String( s_prefcrypt ) ).toString();
372}
373
374QString Identity::emailAddr() const
375{
376 return primaryEmailAddress();
377}
378
379QString Identity::primaryEmailAddress() const
380{
381 return property( QLatin1String( s_email ) ).toString();
382}
383
384const QStringList Identity::emailAliases() const
385{
386 return property( QLatin1String( s_emailAliases ) ).toStringList();
387}
388
389QString Identity::vCardFile() const
390{
391 return property( QLatin1String( s_vcard ) ).toString();
392}
393
394bool Identity::attachVcard() const
395{
396 return property( QLatin1String( s_attachVcard ) ).toBool();
397}
398
399QString Identity::replyToAddr() const
400{
401 return property( QLatin1String( s_replyto ) ).toString();
402}
403
404QString Identity::bcc() const
405{
406 return property( QLatin1String( s_bcc ) ).toString();
407}
408
409QString Identity::cc() const
410{
411 return property( QLatin1String( s_cc ) ).toString();
412}
413
414Signature &Identity::signature()
415{
416 return mSignature;
417}
418
419bool Identity::isXFaceEnabled() const
420{
421 return property( QLatin1String( s_xfaceenabled ) ).toBool();
422}
423
424QString Identity::xface() const
425{
426 return property( QLatin1String( s_xface ) ).toString();
427}
428
429QString Identity::dictionary() const
430{
431 const QString dict = property( QLatin1String( s_dict ) ).toString();
432 if (dict.isEmpty()) {
433 return Sonnet::defaultLanguageName(); // this is slow, so do it on demand
434 }
435 return QString();
436}
437
438QString Identity::templates() const
439{
440 const QString str = property( QLatin1String( s_templates ) ).toString();
441 return verifyAkonadiId(str);
442}
443
444QString Identity::drafts() const
445{
446 const QString str = property( QLatin1String( s_drafts ) ).toString();
447 return verifyAkonadiId(str);
448}
449
450QString Identity::fcc() const
451{
452 const QString str = property( QLatin1String( s_fcc ) ).toString();
453 return verifyAkonadiId(str);
454}
455
456QString Identity::transport() const
457{
458 return property( QLatin1String( s_transport ) ).toString();
459}
460
461bool Identity::signatureIsCommand() const
462{
463 return mSignature.type() == Signature::FromCommand;
464}
465
466bool Identity::signatureIsPlainFile() const
467{
468 return mSignature.type() == Signature::FromFile;
469}
470
471bool Identity::signatureIsInline() const
472{
473 return mSignature.type() == Signature::Inlined;
474}
475
476bool Identity::useSignatureFile() const
477{
478 return signatureIsPlainFile() || signatureIsCommand();
479}
480
481QString Identity::signatureInlineText() const
482{
483 return mSignature.text();
484}
485
486QString Identity::signatureFile() const
487{
488 return mSignature.url();
489}
490
491QString Identity::autocorrectionLanguage() const
492{
493 return property( QLatin1String( s_autocorrectionLanguage ) ).toString();
494}
495
496// --------------------- Setters -----------------------------//
497
498void Identity::setProperty( const QString &key, const QVariant &value )
499{
500 if ( value.isNull() ||
501 ( value.type() == QVariant::String && value.toString().isEmpty() ) ) {
502 mPropertiesMap.remove( key );
503 } else {
504 mPropertiesMap.insert( key, value );
505 }
506}
507
508void Identity::setUoid( uint aUoid )
509{
510 setProperty( QLatin1String(s_uoid), aUoid );
511}
512
513void Identity::setIdentityName( const QString &name )
514{
515 setProperty( QLatin1String(s_identity), name );
516}
517
518void Identity::setFullName( const QString &str )
519{
520 setProperty( QLatin1String(s_name), str );
521}
522
523void Identity::setOrganization( const QString &str )
524{
525 setProperty( QLatin1String(s_organization), str );
526}
527
528void Identity::setPGPSigningKey( const QByteArray &str )
529{
530 setProperty( QLatin1String(s_pgps), QLatin1String( str ) );
531}
532
533void Identity::setPGPEncryptionKey( const QByteArray &str )
534{
535 setProperty( QLatin1String(s_pgpe), QLatin1String( str ) );
536}
537
538void Identity::setSMIMESigningKey( const QByteArray &str )
539{
540 setProperty( QLatin1String(s_smimes), QLatin1String( str ) );
541}
542
543void Identity::setSMIMEEncryptionKey( const QByteArray &str )
544{
545 setProperty( QLatin1String(s_smimee), QLatin1String( str ) );
546}
547
548void Identity::setEmailAddr( const QString &str )
549{
550 setPrimaryEmailAddress( str );
551}
552
553void Identity::setPrimaryEmailAddress( const QString & email )
554{
555 setProperty( QLatin1String(s_email), email );
556}
557
558void Identity::setEmailAliases( const QStringList & aliases )
559{
560 setProperty( QLatin1String(s_emailAliases), aliases );
561}
562
563void Identity::setVCardFile( const QString &str )
564{
565 setProperty( QLatin1String(s_vcard), str );
566}
567
568void Identity::setAttachVcard(bool attachment)
569{
570 setProperty( QLatin1String(s_attachVcard), attachment );
571}
572
573void Identity::setReplyToAddr( const QString&str )
574{
575 setProperty( QLatin1String(s_replyto), str );
576}
577
578void Identity::setSignatureFile( const QString &str )
579{
580 mSignature.setUrl( str, signatureIsCommand() );
581}
582
583void Identity::setSignatureInlineText( const QString &str )
584{
585 mSignature.setText( str );
586}
587
588void Identity::setTransport( const QString &str )
589{
590 setProperty( QLatin1String(s_transport), str );
591}
592
593void Identity::setFcc( const QString &str )
594{
595 setProperty( QLatin1String(s_fcc), str );
596}
597
598void Identity::setDrafts( const QString &str )
599{
600 setProperty( QLatin1String(s_drafts), str );
601}
602
603void Identity::setTemplates( const QString &str )
604{
605 setProperty( QLatin1String(s_templates), str );
606}
607
608void Identity::setDictionary( const QString &str )
609{
610 setProperty( QLatin1String(s_dict), str );
611}
612
613void Identity::setBcc( const QString &str )
614{
615 setProperty( QLatin1String(s_bcc), str );
616}
617
618void Identity::setCc( const QString &str )
619{
620 setProperty( QLatin1String(s_cc), str );
621}
622
623void Identity::setIsDefault( bool flag )
624{
625 mIsDefault = flag;
626}
627
628void Identity::setPreferredCryptoMessageFormat( const QString &str )
629{
630 setProperty( QLatin1String(s_prefcrypt), str );
631}
632
633void Identity::setXFace( const QString &str )
634{
635 QString strNew = str;
636 strNew.remove( QLatin1Char(' ') );
637 strNew.remove( QLatin1Char('\n') );
638 strNew.remove( QLatin1Char('\r') );
639 setProperty( QLatin1String(s_xface), strNew );
640}
641
642void Identity::setXFaceEnabled( const bool on )
643{
644 setProperty( QLatin1String(s_xfaceenabled), on );
645}
646
647void Identity::setSignature( const Signature &sig )
648{
649 mSignature = sig;
650}
651
652bool Identity::matchesEmailAddress( const QString & addr ) const
653{
654 const QString addrSpec = KPIMUtils::extractEmailAddress( addr ).toLower();
655 if ( addrSpec == primaryEmailAddress().toLower() ) {
656 return true;
657 }
658
659 foreach ( const QString &alias, emailAliases() ) {
660 if ( alias.toLower() == addrSpec ) {
661 return true;
662 }
663 }
664
665 return false;
666}
667
668QString Identity::verifyAkonadiId(const QString& str) const
669{
670 if(str.isEmpty())
671 return str;
672 bool ok = false;
673 const qlonglong val = str.toLongLong(&ok);
674 Q_UNUSED(val);
675 if(ok) {
676 return str;
677 } else {
678 return QString();
679 }
680}
681
682void Identity::setAutocorrectionLanguage(const QString& language)
683{
684 setProperty( QLatin1String(s_autocorrectionLanguage), language );
685}
686
687
688bool Identity::disabledFcc() const
689{
690 const QVariant var = property(QLatin1String( s_disabledFcc ));
691 if(var.isNull()) {
692 return false;
693 } else {
694 return var.toBool();
695 }
696}
697
698void Identity::setDisabledFcc(bool disable)
699{
700 setProperty( QLatin1String(s_disabledFcc), disable );
701}
702
703bool Identity::pgpAutoSign() const
704{
705 const QVariant var = property(QLatin1String( s_pgpautosign ));
706 if(var.isNull()) {
707 return false;
708 } else {
709 return var.toBool();
710 }
711}
712
713void Identity::setPgpAutoSign(bool autoSign)
714{
715 setProperty( QLatin1String(s_pgpautosign), autoSign );
716}
717
718QString Identity::defaultDomainName() const
719{
720 return property( QLatin1String( s_defaultDomainName ) ).toString();
721}
722
723void Identity::setDefaultDomainName(const QString &domainName)
724{
725 setProperty( QLatin1String(s_defaultDomainName), domainName );
726}
727
728
KPIMIdentities::Identity
User identity information.
Definition: identity.h:84
KPIMIdentities::Identity::primaryEmailAddress
QString primaryEmailAddress() const
primary email address (without the user name - only name@host).
Definition: identity.cpp:379
KPIMIdentities::Identity::pgpAutoSign
bool pgpAutoSign() const
Definition: identity.cpp:703
KPIMIdentities::Identity::operator!=
bool operator!=(const Identity &other) const
used for comparison
Definition: identity.cpp:266
KPIMIdentities::Identity::signatureText
QString signatureText(bool *ok=0) const
Definition: identity.cpp:319
KPIMIdentities::Identity::attachVcard
bool attachVcard() const
Definition: identity.cpp:394
KPIMIdentities::Identity::fullName
QString fullName() const
Full name of the user.
Definition: identity.cpp:339
KPIMIdentities::Identity::defaultDomainName
QString defaultDomainName() const
Definition: identity.cpp:718
KPIMIdentities::Identity::signatureIsPlainFile
bool signatureIsPlainFile() const
Definition: identity.cpp:466
KPIMIdentities::Identity::templates
QString templates() const
The folder where template messages from this identity will be stored by default.
Definition: identity.cpp:438
KPIMIdentities::Identity::signatureIsCommand
bool signatureIsCommand() const
Definition: identity.cpp:461
KPIMIdentities::Identity::matchesEmailAddress
bool matchesEmailAddress(const QString &addr) const
Definition: identity.cpp:652
KPIMIdentities::Identity::operator==
bool operator==(const Identity &other) const
used for comparison
Definition: identity.cpp:260
KPIMIdentities::Identity::emailAliases
const QStringList emailAliases() const
email address aliases
Definition: identity.cpp:384
KPIMIdentities::Identity::setUoid
void setUoid(uint aUoid)
set the uiod
Definition: identity.cpp:508
KPIMIdentities::Identity::signatureFile
QString signatureFile() const
name of the signature file (with path)
Definition: identity.cpp:486
KPIMIdentities::Identity::mailingAllowed
bool mailingAllowed() const
Tests if there are enough values set to allow mailing.
Definition: identity.cpp:121
KPIMIdentities::Identity::fcc
QString fcc() const
The folder where sent messages from this identity will be stored by default.
Definition: identity.cpp:450
KPIMIdentities::Identity::operator<=
bool operator<=(const Identity &other) const
used for sorting
Definition: identity.cpp:250
KPIMIdentities::Identity::setIsDefault
void setIsDefault(bool flag)
Set whether this identity is the default identity.
Definition: identity.cpp:623
KPIMIdentities::Identity::property
QVariant property(const QString &key) const
Get random properties.
Definition: identity.cpp:273
KPIMIdentities::Identity::drafts
QString drafts() const
The folder where draft messages from this identity will be stored by default.
Definition: identity.cpp:444
KPIMIdentities::Identity::signatureInlineText
QString signatureInlineText() const
inline signature
Definition: identity.cpp:481
KPIMIdentities::Identity::smimeSigningKey
QByteArray smimeSigningKey() const
The user's S/MIME signing key.
Definition: identity.cpp:364
KPIMIdentities::Identity::isNull
bool isNull() const
Returns true when the identity contains no values, all null values or only empty values.
Definition: identity.cpp:64
KPIMIdentities::Identity::operator>=
bool operator>=(const Identity &other) const
used for sorting
Definition: identity.cpp:255
KPIMIdentities::Identity::pgpSigningKey
QByteArray pgpSigningKey() const
The user's OpenPGP signing key.
Definition: identity.cpp:354
KPIMIdentities::Identity::identityName
QString identityName() const
Identity/nickname for this collection.
Definition: identity.cpp:314
KPIMIdentities::Identity::writeConfig
void writeConfig(KConfigGroup &) const
Write configuration to config.
Definition: identity.cpp:109
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:498
KPIMIdentities::Identity::autocorrectionLanguage
QString autocorrectionLanguage() const
Definition: identity.cpp:491
KPIMIdentities::Identity::readConfig
void readConfig(const KConfigGroup &)
Read configuration from config.
Definition: identity.cpp:91
KPIMIdentities::Identity::dictionary
QString dictionary() const
Dictionary which should be used for spell checking.
Definition: identity.cpp:429
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:38
KPIMIdentities::Identity::organization
QString organization() const
The user's organization (optional)
Definition: identity.cpp:344
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:278
KPIMIdentities::Identity::useSignatureFile
bool useSignatureFile() const
Inline or signature from a file.
Definition: identity.cpp:476
KPIMIdentities::Identity::cc
QString cc() const
email addresses for the CC: field
Definition: identity.cpp:409
KPIMIdentities::Identity::bcc
QString bcc() const
email addresses for the BCC: field
Definition: identity.cpp:404
KPIMIdentities::Identity::operator<
bool operator<(const Identity &other) const
used for sorting
Definition: identity.cpp:228
KPIMIdentities::Identity::signatureIsInlinedHtml
bool signatureIsInlinedHtml() const
Definition: identity.cpp:324
KPIMIdentities::Identity::transport
QString transport() const
The transport that is set for this identity.
Definition: identity.cpp:456
KPIMIdentities::Identity::replyToAddr
QString replyToAddr() const
email address for the ReplyTo: field
Definition: identity.cpp:399
KPIMIdentities::Identity::operator>
bool operator>(const Identity &other) const
used for sorting
Definition: identity.cpp:239
KPIMIdentities::Identity::emailAddr
KPIMIDENTITIES_DEPRECATED QString emailAddr() const
email address (without the user name - only name@host)
Definition: identity.cpp:374
KPIMIdentities::Identity::signatureIsInline
bool signatureIsInline() const
Definition: identity.cpp:471
KPIMIdentities::Identity::smimeEncryptionKey
QByteArray smimeEncryptionKey() const
The user's S/MIME encryption key.
Definition: identity.cpp:359
KPIMIdentities::Identity::disabledFcc
bool disabledFcc() const
Definition: identity.cpp:688
KPIMIdentities::Identity::isDefault
bool isDefault() const
Definition: identity.cpp:329
KPIMIdentities::Identity::setIdentityName
void setIdentityName(const QString &name)
Identity/nickname for this collection.
Definition: identity.cpp:513
KPIMIdentities::Identity::~Identity
~Identity()
Destructor.
Definition: identity.cpp:53
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:668
KPIMIdentities::Identity::uoid
uint uoid() const
Unique Object Identifier for this identity.
Definition: identity.cpp:334
KPIMIdentities::Identity::vCardFile
QString vCardFile() const
vCard to attach to outgoing emails
Definition: identity.cpp:389
KPIMIdentities::Identity::pgpEncryptionKey
QByteArray pgpEncryptionKey() const
The user's OpenPGP encryption key.
Definition: identity.cpp:349
KPIMIdentities::Identity::xface
QString xface() const
a X-Face header for this identity
Definition: identity.cpp:424
KPIMIdentities::Signature
Abstraction of a signature (aka "footer").
Definition: signature.h:90
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:666
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::isInlinedHtml
bool isInlinedHtml() const
Definition: signature.cpp:273
KPIMIdentities::Signature::type
Type type() const
Definition: signature.cpp:659
KPIMIdentities::Signature::withSeparator
QString withSeparator(bool *ok=0) const
Definition: signature.cpp:235
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Thu Jul 21 2022 00:00:00 by doxygen 1.9.5 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.14.10 API Reference

Skip menu "kdepimlibs-4.14.10 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