The first "kind of" working version of the new panels
[situare] / src / ui / userinfopanel.cpp
1  /*
2     Situare - A location system for Facebook
3     Copyright (C) 2010  Ixonos Plc. Authors:
4
5         Kaj Wallin - kaj.wallin@ixonos.com
6
7     Situare is free software; you can redistribute it and/or
8     modify it under the terms of the GNU General Public License
9     version 2 as published by the Free Software Foundation.
10
11     Situare is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with Situare; if not, write to the Free Software
18     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
19     USA.
20  */
21
22 #include "userinfopanel.h"
23
24 #include "userinfo.h"
25 #include "panelcommon.h"
26
27 UserInfoPanel::UserInfoPanel(QWidget *parent)
28     : QWidget(parent)
29 {
30     qDebug() << __PRETTY_FUNCTION__;
31
32     m_userInfo = new UserInfo(this);
33
34     QWidget *userInfoView = new QWidget(this);
35     QVBoxLayout *userViewLayout = new QVBoxLayout(userInfoView);
36     userViewLayout->setMargin(0);
37     userViewLayout->setSpacing(0);
38     userViewLayout->setStretch(0, 0);
39     userViewLayout->setSizeConstraint(QLayout::SetFixedSize);
40     userViewLayout->addWidget(m_userInfo);
41
42     QScrollArea *userInfoScroll = new QScrollArea(this);
43     userInfoScroll->setWidgetResizable(true);
44     userInfoScroll->setWidget(userInfoView);
45     userInfoScroll->setAlignment(Qt::AlignVCenter);
46     userInfoScroll->viewport()->setAutoFillBackground(false);
47     userInfoScroll->widget()->setAutoFillBackground(false);
48
49     connect(m_userInfo, SIGNAL(findUser(GeoCoordinate)),
50             this, SIGNAL(findUser(GeoCoordinate)));
51
52     connect(m_userInfo,SIGNAL(requestReverseGeo()),
53             this, SIGNAL(requestReverseGeo()));
54
55     connect(this, SIGNAL(reverseGeoReady(QString)),
56             m_userInfo, SIGNAL(reverseGeoReady(QString)));
57
58     connect(m_userInfo, SIGNAL(statusUpdate(QString,bool)),
59             this, SIGNAL(statusUpdate(QString,bool)));
60
61     connect(m_userInfo, SIGNAL(refreshUserData()),
62             this, SIGNAL(refreshUserData()));
63
64     connect(this, SIGNAL(clearUpdateLocationDialogData()),
65             m_userInfo, SLOT(clearUpdateLocationDialogData()));
66
67     connect(m_userInfo, SIGNAL(notificateUpdateFailing(QString, bool)),
68              this, SIGNAL(notificateUpdateFailing(QString, bool)));
69 }
70
71 void UserInfoPanel::userDataReceived(User *user)
72 {
73     qDebug() << __PRETTY_FUNCTION__;
74
75     if(user) {
76         m_userInfo->setUserName(user->name());
77         m_userInfo->setProfileImage(user->profileImage());
78         m_userInfo->setMessageText(user->note());
79         m_userInfo->setAddress(user->address());
80         m_userInfo->setTime(user->timestamp());
81         m_userInfo->setCoordinates(user->coordinates());
82     }
83 }