Remove double margin
[kdepim.git] / kaddressbook / contactselectionwidget.h
blobf5afa693dbe1038b1de7046c9efbb0882ede8dd3
1 /*
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
17 02110-1301, USA.
20 #ifndef CONTACTSELECTIONWIDGET_H
21 #define CONTACTSELECTIONWIDGET_H
23 #include <KContacts/Addressee>
24 #include <AkonadiCore/Item>
25 #include "contactlist.h"
27 #include <QWidget>
29 class QCheckBox;
30 class QItemSelectionModel;
31 class QLabel;
32 class QRadioButton;
34 namespace Akonadi
36 class Collection;
37 class CollectionComboBox;
40 /**
41 * @short A widget to select a group of contacts.
43 * @author Tobias Koenig <tokoe@kde.org>
45 class ContactSelectionWidget : public QWidget
47 Q_OBJECT
49 public:
50 /**
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);
58 /**
59 * Sets the @p message text.
61 void setMessageText(const QString &message);
63 /**
64 * Sets the default addressbook.
66 void setDefaultAddressBook(const Akonadi::Collection &addressBook);
68 /**
69 * Returns the list of selected contacts.
71 ContactList selectedContacts() const;
73 void setAddGroupContact(bool addGroupContact);
74 private:
75 void initGui();
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;
92 #endif