New notification panel.
[situare] / src / ui / meetpeoplepanel.h
1 #ifndef MEETPEOPLEPANEL_H
2 #define MEETPEOPLEPANEL_H
3
4 #include <QList>
5
6 #include "panelbase.h"
7
8 class QUrl;
9
10 class GeoCoordinate;
11 class ImageButton;
12 class PersonListView;
13 class User;
14
15 class MeetPeoplePanel : public PanelBase
16 {
17     Q_OBJECT
18
19 public:
20     /**
21      * @brief Default constructor
22      *
23      * @param parent
24      */
25     MeetPeoplePanel(QWidget *parent = 0);
26
27 private slots:
28     /**
29     * @brief Sets person's image.
30     *
31     * @param id image ID
32     * @param image image pixmap
33     */
34     void setImage(const QString &id, const QPixmap &image);
35
36     /**
37     * @brief Populates interesting people list view.
38     *
39     * @param interestingPeople list of interesting people
40     */
41     void populateInterestingPeopleListView(QList<User> &interestingPeople);
42
43 signals:
44     /**
45      * @brief Signal for person finding
46      *
47      * @param coordinates Target coordinate
48      */
49     void findPerson(const GeoCoordinate &coordinates);
50
51     /**
52     * @brief Requests interesting people from current map viewport.
53     *
54     * Interesting people is defined by people with same tags as user has.
55     */
56     void requestInterestingPeople();
57
58     /**
59     * @brief Requests interesting people search.
60     */
61     void requestInterestingPeopleSearch();
62
63 private:
64     PersonListView *m_personListView;   ///< Interesting people list view
65     ImageButton *m_chatButton;          ///< Chat button
66 };
67
68 #endif // MEETPEOPLEPANEL_H