Fixed following things: Crosshair is now visible when GPS is not in use on
[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 #include "userinfo.h"
24
25 UserInfoPanel::UserInfoPanel(QWidget *parent)
26     : SidePanel(parent)
27 {
28     qDebug() << __PRETTY_FUNCTION__;
29
30     setType(SidePanel::UserPanel);
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     m_panelVBox->addWidget(userInfoScroll);
50     m_panelVBox->setContentsMargins(SLIDINGBAR_WIDTH+1, 0, SIDEBAR_WIDTH, 0);
51
52     connect(m_userInfo, SIGNAL(findUser(QPointF)),
53             this, SIGNAL(findUser(QPointF)));
54
55     connect(m_userInfo,SIGNAL(requestReverseGeo()),
56             this, SIGNAL(requestReverseGeo()));
57
58     connect(this, SIGNAL(reverseGeoReady(QString)),
59             m_userInfo, SIGNAL(reverseGeoReady(QString)));
60
61     connect(m_userInfo, SIGNAL(statusUpdate(QString,bool)),
62             this, SIGNAL(statusUpdate(QString,bool)));
63
64     connect(m_userInfo, SIGNAL(refreshUserData()),
65             this, SIGNAL(refreshUserData()));
66
67     connect(this, SIGNAL(clearUpdateLocationDialogData()),
68             m_userInfo, SLOT(clearUpdateLocationDialogData()));
69
70     connect (this, SIGNAL(messageSendingFailed(int)),
71              m_userInfo, SLOT(verifyMessageUpdateFailure(int)));
72
73     connect (m_userInfo, SIGNAL(notificateUpdateFailing(QString, bool)),
74              this, SIGNAL(notificateUpdateFailing(QString, bool)));
75 }
76
77 void UserInfoPanel::userDataReceived(User *user)
78 {
79     qDebug() << __PRETTY_FUNCTION__;
80
81     if(user) {
82         m_userInfo->setUserName(user->name());
83         m_userInfo->setProfileImage(user->profileImage());
84         m_userInfo->setMessageText(user->note());
85         m_userInfo->setAddress(user->address());
86         m_userInfo->setTime(user->timestamp());
87         m_userInfo->setCoordinates(user->coordinates());
88     }
89 }