2 Situare - A location system for Facebook
3 Copyright (C) 2010 Ixonos Plc. Authors:
5 Jukka Saastamoinen - jukka.saastamoinen@ixonos.com
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.
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.
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,
23 #include "buttonitem.h"
24 #include "mainwindow.h"
27 const int RGB_R = 152;
28 const int RGB_G = 152;
29 const int RGB_B = 152;
30 const int SIZE_X = 320;
31 const int SIZE_Y = 280;
32 const int BIG_FONT = 18;
33 const int SMALL_FONT = 13;
35 InfoTab::InfoTab(QWidget *parent)
36 : QWidget(parent, Qt::FramelessWindowHint)
38 widget = new QWidget(this);
39 verticalLayout = new QVBoxLayout(widget);
40 horizontalLayout = new QHBoxLayout(widget);
41 m_layout = new QGridLayout(widget);
45 QColor textColor(RGB_R,RGB_G,RGB_B);
46 textPalette.setColor(QPalette::WindowText,textColor);
47 m_userNameLabel = new QLabel(widget);
48 m_userNameLabel->setFont(QFont( "Nokia Sans", BIG_FONT, QFont::Normal));
50 m_messageLabel = new QLabel(widget);
51 m_messageLabel->setFont(QFont( "Nokia Sans", SMALL_FONT, QFont::Normal));
52 m_messageLabel->setPalette(textPalette);
54 m_addressLabel = new QLabel(widget);
55 m_addressLabel->setFont(QFont( "Nokia Sans", SMALL_FONT, QFont::Normal));
56 m_addressLabel->setPalette(textPalette);
58 m_timeLabel = new QLabel(widget);
59 m_timeLabel->setFont(QFont( "Nokia Sans", 13, QFont::Normal));
60 m_timeLabel->setPalette(textPalette);
62 m_clockLabel = new QLabel(widget);
63 m_clockLabel->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
64 m_envelopeLabel = new QLabel(widget);
65 m_envelopeLabel->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
66 m_compassLabel = new QLabel(widget);
67 m_compassLabel->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
68 ButtonItem *updateFriendsButton = new ButtonItem(widget);
69 ButtonItem *updateStatusMessageButton = new ButtonItem(widget);
71 updateFriendsButton->setIcon(QIcon(QPixmap(":/res/images/refresh.png")));
72 updateStatusMessageButton->setIcon(QIcon(QPixmap(":/res/images/send_position.png")));
74 m_clockLabel->setPixmap(QPixmap(":/res/images/clock.png"));
75 m_envelopeLabel->setPixmap(QPixmap(":/res/images/envelope.png"));
76 m_compassLabel->setPixmap(QPixmap(":/res/images/compass.png"));
77 // m_layout->addWidget(situUser,0,0,1,2,Qt::AlignHCenter);
78 m_layout->addWidget(m_userNameLabel,1,1,1,2);
79 m_layout->addWidget(m_clockLabel,3,0,1,1);
80 m_layout->addWidget(m_envelopeLabel,2,0,1,1);
81 m_layout->addWidget(m_compassLabel,4,0,1,1);
82 m_layout->addWidget(m_timeLabel,3,1,1,1);
83 m_layout->addWidget(m_messageLabel,2,1,1,1);
84 m_layout->addWidget(m_addressLabel,4,1,1,1);
86 verticalLayout->addLayout(m_layout);
87 horizontalLayout->setSpacing(0);
88 horizontalLayout->addWidget(updateFriendsButton);
89 horizontalLayout->addWidget(updateStatusMessageButton);
91 verticalLayout->addLayout(horizontalLayout);
93 connect(updateStatusMessageButton,SIGNAL(clicked()),this,SLOT(messageUpdate()));
94 connect(updateFriendsButton,SIGNAL(clicked()),this,SLOT(updateFriendsStatus()));
96 widget->setObjectName("infoTab");
97 widget->setStyleSheet(QString("#infoTab { border-image: url(:/res/images/list_item.png) 20%; " \
98 "border-width: 20px 14px 16px 14px; }"));
101 void InfoTab::paintEvent(QPaintEvent *aPaintEvent)
103 Q_UNUSED(aPaintEvent);
108 QPainter painter(this);
109 style()->drawPrimitive(QStyle::PE_Widget, &option, &painter, this);
112 QSize InfoTab::sizeHint() const
114 QSize size(SIZE_X,SIZE_Y);
118 void InfoTab::setAvatar(const QPixmap &avat)
123 void InfoTab::setUserName(const QString &usernam)
125 if(m_userName == usernam)
127 m_userName = usernam;
128 m_userNameLabel->setText(m_userName);
131 void InfoTab::setMessageText(const QString &text)
133 if(m_messageText == text)
135 m_messageText = text;
136 m_messageLabel->setText(m_messageText);
139 void InfoTab::setAddress(const QString &addr)
141 if(m_address == addr)
144 m_addressLabel->setText(m_address);
147 void InfoTab::setTime(const QString &tim)
152 m_timeLabel->setText(m_time);
155 void InfoTab::messageUpdate()
157 emit launchMessageUpdate();
158 qDebug() << __PRETTY_FUNCTION__;
161 void InfoTab::updateFriendsStatus()
163 emit launchUpdateFriendsStatus();
164 qDebug() << __PRETTY_FUNCTION__;