diff -r 2f8f8080a020 -r ebdbd102c78a phoneplugins/phoneindicatorplugin/src/phoneindicatorinterface.cpp --- a/phoneplugins/phoneindicatorplugin/src/phoneindicatorinterface.cpp Mon May 03 12:31:11 2010 +0300 +++ b/phoneplugins/phoneindicatorplugin/src/phoneindicatorinterface.cpp Fri May 14 15:51:57 2010 +0300 @@ -17,18 +17,22 @@ #include "Phoneindicatorinterface.h" #include "phoneindicators.h" + #include #include #ifdef Q_OS_SYMBIAN #include #include +#include +#include + #endif PhoneIndicatorInterface::PhoneIndicatorInterface( const QString &indicatorType, int typeIndex, Interaction interaction) : - HbIndicatorInterface( indicatorType, IndicatorInfos[typeIndex].priority, + HbIndicatorInterface( indicatorType, HbIndicatorInterface::NotificationCategory, (interaction == InteractionNone) ? NoInteraction : InteractionActivated), m_typeIndex(typeIndex), m_interaction(interaction), @@ -62,6 +66,16 @@ #endif } break; + case SwitchBackToCall: { +#ifdef Q_OS_SYMBIAN + RWsSession& wsSession = CEikonEnv::Static()->WsSession(); + TApaTaskList taskList( wsSession ); + const TUid KUidPhoneApp = { 0x100058B3 }; // Phone application + TApaTask task = taskList.FindApp(KUidPhoneApp); + task.BringToForeground(); +#endif + } + break; case Deactivate: emit deactivate(); break; @@ -81,7 +95,7 @@ return map.value( (QVariant(PrimaryTextRole)).toString()).toString(); } else if (role == SecondaryTextRole ) { return map.value( (QVariant(SecondaryTextRole)).toString()).toString(); - } else if (role == IconNameRole) { + } else if (role == MonoDecorationNameRole) { return m_icon; } else if (role == DecorationNameRole) { return map.value( (QVariant(DecorationNameRole)).toString()).toString(); @@ -93,7 +107,7 @@ { bool handled(false); switch (type) { - // TODO: + case RequestActivate: if (m_parameter != parameter) { m_parameter = parameter;