phonebookui/cntcommonui/contacteditors/cntdetailpopup.cpp
author hgs
Tue, 21 Sep 2010 17:07:25 +0300
changeset 72 6abfb1094884
child 81 640d30f4fb64
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "cntdetailpopup.h"
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include <hblabel.h>
hgs
parents:
diff changeset
    21
#include <QStandardItemModel>
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
CntDetailPopup::CntDetailPopup(QGraphicsItem *parent,  CntViewIdList aList ):
hgs
parents:
diff changeset
    24
    HbSelectionDialog(parent),
hgs
parents:
diff changeset
    25
    mListModel(NULL),
hgs
parents:
diff changeset
    26
    mViewIdList( aList )
hgs
parents:
diff changeset
    27
{
hgs
parents:
diff changeset
    28
    mListModel = new QStandardItemModel(this);
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
    addListItem("qtg_small_mobile", hbTrId("txt_phob_list_number"), phoneNumberEditorView );
hgs
parents:
diff changeset
    31
    addListItem("qtg_small_email", hbTrId("txt_phob_list_email"), emailEditorView );
hgs
parents:
diff changeset
    32
    addListItem("qtg_small_url_address", hbTrId("txt_phob_list_url"), urlEditorView);
hgs
parents:
diff changeset
    33
    addListItem("qtg_small_location", hbTrId("txt_phob_list_address"), addressEditorView );
hgs
parents:
diff changeset
    34
    addListItem("qtg_small_note", hbTrId("txt_phob_list_note"), noteEditorView);
hgs
parents:
diff changeset
    35
    addListItem("qtg_small_sound", hbTrId("txt_phob_list_personal_ringing_tone"), ringToneFetcherView );
hgs
parents:
diff changeset
    36
    addListItem("qtg_small_calendar", hbTrId("txt_phob_list_date"), dateEditorView);
hgs
parents:
diff changeset
    37
    addListItem("qtg_small_company_details", hbTrId("txt_phob_list_company_details"), companyEditorView);
hgs
parents:
diff changeset
    38
    addListItem("qtg_small_family", hbTrId("txt_phob_list_family"), familyDetailEditorView);
hgs
parents:
diff changeset
    39
    
hgs
parents:
diff changeset
    40
    HbLabel *label = new HbLabel(this);    
hgs
parents:
diff changeset
    41
    label->setPlainText(hbTrId("txt_phob_title_add_field"));
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
    setHeadingWidget(label);
hgs
parents:
diff changeset
    44
    setTimeout(HbDialog::NoTimeout);
hgs
parents:
diff changeset
    45
    setDismissPolicy(HbDialog::NoDismiss);
hgs
parents:
diff changeset
    46
    setAttribute(Qt::WA_DeleteOnClose, true);
hgs
parents:
diff changeset
    47
    setModal(true);
hgs
parents:
diff changeset
    48
    setSelectionMode(HbAbstractItemView::NoSelection);
hgs
parents:
diff changeset
    49
    setModel(mListModel);
hgs
parents:
diff changeset
    50
}
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
CntDetailPopup::~CntDetailPopup()
hgs
parents:
diff changeset
    53
{
hgs
parents:
diff changeset
    54
    
hgs
parents:
diff changeset
    55
}
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
void CntDetailPopup::selectDetail( CntViewIdList aList, QObject *receiver, const char *member  )
hgs
parents:
diff changeset
    58
{
hgs
parents:
diff changeset
    59
    CntDetailPopup *popup = new CntDetailPopup( NULL, aList );
hgs
parents:
diff changeset
    60
    
hgs
parents:
diff changeset
    61
    popup->open(receiver, member);
hgs
parents:
diff changeset
    62
}
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
void CntDetailPopup::addListItem(QString aIcon, QString label, int aId )
hgs
parents:
diff changeset
    65
{
hgs
parents:
diff changeset
    66
    if ( !mViewIdList.contains(aId) )
hgs
parents:
diff changeset
    67
    {
hgs
parents:
diff changeset
    68
        QStandardItem *labelItem = new QStandardItem(label);
hgs
parents:
diff changeset
    69
        labelItem->setData(HbIcon(aIcon), Qt::DecorationRole);
hgs
parents:
diff changeset
    70
        labelItem->setData(aId, Qt::UserRole);
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
        mListModel->appendRow(labelItem);
hgs
parents:
diff changeset
    73
    }
hgs
parents:
diff changeset
    74
}