32 #include <CMessageData.h> // for CMessageData |
32 #include <CMessageData.h> // for CMessageData |
33 |
33 |
34 #include <commonphoneparser.h> // Phonenumber parser |
34 #include <commonphoneparser.h> // Phonenumber parser |
35 #include <SendUiConsts.h> // Mtm uids |
35 #include <SendUiConsts.h> // Mtm uids |
36 |
36 |
37 #include <FavouritesLimits.h> // KFavouritesMaxUrl |
|
38 #include <FavouritesItem.h> // for CBookmarkItem |
|
39 |
|
40 #include <FavouritesDb.h> |
|
41 |
|
42 #include <apgcli.h> // RApaLsSession for WMLBrowser launch |
37 #include <apgcli.h> // RApaLsSession for WMLBrowser launch |
43 #include <apgtask.h> |
38 #include <apgtask.h> |
44 |
39 |
45 #ifndef RD_VIRTUAL_PHONEBOOK |
40 #ifndef RD_VIRTUAL_PHONEBOOK |
46 #include <CPbkContactEngine.h> // Phonebook Engine |
41 #include <CPbkContactEngine.h> // Phonebook Engine |
1172 // Scheme handler can handle this |
1164 // Scheme handler can handle this |
1173 } |
1165 } |
1174 |
1166 |
1175 void CFindItemMenu::AddToBookmarkL() |
1167 void CFindItemMenu::AddToBookmarkL() |
1176 { |
1168 { |
1177 // Create an item |
|
1178 CFavouritesItem* item = CFavouritesItem::NewLC(); |
|
1179 item->SetParentFolder( KFavouritesRootUid ); |
|
1180 item->SetType( CFavouritesItem::EItem ); |
|
1181 // Read default name from resources |
1169 // Read default name from resources |
1182 RConeResourceLoader ldr( *iCoeEnv ); |
1170 RConeResourceLoader ldr( *iCoeEnv ); |
1183 |
1171 |
1184 TFileName dialogResource( KDialogResourceName ); |
1172 TFileName dialogResource( KDialogResourceName ); |
1185 |
1173 |
1197 CAknTextQueryDialog* dlg = CAknTextQueryDialog::NewL( retName ); |
1185 CAknTextQueryDialog* dlg = CAknTextQueryDialog::NewL( retName ); |
1198 dlg->SetMaxLength( KMaxBookmarkNameLength ); |
1186 dlg->SetMaxLength( KMaxBookmarkNameLength ); |
1199 if ( !dlg->ExecuteLD( R_FINDITEM_BOOKMARK_QUERY_DIALOG ) ) |
1187 if ( !dlg->ExecuteLD( R_FINDITEM_BOOKMARK_QUERY_DIALOG ) ) |
1200 { |
1188 { |
1201 // User press cancel - do not add bookmark |
1189 // User press cancel - do not add bookmark |
1202 CleanupStack::PopAndDestroy( 3 ); // item, defaultName, resourceLoader |
1190 CleanupStack::PopAndDestroy( 2 ); // defaultName, resourceLoader |
1203 return; |
1191 return; |
1204 } |
1192 } |
1205 |
|
1206 item->SetNameL( retName ); |
|
1207 item->SetUrlL( iAutomaticFind->CurrentItemExt().iItemDescriptor->Des() ); |
|
1208 |
|
1209 RFavouritesSession sess; |
|
1210 RFavouritesDb db; |
|
1211 |
|
1212 User::LeaveIfError( sess.Connect() ); |
|
1213 CleanupClosePushL<RFavouritesSession>( sess ); |
|
1214 User::LeaveIfError( db.Open( sess, KBrowserBookmarks ) ); |
|
1215 CleanupClosePushL<RFavouritesDb>( db ); |
|
1216 |
|
1217 // add item |
|
1218 db.Add( *item, ETrue ); |
|
1219 // Close the database. |
|
1220 db.Close(); |
|
1221 |
1193 |
1222 HBufC* msgBuffer = iCoeEnv->AllocReadResourceLC( R_FINDITEM_BOOKMARK_SAVED ); |
1194 HBufC* msgBuffer = iCoeEnv->AllocReadResourceLC( R_FINDITEM_BOOKMARK_SAVED ); |
1223 CAknConfirmationNote* note = new (ELeave)CAknConfirmationNote( ETrue ); |
1195 CAknConfirmationNote* note = new (ELeave)CAknConfirmationNote( ETrue ); |
1224 note->ExecuteLD( *msgBuffer ); |
1196 note->ExecuteLD( *msgBuffer ); |
1225 |
1197 |
1226 CleanupStack::PopAndDestroy( 6 ); // item, db, sess, resourceLoader, |
1198 CleanupStack::PopAndDestroy( 3 ); // resourceLoader, |
1227 // defaultName, msgBuffer |
1199 // defaultName, msgBuffer |
1228 } |
1200 } |
1229 |
1201 |
1230 void CFindItemMenu::CreateContactCardL( TInt aCommandId ) |
1202 void CFindItemMenu::CreateContactCardL( TInt aCommandId ) |
1231 { |
1203 { |
1531 return ETrue; |
1503 return ETrue; |
1532 } |
1504 } |
1533 |
1505 |
1534 void CFindItemMenu::LaunchGenericUriL() |
1506 void CFindItemMenu::LaunchGenericUriL() |
1535 { |
1507 { |
1536 if ( iSchemeHandler ) |
1508 |
1537 { |
|
1538 delete iSchemeHandler; |
|
1539 iSchemeHandler = 0; |
|
1540 } |
|
1541 iSchemeHandler = CSchemeHandler::NewL( iAutomaticFind->CurrentItemExt().iItemDescriptor->Des() ); |
|
1542 if ( iAutomaticFind->CurrentItemExt().iItemDescriptor->FindF( KRtspUrlAddress ) != KErrNotFound ) |
|
1543 { |
|
1544 iSchemeHandler->HandleUrlEmbeddedL(); |
|
1545 } |
|
1546 else |
|
1547 { |
|
1548 iSchemeHandler->HandleUrlStandaloneL(); |
|
1549 } |
|
1550 } |
1509 } |
1551 |
1510 |
1552 EXPORT_C void CFindItemMenu::SetCallbackNumber( const TDesC& aPhoneNumber ) |
1511 EXPORT_C void CFindItemMenu::SetCallbackNumber( const TDesC& aPhoneNumber ) |
1553 { |
1512 { |
1554 delete iCallbackNumber; |
1513 delete iCallbackNumber; |