Akonadi Contacts

displaynameeditwidget.h
1 /*
2  This file is part of Contact Editor.
3 
4  Copyright (c) 2009 Tobias Koenig <[email protected]>
5 
6  This library is free software; you can redistribute it and/or modify it
7  under the terms of the GNU Library General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or (at your
9  option) any later version.
10 
11  This library is distributed in the hope that it will be useful, but WITHOUT
12  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
14  License for more details.
15 
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 the
18  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19  02110-1301, USA.
20 */
21 
22 #ifndef DISPLAYNAMEEDITWIDGET_H
23 #define DISPLAYNAMEEDITWIDGET_H
24 
25 #include <QWidget>
26 
27 #include <kcontacts/addressee.h>
28 
29 class KComboBox;
30 
38 {
39  Q_OBJECT
40 
41 public:
45  enum DisplayType {
52  };
53 
54  explicit DisplayNameEditWidget(QWidget *parent = nullptr);
55  ~DisplayNameEditWidget() override;
56 
57  void loadContact(const KContacts::Addressee &contact);
58  void storeContact(KContacts::Addressee &contact) const;
59 
60  void setReadOnly(bool readOnly);
61 
62  void setDisplayType(DisplayType type);
63  Q_REQUIRED_RESULT DisplayType displayType() const;
64 
65 public Q_SLOTS:
66  void changeName(const KContacts::Addressee &contact);
67  void changeOrganization(const QString &organization);
68 
69 protected:
70  bool eventFilter(QObject *object, QEvent *event) override;
71 
72 private:
73  void displayTypeChanged(int);
74  void setComboBoxEditable(bool);
75  void updateView();
76 
77  KComboBox *mView = nullptr;
78  KContacts::Addressee mContact;
79  QWidget *mViewport = nullptr;
80  DisplayType mDisplayType = DisplayType::SimpleName;
81  int mAdditionalPopupWidth;
82 };
83 
84 #endif
Let the user input a display name.
A widget for editing the display name of a contact.
A name of the form: prefix givenName additionalName familyName suffix.
A name of the form: familyName givenName.
A name of the form: familyName, givenName.
Q_OBJECTQ_OBJECT
DisplayType
Describes what the display name should look like.
A name of the form: givenName familyName.
Q_SLOTSQ_SLOTS
QObject * parent() const const
virtual bool event(QEvent *event) override
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Wed Jul 1 2020 23:06:13 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.