2 Copyright (c) 2009 Tobias Koenig <tokoe@kde.org>
4 This library is free software; you can redistribute it and/or modify it
5 under the terms of the GNU Library General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or (at your
7 option) any later version.
9 This library is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 License for more details.
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to the
16 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20 #ifndef CONTACTSELECTIONWIDGET_H
21 #define CONTACTSELECTIONWIDGET_H
23 #include <KContacts/Addressee>
24 #include <AkonadiCore/Item>
25 #include "contactlist.h"
30 class QItemSelectionModel
;
37 class CollectionComboBox
;
41 * @short A widget to select a group of contacts.
43 * @author Tobias Koenig <tokoe@kde.org>
45 class ContactSelectionWidget
: public QWidget
51 * Creates a new contact selection widget.
53 * @param selectionModel The model that contains the currently selected contacts.
54 * @param parent The parent widget.
56 explicit ContactSelectionWidget(QItemSelectionModel
*selectionModel
, QWidget
*parent
= Q_NULLPTR
);
59 * Sets the @p message text.
61 void setMessageText(const QString
&message
);
64 * Sets the default addressbook.
66 void setDefaultAddressBook(const Akonadi::Collection
&addressBook
);
69 * Returns the list of selected contacts.
71 ContactList
selectedContacts() const;
73 void setAddGroupContact(bool addGroupContact
);
77 ContactList
collectAllContacts() const;
78 ContactList
collectSelectedContacts() const;
79 ContactList
collectAddressBookContacts() const;
81 QItemSelectionModel
*mSelectionModel
;
83 QLabel
*mMessageLabel
;
84 QRadioButton
*mAllContactsButton
;
85 QRadioButton
*mSelectedContactsButton
;
86 QRadioButton
*mAddressBookContactsButton
;
87 Akonadi::CollectionComboBox
*mAddressBookSelection
;
88 QCheckBox
*mAddressBookSelectionRecursive
;
89 bool mAddContactGroup
;