• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

libkdepim

  • sources
  • kde-4.14
  • kdepim
  • libkdepim
  • addressline
  • addresslineedit
addresseelineeditstatic.h
Go to the documentation of this file.
1 /*
2  Copyright (c) 2015 Montel Laurent <montel@kde.org>
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License, version 2, as
6  published by the Free Software Foundation.
7 
8  This program is distributed in the hope that it will be useful, but
9  WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License along
14  with this program; if not, write to the Free Software Foundation, Inc.,
15  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17 
18 #ifndef ADDRESSEELINEEDITSTATIC_H
19 #define ADDRESSEELINEEDITSTATIC_H
20 
21 #include <QMap>
22 #include <Akonadi/Collection>
23 
24 #include <Akonadi/Item>
25 #include <Akonadi/Session>
26 #include <QVector>
27 #include <QWeakPointer>
28 #include <ldap/ldapclientsearch.h>
29 #include <qstringlist.h>
30 class QTimer;
31 namespace KPIM {
32 class KMailCompletion;
33 class AddresseeLineEdit;
34 class AddresseeLineEditStatic
35 {
36 public:
37  typedef QMap< QString, QPair<int,int> > CompletionItemsMap;
38 
39  AddresseeLineEditStatic();
40 
41  ~AddresseeLineEditStatic();
42 
43  void slotEditCompletionOrder();
44 
45  void updateCollectionWeights();
46 
47  void updateLDAPWeights();
48 
49  int addCompletionSource( const QString &source, int weight );
50 
51  void removeCompletionSource( const QString &source );
52 
53  KMailCompletion *completion;
54  CompletionItemsMap completionItemMap;
55  QStringList completionSources;
56 
57  QTimer *ldapTimer;
58  KLDAP::LdapClientSearch *ldapSearch;
59 
60  QString ldapText;
61  AddresseeLineEdit *ldapLineEdit;
62  // The weights associated with the completion sources in s_static->completionSources.
63  // Both are maintained by addCompletionSource(), don't attempt to modifiy those yourself.
64  QMap<QString, int> completionSourceWeights;
65  // maps LDAP client indices to completion source indices
66  // the assumption that they are always the first n indices in s_static->completion
67  // does not hold when clients are added later on
68  QMap<int, int> ldapClientToCompletionSourceMap;
69  // holds the cached mapping from akonadi collection id to the completion source index
70  struct collectionInfo {
71  collectionInfo()
72  : index(-1),
73  enabled(true)
74  {
75 
76  }
77  int index;
78  bool enabled;
79  };
80 
81  QMap<Akonadi::Collection::Id, collectionInfo> akonadiCollectionToCompletionSourceMap;
82  // a list of akonadi items (contacts) that have not had their collection fetched yet
83  Akonadi::Item::List akonadiPendingItems;
84  Akonadi::Session *akonadiSession;
85  QVector<QWeakPointer<Akonadi::Job> > akonadiJobsInFlight;
86  int balooCompletionSource;
87 };
88 }
89 #endif // ADDRESSEELINEEDITSTATIC_H
KPIM::AddresseeLineEditStatic::CompletionItemsMap
QMap< QString, QPair< int, int > > CompletionItemsMap
Definition: addresseelineeditstatic.h:37
KPIM::AddresseeLineEditStatic::akonadiSession
Akonadi::Session * akonadiSession
Definition: addresseelineeditstatic.h:84
ldapclientsearch.h
KLDAP::LdapClientSearch
Definition: ldapclientsearch.h:68
QMap
KPIM::AddresseeLineEditStatic::completionSourceWeights
QMap< QString, int > completionSourceWeights
Definition: addresseelineeditstatic.h:64
KPIM::AddresseeLineEditStatic::collectionInfo::collectionInfo
collectionInfo()
Definition: addresseelineeditstatic.h:71
KPIM::AddresseeLineEditStatic
Definition: addresseelineeditstatic.h:34
KPIM::AddresseeLineEditStatic::akonadiCollectionToCompletionSourceMap
QMap< Akonadi::Collection::Id, collectionInfo > akonadiCollectionToCompletionSourceMap
Definition: addresseelineeditstatic.h:81
KPIM::AddresseeLineEditStatic::ldapText
QString ldapText
Definition: addresseelineeditstatic.h:60
KPIM::AddresseeLineEditStatic::slotEditCompletionOrder
void slotEditCompletionOrder()
Definition: addresseelineeditstatic.cpp:47
KPIM::AddresseeLineEditStatic::updateLDAPWeights
void updateLDAPWeights()
Definition: addresseelineeditstatic.cpp:61
KPIM::AddresseeLineEditStatic::akonadiJobsInFlight
QVector< QWeakPointer< Akonadi::Job > > akonadiJobsInFlight
Definition: addresseelineeditstatic.h:85
QTimer
KPIM::AddresseeLineEdit
Definition: addresseelineedit.h:55
KPIM::AddresseeLineEditStatic::AddresseeLineEditStatic
AddresseeLineEditStatic()
Definition: addresseelineeditstatic.cpp:30
KPIM::AddresseeLineEditStatic::ldapSearch
KLDAP::LdapClientSearch * ldapSearch
Definition: addresseelineeditstatic.h:58
KPIM::AddresseeLineEditStatic::collectionInfo::enabled
bool enabled
Definition: addresseelineeditstatic.h:78
KPIM::AddresseeLineEditStatic::addCompletionSource
int addCompletionSource(const QString &source, int weight)
Definition: addresseelineeditstatic.cpp:78
QString
KPIM::AddresseeLineEditStatic::collectionInfo::index
int index
Definition: addresseelineeditstatic.h:77
KPIM::AddresseeLineEditStatic::ldapTimer
QTimer * ldapTimer
Definition: addresseelineeditstatic.h:57
QStringList
KPIM::AddresseeLineEditStatic::removeCompletionSource
void removeCompletionSource(const QString &source)
Definition: addresseelineeditstatic.cpp:96
KPIM::AddresseeLineEditStatic::completion
KMailCompletion * completion
Definition: addresseelineeditstatic.h:53
KPIM::KMailCompletion
KMailCompletion allows lookup of email addresses by keyword.
Definition: kmailcompletion.h:39
KPIM::AddresseeLineEditStatic::updateCollectionWeights
void updateCollectionWeights()
Definition: addresseelineeditstatic.cpp:56
KPIM::AddresseeLineEditStatic::collectionInfo
Definition: addresseelineeditstatic.h:70
KPIM::AddresseeLineEditStatic::completionSources
QStringList completionSources
Definition: addresseelineeditstatic.h:55
QVector
KPIM::AddresseeLineEditStatic::~AddresseeLineEditStatic
~AddresseeLineEditStatic()
Definition: addresseelineeditstatic.cpp:40
KPIM::AddresseeLineEditStatic::ldapLineEdit
AddresseeLineEdit * ldapLineEdit
Definition: addresseelineeditstatic.h:61
KPIM::AddresseeLineEditStatic::ldapClientToCompletionSourceMap
QMap< int, int > ldapClientToCompletionSourceMap
Definition: addresseelineeditstatic.h:68
KPIM::AddresseeLineEditStatic::akonadiPendingItems
Akonadi::Item::List akonadiPendingItems
Definition: addresseelineeditstatic.h:83
KPIM::AddresseeLineEditStatic::completionItemMap
CompletionItemsMap completionItemMap
Definition: addresseelineeditstatic.h:54
KPIM::AddresseeLineEditStatic::balooCompletionSource
int balooCompletionSource
Definition: addresseelineeditstatic.h:86
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:33:50 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libkdepim

Skip menu "libkdepim"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer
  • pimprint

Search



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