4 #include "friendlistitem.h"
5 #include "friendlistitemdelegate.h"
6 #include "friendlistview.h"
7 #include "imagebutton.h"
8 #include "messagelistitem.h"
9 #include "messagelistview.h"
10 #include "panelcommon.h"
11 #include "user/user.h"
13 #include "meetpeoplepanel.h"
15 MeetPeoplePanel::MeetPeoplePanel(QWidget *parent)
18 qDebug() << __PRETTY_FUNCTION__;
20 QVBoxLayout *meetPeopleLayout = new QVBoxLayout;
21 meetPeopleLayout->setMargin(0);
22 meetPeopleLayout->setSpacing(0);
23 setLayout(meetPeopleLayout);
25 m_messageListView = new MessageListView(this);
26 m_messageListView->setItemDelegate(new ExtendedListItemDelegate(this));
28 m_interestingPeopleListView = new FriendListView(this);
29 m_interestingPeopleListView->setItemDelegate(new FriendListItemDelegate(this));
31 QVBoxLayout *listViewLayout = new QVBoxLayout;
32 listViewLayout->setContentsMargins(PANEL_MARGIN_LEFT, PANEL_MARGIN_TOP,
33 PANEL_MARGIN_RIGHT, PANEL_MARGIN_BOTTOM);
34 listViewLayout->addWidget(m_messageListView);
35 listViewLayout->addWidget(m_interestingPeopleListView);
36 meetPeopleLayout->addLayout(listViewLayout);
38 m_chatButton = new ImageButton(":/res/images/chat_btn.png",
39 ":/res/images/chat_btn_s.png",
40 ":/res/images/chat_btn_d", this);
42 m_contextButtonLayout->addWidget(m_chatButton);
44 connect(m_chatButton, SIGNAL(clicked()),
45 this, SLOT(openChatMessageDialog()));
47 QList<Message> messages;
49 m1.setSenderId("123");
50 m1.setSenderName("Jane Doe");
51 m1.setText("Hello world!");
53 m2.setSenderId("123");
54 m2.setSenderName("Jane Doe");
55 m2.setText("Hello world again!");
57 m3.setSenderId("456");
58 m3.setSenderName("John Doe");
59 m3.setText("Piss off!");
64 populateMessageListView(messages);
67 void MeetPeoplePanel::friendImageReady(User *user)
69 qDebug() << __PRETTY_FUNCTION__;
71 FriendListItem *item =
72 static_cast<FriendListItem*>(m_interestingPeopleListView->listItem(user->userId()));
75 item->setAvatarImage(user->profileImage());
78 void MeetPeoplePanel::populateInterestingPeopleListView(QList<User *> &interestingPeople)
80 qDebug() << __PRETTY_FUNCTION__ ;
82 foreach (User *interestingPerson, interestingPeople) {
83 FriendListItem *item = new FriendListItem();
84 item->setUserData(interestingPerson);
85 m_interestingPeopleListView->addListItem(interestingPerson->userId(), item);
88 m_interestingPeopleListView->scrollToTop();
91 void MeetPeoplePanel::populateMessageListView(QList<Message> &messages)
93 qDebug() << __PRETTY_FUNCTION__ ;
95 foreach (Message message, messages) {
96 MessageListItem *messageItem = new MessageListItem();
97 messageItem->setMessageData(message);
98 m_messageListView->addListItem(messageItem->messageSenderId(), messageItem);
101 m_messageListView->scrollToTop();
104 void MeetPeoplePanel::setChatButtonDisabled()
106 qDebug() << __PRETTY_FUNCTION__;
108 m_chatButton->setDisabled(m_interestingPeopleListView->selectedItems().isEmpty());