27 */ |
30 */ |
28 NmMailboxListViewItem::NmMailboxListViewItem(QGraphicsItem *parent) |
31 NmMailboxListViewItem::NmMailboxListViewItem(QGraphicsItem *parent) |
29 : HbListViewItem(parent), |
32 : HbListViewItem(parent), |
30 mLayout(NULL) |
33 mLayout(NULL) |
31 { |
34 { |
|
35 NM_FUNCTION; |
32 } |
36 } |
33 |
37 |
34 /*! |
38 /*! |
35 Destructor |
39 Destructor |
36 */ |
40 */ |
37 NmMailboxListViewItem::~NmMailboxListViewItem() |
41 NmMailboxListViewItem::~NmMailboxListViewItem() |
38 { |
42 { |
|
43 NM_FUNCTION; |
39 } |
44 } |
40 |
45 |
41 /*! |
46 /*! |
42 Item creation |
47 Item creation |
43 */ |
48 */ |
44 HbListViewItem* NmMailboxListViewItem::createItem() |
49 HbListViewItem* NmMailboxListViewItem::createItem() |
45 { |
50 { |
|
51 NM_FUNCTION; |
|
52 |
46 return new NmMailboxListViewItem(*this); |
53 return new NmMailboxListViewItem(*this); |
47 } |
54 } |
48 |
55 |
49 /*! |
56 /*! |
50 update child items |
57 update child items |
51 */ |
58 */ |
52 void NmMailboxListViewItem::updateChildItems() |
59 void NmMailboxListViewItem::updateChildItems() |
53 { |
60 { |
|
61 NM_FUNCTION; |
|
62 |
54 // To create primitives |
63 // To create primitives |
55 HbListViewItem::updateChildItems(); |
64 HbListViewItem::updateChildItems(); |
56 |
65 |
57 EmailMailboxInfo mailboxInfo; |
66 EmailMailboxInfo mailboxInfo; |
58 |
67 |
59 NmMailboxMetaData *mailbox = |
68 NmMailboxMetaData *mailbox = |
60 modelIndex().data(Qt::DisplayRole).value<NmMailboxMetaData*>(); |
69 modelIndex().data(Qt::DisplayRole).value<NmMailboxMetaData*>(); |
61 if (mailbox){ |
70 |
|
71 HbLabel *textLabel = findChild<HbLabel *>(NmMailboxListViewItemName); |
|
72 HbLabel *icon = findChild<HbLabel *>(NmMailboxListViewItemIcon); |
|
73 |
|
74 if (mailbox && !textLabel && !icon){ |
62 mLayout = new QGraphicsLinearLayout(Qt::Horizontal, 0); |
75 mLayout = new QGraphicsLinearLayout(Qt::Horizontal, 0); |
63 mLayout->setContentsMargins(0,0,0,0); |
76 mLayout->setContentsMargins(0,0,0,0); |
64 |
77 |
65 HbLabel *mbIcon = new HbLabel(); |
78 HbLabel *mbIcon = new HbLabel(); |
66 mbIcon->setObjectName("MailboxListViewMailboxIcon"); |
79 mbIcon->setParent(this); |
|
80 mbIcon->setObjectName(NmMailboxListViewItemIcon); |
67 |
81 |
68 QString domainName = mailbox->address(); |
82 QString domainName = mailbox->address(); |
69 QString iconName = mailboxInfo.mailboxIcon(domainName); |
83 QString iconName = mailboxInfo.mailboxIcon(domainName); |
70 mbIcon->setIcon(HbIcon(iconName)); |
84 mbIcon->setIcon(HbIcon(iconName)); |
71 mbIcon->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); |
85 mbIcon->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); |
72 |
86 |
73 HbLabel *mbName = new HbLabel(); |
87 HbLabel *mbName = new HbLabel(); |
74 mbName->setObjectName("MailboxListViewMailboxName"); |
88 mbName->setParent(this); |
|
89 mbName->setObjectName(NmMailboxListViewItemName); |
75 mbName->setPlainText(mailbox->name()); |
90 mbName->setPlainText(mailbox->name()); |
76 mbName->setAlignment(Qt::AlignVCenter); |
91 mbName->setAlignment(Qt::AlignVCenter); |
77 mbName->setFontSpec(HbFontSpec(HbFontSpec::Primary)); |
92 mbName->setFontSpec(HbFontSpec(HbFontSpec::Primary)); |
78 mbName->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); |
93 mbName->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); |
79 |
94 |
80 mLayout->addItem(mbIcon); |
95 mLayout->addItem(mbIcon); |
81 mLayout->addItem(mbName); |
96 mLayout->addItem(mbName); |
82 mLayout->setItemSpacing(0,0); |
97 mLayout->setItemSpacing(0,0); |
83 |
98 |
84 setLayout(mLayout); // Ownership is transferred |
99 setLayout(mLayout); // Ownership is transferred |
|
100 } else if (mailbox) { |
|
101 |
|
102 if (textLabel) { |
|
103 textLabel->setPlainText(mailbox->name()); |
|
104 } |
|
105 |
|
106 QString iconName = mailboxInfo.mailboxIcon(mailbox->address()); |
|
107 if (icon && !iconName.isEmpty()) { |
|
108 icon->setIcon(HbIcon(iconName)); |
|
109 } |
|
110 |
85 } |
111 } |
86 } |
112 } |
87 |
113 |
88 /*! |
114 /*! |
89 boolean value indicating model index availability |
115 boolean value indicating model index availability |
90 */ |
116 */ |
91 bool NmMailboxListViewItem::canSetModelIndex(const QModelIndex &index) |
117 bool NmMailboxListViewItem::canSetModelIndex(const QModelIndex &index) |
92 { |
118 { |
|
119 NM_FUNCTION; |
|
120 |
93 Q_UNUSED(index); |
121 Q_UNUSED(index); |
94 return true; |
122 return true; |
95 } |
123 } |
96 |
124 |
97 /*! |
125 /*! |
98 polishEvent. Call to base class polish event. |
126 polishEvent. Call to base class polish event. |
99 */ |
127 */ |
100 void NmMailboxListViewItem::polishEvent() |
128 void NmMailboxListViewItem::polishEvent() |
101 { |
129 { |
|
130 NM_FUNCTION; |
|
131 |
102 QGraphicsWidget::polishEvent(); |
132 QGraphicsWidget::polishEvent(); |
103 } |
133 } |
104 |
134 |
105 /*! |
135 /*! |
106 paint. Paint function for line painting. |
136 paint. Paint function for line painting. |