--- a/emailuis/nmailui/src/nmmailboxlistviewitem.cpp Mon May 24 21:02:02 2010 +0300
+++ b/emailuis/nmailui/src/nmmailboxlistviewitem.cpp Fri May 28 13:56:43 2010 +0300
@@ -17,6 +17,9 @@
#include "nmuiheaders.h"
+const QString NmMailboxListViewItemIcon = "MailboxListViewMailboxIcon";
+const QString NmMailboxListViewItemName = "MailboxListViewMailboxName";
+
/*!
\class NmMailboxListViewItem
\brief Mailbox list view item inherited from HbListViewItem
@@ -29,6 +32,7 @@
: HbListViewItem(parent),
mLayout(NULL)
{
+ NM_FUNCTION;
}
/*!
@@ -36,6 +40,7 @@
*/
NmMailboxListViewItem::~NmMailboxListViewItem()
{
+ NM_FUNCTION;
}
/*!
@@ -43,6 +48,8 @@
*/
HbListViewItem* NmMailboxListViewItem::createItem()
{
+ NM_FUNCTION;
+
return new NmMailboxListViewItem(*this);
}
@@ -51,6 +58,8 @@
*/
void NmMailboxListViewItem::updateChildItems()
{
+ NM_FUNCTION;
+
// To create primitives
HbListViewItem::updateChildItems();
@@ -58,12 +67,17 @@
NmMailboxMetaData *mailbox =
modelIndex().data(Qt::DisplayRole).value<NmMailboxMetaData*>();
- if (mailbox){
+
+ HbLabel *textLabel = findChild<HbLabel *>(NmMailboxListViewItemName);
+ HbLabel *icon = findChild<HbLabel *>(NmMailboxListViewItemIcon);
+
+ if (mailbox && !textLabel && !icon){
mLayout = new QGraphicsLinearLayout(Qt::Horizontal, 0);
mLayout->setContentsMargins(0,0,0,0);
HbLabel *mbIcon = new HbLabel();
- mbIcon->setObjectName("MailboxListViewMailboxIcon");
+ mbIcon->setParent(this);
+ mbIcon->setObjectName(NmMailboxListViewItemIcon);
QString domainName = mailbox->address();
QString iconName = mailboxInfo.mailboxIcon(domainName);
@@ -71,7 +85,8 @@
mbIcon->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
HbLabel *mbName = new HbLabel();
- mbName->setObjectName("MailboxListViewMailboxName");
+ mbName->setParent(this);
+ mbName->setObjectName(NmMailboxListViewItemName);
mbName->setPlainText(mailbox->name());
mbName->setAlignment(Qt::AlignVCenter);
mbName->setFontSpec(HbFontSpec(HbFontSpec::Primary));
@@ -82,6 +97,17 @@
mLayout->setItemSpacing(0,0);
setLayout(mLayout); // Ownership is transferred
+ } else if (mailbox) {
+
+ if (textLabel) {
+ textLabel->setPlainText(mailbox->name());
+ }
+
+ QString iconName = mailboxInfo.mailboxIcon(mailbox->address());
+ if (icon && !iconName.isEmpty()) {
+ icon->setIcon(HbIcon(iconName));
+ }
+
}
}
@@ -90,6 +116,8 @@
*/
bool NmMailboxListViewItem::canSetModelIndex(const QModelIndex &index)
{
+ NM_FUNCTION;
+
Q_UNUSED(index);
return true;
}
@@ -99,6 +127,8 @@
*/
void NmMailboxListViewItem::polishEvent()
{
+ NM_FUNCTION;
+
QGraphicsWidget::polishEvent();
}
@@ -110,6 +140,8 @@
const QStyleOptionGraphicsItem *option,
QWidget *widget)
{
+ NM_FUNCTION;
+
Q_UNUSED(option);
Q_UNUSED(widget);
Q_UNUSED(painter);