diff -r 95243422089a -r 491b3ed49290 filemanager/View/src/CFileManagerCheckBoxSettingPage.cpp --- a/filemanager/View/src/CFileManagerCheckBoxSettingPage.cpp Thu Aug 19 09:42:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -/* -* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0"" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Checkbox setting page -* -*/ - - - -// INCLUDE FILES -#include -#include "CFileManagerCheckBoxSettingPage.h" - - -// ======== MEMBER FUNCTIONS ======== -// ---------------------------------------------------------------------------- -// CFileManagerCheckBoxSettingPage::CFileManagerCheckBoxSettingPage -// ---------------------------------------------------------------------------- -// -CFileManagerCheckBoxSettingPage::CFileManagerCheckBoxSettingPage( - const TInt aResourceID, - CSelectionItemList& aItemArray, - const TInt aDominantItemIndex ) : - CAknCheckBoxSettingPage( aResourceID, &aItemArray ), - iItemsArray( aItemArray ), - iDominantItemIndex( aDominantItemIndex ) - { - } - -// ---------------------------------------------------------------------------- -// CFileManagerCheckBoxSettingPage::~CFileManagerCheckBoxSettingPage -// ---------------------------------------------------------------------------- -// -CFileManagerCheckBoxSettingPage::~CFileManagerCheckBoxSettingPage() - { - } - -// ---------------------------------------------------------------------------- -// CFileManagerCheckBoxSettingPage::UpdateSelectionL -// ---------------------------------------------------------------------------- -// -void CFileManagerCheckBoxSettingPage::UpdateSettingL() - { - CAknCheckBoxSettingPage::UpdateSettingL(); - UpdateSelection(); - } - -// ---------------------------------------------------------------------------- -// CFileManagerCheckBoxSettingPage::UpdateSelection -// ---------------------------------------------------------------------------- -// -void CFileManagerCheckBoxSettingPage::UpdateSelection() - { - TInt count( iItemsArray.Count() ); - if ( iDominantItemIndex < 0 || iDominantItemIndex > count ) - { - return; // Dominant item not used - } - - CAknSetStyleListBox* listBox = ListBoxControl(); - CListBoxView* view = listBox->View(); - - TInt selectedItem( listBox->CurrentItemIndex() ); - if ( selectedItem < 0 || selectedItem > count ) - { - return; // Invalid selection - } - - TBool redraw( EFalse ); - - // Deselect all other items if dominant item is selected - if ( iDominantItemIndex == selectedItem && - iItemsArray.At( selectedItem )->SelectionStatus() ) - { - for ( TInt i( 0 ); i < count; ++i ) - { - if ( i != iDominantItemIndex ) - { - iItemsArray.At( i )->SetSelectionStatus( EFalse ); - view->DeselectItem( i ); - } - } - redraw = ETrue; - } - // Deselect dominant item if any other item is selected - else if ( iDominantItemIndex != selectedItem && - iItemsArray.At( iDominantItemIndex )->SelectionStatus() ) - { - for ( TInt i( 0 ); i < count; ++i ) - { - if ( i != iDominantItemIndex && - iItemsArray.At( i )->SelectionStatus() ) - { - iItemsArray.At( iDominantItemIndex )->SetSelectionStatus( - EFalse ); - view->DeselectItem( iDominantItemIndex ); - redraw = ETrue; - break; - } - } - } - - // Hide ok if selection is empty - TBool empty( ETrue ); - for ( TInt i( 0 ); i < count; ++i ) - { - if ( iItemsArray.At( i )->SelectionStatus() ) - { - empty = EFalse; - break; - } - } - CEikButtonGroupContainer* cba = Cba(); - if ( empty ) - { - cba->MakeCommandVisible( EAknSoftkeyOk, EFalse ); - } - else - { - cba->MakeCommandVisible( EAknSoftkeyOk, ETrue ); - } - cba->DrawDeferred(); - - if ( redraw ) - { - listBox->DrawDeferred(); - } - } - -// End of File