#include "../user/user.h"
#include "userinfo.h"
-const int BACKGROUND_TOP_HEIGHT = 20;
+const int BACKGROUND_WIDTH = 240; ///< Width for item
+const int BACKGROUND_TOP_HEIGHT = 16;
const int BACKGROUND_BOTTOM_HEIGHT = 15;
-const QColor COLOR_GRAY = QColor(152, 152, 152); ///< Gray color
-const QFont NOKIA_FONT_NORMAL = QFont("Nokia Sans", 18, QFont::Normal); ///< Normal font
-const QFont NOKIA_FONT_SMALL = QFont("Nokia Sans", 13, QFont::Normal); ///< Small font
-const int ICON_HEIGHT = 24; ///< Icon height
-const int ICON_WIDTH = 24; ///< Icon width
-const int IMAGE_HEIGHT = 60; ///< Friend image height
-const int IMAGE_WIDTH = 60; ///< Friend image width
-const int ITEM_MIN_WIDTH = 245; ///< Minimum width for item
-const int MARGIN = 5; ///< Icon margin
+const QColor COLOR_GRAY = QColor(152, 152, 152); ///< Gray color
+const QFont NOKIA_FONT_NORMAL = QFont("Nokia Sans", 18, QFont::Normal); ///< Normal font
+const QFont NOKIA_FONT_SMALL = QFont("Nokia Sans", 13, QFont::Normal); ///< Small font
+const int ICON_HEIGHT = 24; ///< Icon height
+const int ICON_WIDTH = 24; ///< Icon width
+const int IMAGE_HEIGHT = 60; ///< Profile image height
+const int IMAGE_WIDTH = 60; ///< Profile image width
+const int MARGIN = 5; ///< Icon margin
const int MOUSE_PRESS_AREA_WIDTH = 20; ///< Area width for item height toggling
const int MOUSE_PRESS_AREA_HEIGHT = 20; ///< Area height for item height toggling
*
* @brief All label's maximum width
*/
-const int LABEL_MAX_WIDTH = ITEM_MIN_WIDTH - 3*MARGIN - ICON_WIDTH;
+const int LABEL_MAX_WIDTH = BACKGROUND_WIDTH - 3 * MARGIN - ICON_WIDTH + 130;
/**
* @brief Name label's maximum width
{
QVBoxLayout *verticalLayout = new QVBoxLayout(this);
verticalLayout->setContentsMargins(MARGIN * 2, 0, MARGIN * 2, MARGIN * 2);
-// verticalLayout->setSizeConstraint(QLayout::SetFixedSize);
verticalLayout->setSpacing(0);
this->setLayout(verticalLayout);
- QVBoxLayout *topLayout = new QVBoxLayout(this);
- topLayout->setMargin(0);
- topLayout->setSpacing(0);
-
- QFormLayout *infoLayout = new QFormLayout(this);
+ QFormLayout *infoLayout = new QFormLayout();
infoLayout->setMargin(0);
infoLayout->setSpacing(0);
- QHBoxLayout *buttonLayout = new QHBoxLayout(this);
+ QHBoxLayout *buttonLayout = new QHBoxLayout();
buttonLayout->setMargin(0);
buttonLayout->setSpacing(0);
m_imageLabel->setFixedSize(IMAGE_WIDTH, IMAGE_HEIGHT);
m_nameLabel = new QLabel(this);
+ m_nameLabel->setWordWrap(true);
+ m_nameLabel->setFixedHeight(IMAGE_HEIGHT);
m_statusTextLabel = new QLabel(this);
m_statusTextLabel->setWordWrap(true);
infoLayout->addRow(compassLabel, m_locationLabel);
infoLayout->addRow(clockLabel, m_updatedLabel);
-// verticalLayout->addWidget(m_imageLabel, 0, Qt::AlignHCenter);
-// verticalLayout->addWidget(m_nameLabel, 0, Qt::AlignHCenter);
- topLayout->addWidget(m_imageLabel, 0, Qt::AlignHCenter);
- topLayout->addWidget(m_nameLabel, 0, Qt::AlignHCenter);
- verticalLayout->addLayout(topLayout);
+ verticalLayout->addWidget(m_imageLabel, 0, Qt::AlignHCenter);
+ verticalLayout->addWidget(m_nameLabel, 0, Qt::AlignHCenter);
verticalLayout->addLayout(infoLayout, 1);
verticalLayout->addLayout(buttonLayout);
connect(updateFriendsButton,SIGNAL(clicked()),
this, SIGNAL(refreshUserData()));
- setFixedWidth(235);
+ this->setFixedWidth(BACKGROUND_WIDTH);
this->setFont(NOKIA_FONT_SMALL);
m_nameLabel->setFont(NOKIA_FONT_NORMAL);
namePalette.setColor(QPalette::Foreground, Qt::white);
m_nameLabel->setPalette(namePalette);
- m_backgroundTopImage.load(":/res/images/list_item_top.png");
- m_backgroundMiddleImage.load(":/res/images/list_item_middle.png");
- m_backgroundBottomImage.load(":/res/images/list_item_bottom.png");
-
- qWarning() << "Widget width:" << size().width();
- qWarning() << "VLay width:" << verticalLayout->sizeHint().width();
+ this->m_backgroundTopImage.load(":/res/images/user_info_item_top.png");
+ this->m_backgroundMiddleImage.load(":/res/images/user_info_item_middle.png");
+ this->m_backgroundBottomImage.load(":/res/images/user_info_item_bottom.png");
}
void UserInfo::setUserName(const QString &name)
setText(false);
}
-void UserInfo::setAvatar(const QPixmap &image)
+void UserInfo::setProfileImage(const QPixmap &image)
{
qDebug() << __PRETTY_FUNCTION__;
setText(false);
}
-void UserInfo::setAddress(const QString &addr)
+void UserInfo::setAddress(const QString &address)
{
qDebug() << __PRETTY_FUNCTION__;
- m_locationLabel->setText(addr);
+ m_locationLabel->setText(address);
}
-void UserInfo::setTime(const QString &tim)
+void UserInfo::setTime(const QString &time)
{
qDebug() << __PRETTY_FUNCTION__;
- m_updatedLabel->setText(tim);
+ m_updatedLabel->setText(time);
}
QString UserInfo::shortenText(const QLabel *label, const QString &text, int textMaxWidth)
m_statusTextLabel->setText(m_messageText);
}
else {
- m_nameLabel->setText(shortenText(m_nameLabel, m_userName, NAME_LABEL_MAX_WIDTH));
+ m_nameLabel->setText(shortenText(m_nameLabel, m_userName, LABEL_MAX_WIDTH));
m_statusTextLabel->setText(shortenText(m_statusTextLabel, m_messageText,
LABEL_MAX_WIDTH));
}
QPainter painter(this);
- QRect topRect = QRect(0, 0, ITEM_MIN_WIDTH, BACKGROUND_TOP_HEIGHT);
- QRect middleRect = QRect(0, topRect.bottom(), ITEM_MIN_WIDTH,
+ QRect topRect = QRect(0, MARGIN, BACKGROUND_WIDTH, BACKGROUND_TOP_HEIGHT);
+ QRect middleRect = QRect(0, topRect.bottom(), BACKGROUND_WIDTH,
height() - BACKGROUND_TOP_HEIGHT - BACKGROUND_BOTTOM_HEIGHT);
- QRect bottomRect = QRect(topRect.left(), middleRect.bottom(), ITEM_MIN_WIDTH,
+ QRect bottomRect = QRect(topRect.left(), middleRect.bottom(), BACKGROUND_WIDTH,
BACKGROUND_BOTTOM_HEIGHT);
painter.drawPixmap(topRect, m_backgroundTopImage);
painter.drawPixmap(middleRect, m_backgroundMiddleImage);
painter.drawPixmap(bottomRect, m_backgroundBottomImage);
-
-// painter.setPen(Qt::white);
-// painter.drawRect(rect().x(), rect().y(), rect().width() - 1, rect().height() - 1);
}
void UserInfo::mousePressEvent(QMouseEvent *event)
: SidePanel(parent)
{
qDebug() << __PRETTY_FUNCTION__;
+
setType(SidePanel::UserPanel);
m_userInfo = new UserInfo(this);
- m_panelVBox->addWidget(m_userInfo, 0, Qt::AlignCenter);
+
+ m_userInfoView = new QWidget(this);
+ m_userViewLayout = new QVBoxLayout(m_userInfoView);
+ m_userViewLayout->setMargin(0);
+ m_userViewLayout->setSpacing(0);
+ m_userViewLayout->setStretch(0, 0);
+ m_userViewLayout->setSizeConstraint(QLayout::SetFixedSize);
+ m_userViewLayout->addWidget(m_userInfo);
+
+ QScrollArea *userInfoScroll = new QScrollArea(this);
+ userInfoScroll->setWidgetResizable(true);
+ userInfoScroll->setWidget(m_userInfoView);
+ userInfoScroll->setAlignment(Qt::AlignVCenter);
+ userInfoScroll->viewport()->setAutoFillBackground(false);
+ userInfoScroll->widget()->setAutoFillBackground(false);
+ m_panelVBox->addWidget(userInfoScroll);
connect(m_userInfo,SIGNAL(requestReverseGeo()),
this, SIGNAL(requestReverseGeo()));
void UserInfoPanel::userDataReceived(User *user)
{
- qDebug() << __PRETTY_FUNCTION__ << " " << user->name();
+ qDebug() << __PRETTY_FUNCTION__;
- m_userInfo->setUserName(user->name());
- m_userInfo->setAvatar(user->profileImage());
+// m_userInfo->setUserName(user->name());
+ m_userInfo->setUserName("pirkko-liisapaula Marjamaa-Pulkkinen");
+ m_userInfo->setProfileImage(user->profileImage());
m_userInfo->setMessageText(user->note());
m_userInfo->setAddress(user->address());
m_userInfo->setTime(user->timestamp());