diff -r 64e38f08e49c -r 47d84de1c893 emailuis/nmsettingui/src/nmmailboxselectionview.cpp --- a/emailuis/nmsettingui/src/nmmailboxselectionview.cpp Fri Sep 17 08:27:21 2010 +0300 +++ b/emailuis/nmsettingui/src/nmmailboxselectionview.cpp Mon Oct 04 00:05:37 2010 +0300 @@ -17,10 +17,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -52,7 +52,7 @@ mRefreshForm(false) { NM_FUNCTION; - + QScopedPointer signalMapper(new QSignalMapper()); // Connect the form's activated signal. @@ -84,7 +84,7 @@ NmMailboxSelectionView::~NmMailboxSelectionView() { NM_FUNCTION; - + delete mItemDataHelper; delete mModel; delete mSignalMapper; @@ -100,7 +100,7 @@ void NmMailboxSelectionView::buttonClick(QObject *item) { NM_FUNCTION; - + NmMailboxEntryItem *entryItem = static_cast(item); const NmId &id = entryItem->id(); const QString &name = entryItem->text(); @@ -108,7 +108,7 @@ } /*! - Handels the dataform's activated signal when item is shown. + Handels the dataform's activated signal when item is shown. Maps the signal/mailbox item for the buttons. \param index Data model index. @@ -117,23 +117,23 @@ void NmMailboxSelectionView::itemActivate(const QModelIndex &index) { NM_FUNCTION; - + HbDataForm *form = qobject_cast(widget()); HbDataFormModel *model = static_cast(form->model()); NmMailboxEntryItem *item = static_cast(model->itemFromIndex(index)); - - if (!mSignalMapper->mapping(item)) { - - HbDataFormViewItem *viewItem = + + if (item && !mSignalMapper->mapping(item)) { + + HbDataFormViewItem *viewItem = static_cast(form->itemByIndex(index)); - HbPushButton *button = + HbPushButton *button = static_cast(viewItem->dataItemContentWidget()); - + connect(button, SIGNAL(pressed()), mSignalMapper, SLOT(map())); - + mSignalMapper->setMapping(button, item); - - connect(mSignalMapper, SIGNAL(mapped(QObject *)), + + connect(mSignalMapper, SIGNAL(mapped(QObject *)), this, SLOT(buttonClick(QObject *)), Qt::UniqueConnection); } } @@ -147,7 +147,7 @@ void NmMailboxSelectionView::populateDataModel(const QList &mailboxList) { NM_FUNCTION; - + mModel->clear(); foreach (NmMailbox *mailbox, mailboxList) { NmId id = mailbox->id(); @@ -158,7 +158,9 @@ item.take(); } HbDataForm *form = qobject_cast(widget()); - form->setModel(mModel); + if (form) { + form->setModel(mModel); + } } /*! @@ -171,7 +173,7 @@ NmSettings::MailboxEventType type) { NM_FUNCTION; - + switch (type) { case NmSettings::MailboxDeleted: { // Search correct item. @@ -210,9 +212,9 @@ QVariant property, QVariant value) { NM_FUNCTION; - + // Search correct item. - NmMailboxEntryItem *entryItem = 0; + NmMailboxEntryItem *entryItem = NULL; const int itemCount(mModel->rowCount()); for (int itemIndex(0); itemIndex < itemCount; ++itemIndex) { entryItem = static_cast(