messagingfw/senduiservices/src/SendUiImpl.cpp
branchRCL_3
changeset 59 d1d846af7341
parent 46 d51193d814ea
equal deleted inserted replaced
49:002ade1da91c 59:d1d846af7341
  1363                 }
  1363                 }
  1364             }
  1364             }
  1365         }
  1365         }
  1366     return appendEmail;
  1366     return appendEmail;
  1367     }
  1367     }
  1368 // -----------------------------------------------------------------------------
       
  1369 // AddTypedMenuItemToMenuPaneL
       
  1370 //
       
  1371 // No menu item is added, if services are not found. This can happen if 
       
  1372 // asyncronous sending service update is not yet finished.
       
  1373 // To inform caller about the API result, aResult param is added.
       
  1374 // so that caller application will know that its request is not succesfully 
       
  1375 // completed due to above reason.
       
  1376 // -----------------------------------------------------------------------------
       
  1377 //
       
  1378 void CSendUiImpl::AddTypedMenuItemToMenuPaneL(
       
  1379     TBool&                      aResult,
       
  1380     CSendUi::TSendUiMenuType    aMenuType,
       
  1381     CEikMenuPane&               aMenuPane,
       
  1382     TInt                        aIndex,
       
  1383     TInt                        aCommandId,
       
  1384     TSendingCapabilities        aRequiredCapabilities)
       
  1385     {
       
  1386     TInt i(0);
       
  1387     TBuf<KTitleBufLength> menuItemName;
       
  1388     aResult=EFalse;
       
  1389     
       
  1390      // Read the resources
       
  1391     aMenuType == CSendUi::ESendMenu ? 
       
  1392         i = R_SENDUI_MENUITEM_SEND : 
       
  1393         i = R_SENDUI_MENUITEM_WRITE; // CSendUi::EWriteMenu
       
  1394         
       
  1395     iCoeEnv->ReadResourceL( menuItemName, i );
       
  1396   
       
  1397     for ( i = 0; i < iSendingServices.Count(); i++ )
       
  1398     {
       
  1399     TUid serviceUid = iSendingServices[i]->ServiceId();
       
  1400     if ( QueryCapabilities( i, aRequiredCapabilities ) )
       
  1401         {
       
  1402         CEikMenuPaneItem::SData data;
       
  1403         data.iCascadeId = NULL;
       
  1404         data.iText = menuItemName;
       
  1405         data.iCommandId = aCommandId;
       
  1406         data.iFlags = 0;
       
  1407 
       
  1408         if ( aIndex == aMenuPane.NumberOfItemsInPane() )
       
  1409             {
       
  1410             aMenuPane.AddMenuItemL( data );
       
  1411             }
       
  1412         else
       
  1413             {
       
  1414             aMenuPane.InsertMenuItemL( data, aIndex );
       
  1415             }
       
  1416             
       
  1417         aResult = ETrue;
       
  1418         break;
       
  1419         }
       
  1420     }
       
  1421     // Hide menu item if sending is already in progress.
       
  1422     if ( aResult )
       
  1423         {
       
  1424         aMenuPane.SetItemDimmed( aCommandId, iIsSending);
       
  1425         }    
       
  1426     }
       
  1427 // end of file
  1368 // end of file
  1428 
  1369