diff -r 8bda91a87a00 -r 8ee96d21d9bf profilesservices/MediaFileList/Inc/mediafiledialogstate.h --- a/profilesservices/MediaFileList/Inc/mediafiledialogstate.h Thu Aug 19 10:12:30 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,280 +0,0 @@ -/* -* Copyright (c) 2005 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: Header file of mediafiledialogstate. -* Class used to deal with the items of the Main view -* -*/ - - - -#ifndef MEDIAFILEDIALOGSTATE_H -#define MEDIAFILEDIALOGSTATE_H - -// INCLUDES -#include "mediafiledialogutils.h" - -#include - - -// CONSTANTS - - -enum TMediaFileListFolder - { - EEFolderRoot = 0, - EEFolderDownload, - EEFolderTones, - EEFolderMusic, - EEFolderVideos, - EEFolderRecordings, - EEFolderSearch, - EEFolderAllMusic, - EEFolderArtistRoot, - EEFolderArtist, - EEFolderArtistUnknown, // 10 - EEFolderArtistAll, - EEFolderArtistAlbum, - EEFolderArtistAlbumUnknown, - EEFolderAlbumRoot, - EEFolderAlbum, - EEFolderAlbumUnknown, - EEFolderGenreRoot, - EEFolderGenre, - EEFolderGenreUnknown, - EEFolderComposerRoot, // 20 - EEFolderComposer, - EEFolderComposerUnknown, - EEFolderNullItemOne, - EEFolderNullItemTwo, - EEFolderRecent, - EEFolderNone, - EEFolderPersistent, - EEFolderUnknown, - EEFolderSearchMusic - }; - - -enum TMediaFileListIcons - { - EEIconMusic = 0, - EEIconTone = 1, - EEIconVideo = 2, - EEIconRecording = 3, - EEIconArtist = 4, - EEIconAlbum = 5, - EEIconGenre = 6, - EEIconComposer = 7, - EEIconFolder = 8, - EEIconUnknown = 9, - EEIconFolderDownload = 10, - EEIconNullItemOff = 11, - EEIconMemoryCard = 12, - EEIconMassStorage = 13, - EEIconEmpty = 14 - }; - -enum TMediaFileListQueryDirection - { - EEQueryUp, - EEQueryDown, - EEQueryUpdate - }; - - - -// CLASS DECLARATION - -NONSHARABLE_CLASS (TMFListItem) - { - public: - // position in listbox - TInt iListIndex; - - // one of TMediaFileListFolder - TInt iFolderId; - - // one of TMediaFileListFolder - TInt iParentFolderId; - - // non-persistent child items from metadata (folders or file names) - TInt iChildFolderId; - - // is list item a persistent folder - TBool iPersistent; - - // is list item hidden - TBool iHidden; - - // icon that is shown in listbox - TInt iIconId; - - // icon that is shown in listbox - TInt iChildIconId; - - // count of unknown items in this folder - TInt iUnknownCount; - - // text that is shown in listox - TBuf iText; - - // text that is shown in navi pane - TBuf iTitle; - - - public: - TMFListItem(); - }; - -/** -* TMFCurrentItemInfo -* -* Used for maintaining the open item info in a list box -* folder and current list item position. -*/ - -NONSHARABLE_CLASS (TMFCurrentItemInfo) - { - public: - // has media file database changed - TBool iIndexCheckNeeded; - - // current item listbox index - TInt iItemIndex; - - // currently selected media file id - TInt iMediaFileId; - - // currently selected persistent folder id - TInt iFolderId; - - // currently selected non-persistent folder id - TBuf iFolderText; - - public: - void Reset(); - }; - - - - -/** -* CMediaFileDialogState -* -* Used for maintaining MediaFileDialog state eg currently open -* folder and current list item position. -*/ -NONSHARABLE_CLASS (CMediaFileDialogState) : public CBase - { - public: - static CMediaFileDialogState* NewL(); - virtual ~CMediaFileDialogState(); - - private: - CMediaFileDialogState(); - void ConstructL(); - - public: - void Init(); - void AddPermanentItemsL(); - - TInt NextFolderUp(); - TInt NextFolderDown( TInt aListIndex ); - void SetQueryInfo( TInt aQueryId, const TDesC& aQueryText, - TInt aQueryListPosition, TInt aQueryDirection ); - void SetStateAfterQuery(); - - public: - void SetCurrentFolder( TInt aFolderId ); - TInt CurrentFolder(); - - TBool FindBoxNeeded(); - TBool QueryNeeded(); - TBool QueryNeeded( TInt aFolderId ); - TInt QueryFolder(); - - void SetText( TInt aFolderId, const TDesC& aText ); - void GetText( TInt aFolderId, TDes& aText ); - void SetTitle( TInt aFolderId, const TDesC& aText ); - void GetTitle( TInt aFolderId, TDes& aText ); - void GetSearchTitleL( TDes& aText, TInt aCount ); - void GetSearchTitle( TDes& aText, TInt aCount ); - - void SetUnknownFolderPosition( TInt aQueryCount ); - void SetListIndex( TInt aFolderId, TInt aListIndex ); - TInt ListIndex( TInt aFolderId ); - void EnableNullItemL( TInt aFolderId, const TDesC& aText, TInt aIconId ); - - - private: - TInt IndexFromId( TInt aFolderId ); - TInt FolderIndex( TInt aListIndex ); - - public: - TInt PersistentFolderCount( TInt aFolderId ); - TInt PersistentFolderCount(); - TInt LeadingPersistentFolderCount(); - TInt CurrentItemIndex(); - void SetCurrentItemIndex( TInt aIndex ); - TInt FolderId( TInt aListIndex ); - void GetFolderInfo( TInt aListIndex, TInt& aId, TDes& aText, - TBool& aPersistent, TInt& aIconId ); - - public: - TMFCurrentItemInfo& CurrentItemInfo(); - TInt QueryDirection(); - TInt PreviousFolderId(); - TBool IsPersistent( TInt aFolderId ); - - public: - void ResetUnknownCount(); - void SetUnknownCount( TInt aFolderId, TInt aCount ); - TInt UnknownCount( TInt aFolderId ); - void HideUnknownFolders(); - void HideUnknownFolder( TInt aFolderId, TInt aUnknownCount ); - void HideRootFolder( TInt aFolderId, TBool aHidden, - const TDesC& aText, TInt aIconId ); - - public: - void PrintCurrentFolder(); - - public: - static void GetFolderTypeText(TDes& aText, TInt aType); - - private: - static void Panic( TInt aReason ); - - private: - RArray iList; - TInt iCurrentFolderId; - TInt iCurrentFolderIndex; - TInt iListPosition; - - // temporary query info - iList is updated after successful query - TInt iQueryFolderId; - TInt iQueryDirection; - TBuf iQueryText; - - // previous folder id - TInt iPreviousFolderId; - - // current item info, needed for setting focus to current item - // when media file database changes - TMFCurrentItemInfo iCurrentItemInfo; - }; - - - -#endif // MEDIAFILEDIALOGSTATE_H - -// End of File