diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmmaincontainer.cpp --- a/idlehomescreen/widgetmanager/src/wmmaincontainer.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmmaincontainer.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -260,7 +260,7 @@ aKeyEvent.iScanCode == EStdKeyBackspace && aKeyEvent.iModifiers == EModifierAutorepeatable ) { - return EKeyWasNotConsumed; + return EKeyWasConsumed; } // Handle search keyevent @@ -310,7 +310,7 @@ aKeyEvent.iScanCode < EStdKeyF1 && TChar( aKeyEvent.iScanCode ).IsAlphaDigit() ) { - ActivateFindPaneL(); + ActivateFindPaneL( EFalse ); if ( iFindPaneIsVisible ) { @@ -974,12 +974,7 @@ // TBool CWmMainContainer::CanDoFind() { - TBool canDo( !iFindPaneIsVisible ); - if ( canDo ) - { - canDo = ( iFocusMode == EList || iFocusMode == ENowhere ); - } - return canDo; + return !iFindPaneIsVisible; } // --------------------------------------------------------- @@ -1081,7 +1076,7 @@ // CWmMainContainer::ActivateFindPaneL // --------------------------------------------------------------------------- // -void CWmMainContainer::ActivateFindPaneL() +void CWmMainContainer::ActivateFindPaneL( TBool aActivateAdabtive ) { if ( iFindbox && !iFindPaneIsVisible && iWidgetsList->Model()->NumberOfItems() > KMinWidgets ) @@ -1102,13 +1097,16 @@ iFindbox->ResetL(); iFindbox->SetSearchTextL( KNullDesC ); iFindbox->SetSkinEnabledL( ETrue ); - iFindPaneIsVisible = ETrue; iFindbox->MakeVisible( ETrue ); // layout listbox and findbox LayoutControls(); + if ( aActivateAdabtive ) + { + iFindbox->ShowAdaptiveSearchGrid(); + } iFindbox->SetFocus( ETrue ); iWidgetsList->SetFindPaneIsVisible( ETrue ); @@ -1176,15 +1174,16 @@ { if ( iWidgetsList ) { - iWidgetsList->SetSortOrderL( CWmListBox::EAlphabetical ); + iWidgetsList->DoSortToVisibleArray( CWmListBox::EAlphabetical ); + iWidgetsList->DoSortToOrderData( CWmListBox::EAlphabetical ); //store changed list order CWmPersistentWidgetOrder* widgetOrder = CWmPersistentWidgetOrder::NewL( iWmPlugin.FileServer() ); CleanupStack::PushL( widgetOrder ); - widgetOrder->StoreL( iWidgetsList->WidgetDataArray() ); + widgetOrder->StoreL( iWidgetsList->OrderDataArray() ); + CleanupStack::PopAndDestroy( widgetOrder ); - } }