diff -r 0ba2181d7c28 -r 76a2435edfd4 phonebookui/pbkcommonui/src/cntcompanyeditormodel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/pbkcommonui/src/cntcompanyeditormodel.cpp Fri Apr 16 14:53:18 2010 +0300 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +#include "cntcompanyeditormodel.h" +#include "cntdetailconst.h" +#include + +CntCompanyEditorModel::CntCompanyEditorModel(QContact* aContact) : + CntDetailEditorModel(aContact) +{ + QList orgList = mContact->details (); + if (orgList.isEmpty()) { + QContactOrganization organization; + orgList << organization; + } + + mCompany = orgList.first(); + + HbDataFormModelItem* organization = new HbDataFormModelItem(HbDataFormModelItem::TextItem, + qtTrId("Company")); + organization->setContentWidgetData("text", mCompany.name()); + organization->setContentWidgetData("maxLength", CNT_ORGANIZATION_MAXLENGTH); + + HbDataFormModelItem* jobTitle = new HbDataFormModelItem(HbDataFormModelItem::TextItem, qtTrId( + "Job title")); + jobTitle->setContentWidgetData("text", mCompany.title()); + jobTitle->setContentWidgetData("maxLength", CNT_JOBTITLE_MAXLENGTH); + + HbDataFormModelItem* department = new HbDataFormModelItem(HbDataFormModelItem::TextItem, + qtTrId("Department")); + department->setContentWidgetData("text", mCompany.department()); + department->setContentWidgetData("maxLength", CNT_DEPARTMENT_MAXLENGTH); + + HbDataFormModelItem* assistant = new HbDataFormModelItem(HbDataFormModelItem::TextItem, qtTrId( + "Assistant name")); + assistant->setContentWidgetData("text", mCompany.assistantName()); + assistant->setContentWidgetData("maxLength", CNT_ASSISTANT_MAXLENGTH); + + HbDataFormModelItem* root = invisibleRootItem(); + appendDataFormItem(organization, root); + appendDataFormItem(jobTitle, root); + appendDataFormItem(department, root); + appendDataFormItem(assistant, root); +} + +CntCompanyEditorModel::~CntCompanyEditorModel() +{ +} + +void CntCompanyEditorModel::saveContactDetails() +{ + HbDataFormModelItem* root = invisibleRootItem(); + if (!root->childAt(0)->contentWidgetData("text").toString().isEmpty()) + mCompany.setName( root->childAt(0)->contentWidgetData("text").toString() ); + else + mCompany.setName(QString()); + if (!root->childAt(1)->contentWidgetData("text").toString().isEmpty()) + mCompany.setTitle( root->childAt(1)->contentWidgetData("text").toString() ); + else + mCompany.setTitle(QString()); + if (!root->childAt(2)->contentWidgetData("text").toString().isEmpty()) + mCompany.setDepartment( root->childAt(2)->contentWidgetData("text").toString().split(", ") ); + else + mCompany.setDepartment(QStringList()); + if (!root->childAt(3)->contentWidgetData("text").toString().isEmpty()) + mCompany.setAssistantName( root->childAt(3)->contentWidgetData("text").toString() ); + else + mCompany.setAssistantName(QString()); + + if ( !mCompany.isEmpty() ) { + mContact->saveDetail( &mCompany ); + } +} + +// End of File