--- a/phonebookui/pbkcommonui/src/cnteditview_p.cpp Fri May 14 15:42:23 2010 +0300
+++ b/phonebookui/pbkcommonui/src/cnteditview_p.cpp Thu May 27 12:45:19 2010 +0300
@@ -34,6 +34,7 @@
#include <hbmenu.h>
#include <hbframebackground.h>
#include <hbparameterlengthlimiter.h>
+#include <hbnotificationdialog.h>
const char *CNT_EDIT_XML = ":/xml/contacts_ev.docml";
@@ -122,8 +123,8 @@
setOrientation(window->orientation());
}
- QVariant selectedAction = mArgs.value( EMyCard );
- QString myCard = selectedAction.toString();
+ QString myCard = mArgs.value( EMyCard ).toString();
+ QString selectedAction = mArgs.value( ESelectedAction ).toString();
QVariant contact = aArgs.value( ESelectedContact );
mContact = new QContact( contact.value<QContact>() );
@@ -182,6 +183,21 @@
void CntEditViewPrivate::deactivate()
{
}
+
+void CntEditViewPrivate::openView(CntViewParameters& viewParams)
+{
+ QList<int> keys = viewParams.keys();
+ for(int i = 0;i < keys.count();i++)
+ {
+ mArgs.insert(keys.at(i), viewParams.value(keys.at(i)));
+ }
+ mMgr->changeView( mArgs );
+}
+
+void CntEditViewPrivate::requestRefresh()
+{
+ mModel->refreshExtensionItems();
+}
void CntEditViewPrivate::activated( const QModelIndex& aIndex )
{
@@ -189,8 +205,7 @@
QVariant type = item->data( ERoleItemType );
if ( type == QVariant(ETypeUiExtension) )
{
- item->activated();
- mModel->refreshExtensionItems( aIndex );
+ item->activated(this);
}
else
{
@@ -214,8 +229,7 @@
// Ui extensions handle the long press by themselves.
if ( type == QVariant(ETypeUiExtension) )
{
- item->longPressed( aCoords );
- mModel->refreshExtensionItems( aItem->modelIndex() );
+ item->longPressed( aCoords, this );
}
// only detail items are able to show context specific menu
else
@@ -235,7 +249,7 @@
CntEditViewItem* item = mModel->itemAt( index );
if ( aAction )
{
- switch ( aAction->commandRole() )
+ switch ( aAction->property("menu").toInt() )
{
case HbAction::EditRole:
{
@@ -382,12 +396,25 @@
{
mgr->setSelfContactId( mContact->localId() );
}
+
+ emit contactUpdated(success);
+
+ QString name = mgr->synthesizedDisplayLabel( *mContact );
+
+ if ( success )
+ {
+ HbNotificationDialog::launchDialog(HbParameterLengthLimiter("txt_phob_dpophead_contact_1_saved").arg(name));
+ }
+ else
+ {
+ //TODO: localization is missing
+ HbNotificationDialog::launchDialog(qtTrId("SAVING FAILED!"));
+ }
+
QVariant var;
var.setValue(*mContact);
mArgs.insert(ESelectedContact, var);
- mArgs.insert( ESelectedAction, success ? "save" : "failed" );
- emit contactUpdated(success);
- }
+ }
}
else
{
@@ -400,24 +427,28 @@
bool success = mgr->removeContact( mContact->localId() );
emit contactRemoved(success);
- if ( success )
- {
- mArgs.insert( ESelectedAction, "delete" );
- QVariant contact;
- contact.setValue( c );
- mArgs.insert( ESelectedContact, contact );
- }
}
else
{
bool success = mgr->saveContact(mContact);
- mArgs.insert( ESelectedAction, success ? "save" : "failed");
+
+ emit contactUpdated( success );
+
+ QString name = mgr->synthesizedDisplayLabel( *mContact );
+
+ if ( success )
+ {
+ HbNotificationDialog::launchDialog(HbParameterLengthLimiter("txt_phob_dpophead_contacts_1_updated").arg(name));
+ }
+ else
+ {
+ //TODO: localization is missing
+ HbNotificationDialog::launchDialog(qtTrId("SAVING FAILED!"));
+ }
QVariant var;
var.setValue(*mContact);
- mArgs.insert(ESelectedContact, var);
-
- emit contactUpdated( success );
+ mArgs.insert(ESelectedContact, var);
}
}
}
@@ -502,9 +533,8 @@
def == QContactUrl::DefinitionName ||
def == QContactNote::DefinitionName )
{
- HbAction* add = menu->addAction(HbParameterLengthLimiter(
- map->getContactEditorAddLocString(detail.definitionName(), "")));
- add->setCommandRole( HbAction::NewRole );
+ HbAction* add = menu->addAction(map->getContactEditorAddLocString(detail.definitionName(), ""));
+ add->setProperty( "menu", HbAction::NewRole );
add->setData( data );
}
@@ -532,18 +562,19 @@
context = QString();
subtype = detail.definitionName();
}
- HbAction* edit = menu->addAction(HbParameterLengthLimiter(map->getContactEditorEditLocString(subtype, context)));
- HbAction* del = menu->addAction(HbParameterLengthLimiter(map->getContactEditorDelLocString(subtype, context)));
- edit->setCommandRole( HbAction::EditRole );
- del->setCommandRole( HbAction::DeleteRole );
- edit->setData( data );
- del->setData( data );
+
+ HbAction* edit = menu->addAction(hbTrId("txt_common_menu_edit"));
+ HbAction* del = menu->addAction(map->getContactEditorDelLocString(subtype, context));
+ edit->setProperty( "menu", HbAction::EditRole );
+ del->setProperty( "menu" , HbAction::DeleteRole );
+ edit->setData( data );
+ del->setData( data );
}
else
{
- HbAction* edit = menu->addAction(HbParameterLengthLimiter(map->getContactEditorEditLocString(detail.definitionName(), "")));
- edit->setCommandRole( HbAction::EditRole );
- edit->setData( data );
+ HbAction* add = menu->addAction(map->getContactEditorAddLocString(detail.definitionName(), ""));
+ add->setProperty( "menu", HbAction::NewRole );
+ add->setData( data );
}
return menu;