diff -r 2e1adbfc62af -r ee64f059b8e1 qtinternetradio/ui/inc/irsearchchannelsview.h --- a/qtinternetradio/ui/inc/irsearchchannelsview.h Mon May 03 12:25:23 2010 +0300 +++ b/qtinternetradio/ui/inc/irsearchchannelsview.h Fri May 14 15:43:29 2010 +0300 @@ -14,22 +14,21 @@ * Description: * */ -#ifndef IRSEARCHVIEWC_H -#define IRSEARCHVIEWC_H +#ifndef IRSEARCHCHANNELSVIEW_H +#define IRSEARCHCHANNELSVIEW_H - #include "irqevent.h" -#include "irbaseview.h" - - -class HbPushButton; -class HbAction; -class HbLabel; -class IrComboBox; -class IrNowPlayingBannerLabel; -class IRQMetaData; -class IRSearchCriteriaDB; +#include "irbaseview.h" +#include "irqenums.h" + +class HbListView; +class HbSearchPanel; +class HbAction; +class IrChannelModel; +class HbProgressDialog; +class IRQPreset; +class QTimer; class IRSearchChannelsView : public IRBaseView { @@ -37,56 +36,74 @@ public: - ~IRSearchChannelsView(); - //from base class IRBaseView - TIRHandleResult handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason); + ~IRSearchChannelsView(); protected: - IRSearchChannelsView(IRApplication* aApplication, TIRViewId aViewId); + IRSearchChannelsView(IRApplication* aApplication, TIRViewId aViewId); + //from base view + TIRHandleResult handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason); -private: +private: //functions + + void connectWidget(); + //for connecting and disconnecting isds client's signals + void connectIsdsClient(); + void disconnectIsdsClient(); - //move from irabstractlistbaseview - void updateView(); + void switch2SearchingState(); + void switch2InitState(); + void switch2SearchedState(); + void startSearchingAnimation(); + void stopSearchingAnimation(); + void loadLayout(); + void handleItemSelected(); + void createSearchingDialog(); + void closeSearchingDialog(); + void normalInit(); void initMenu(); - void initToolBar(); - void initContentWidget(); - void addBanner(const QString &aText); - void createDB(); + void lazyInit(); + void startConvert(int aIndex); + void initTimer(); + +private slots: //slots + + void cancelRequest(); + void networkRequestNotified(IRQNetworkEvent aEvent); + void searchTextAlready(const QString& aSearchCriteria); + void dataChanged(); + void operationException(IRQError aError); + void clickItem(const QModelIndex&); + //for playing a channel in the search result list + void presetResponse(IRQPreset *aPreset); + //to start the convertion + void convertAnother(); + void presetLogoDownload(IRQPreset* aPreset); + void presetLogoDownloadError(); + -private slots: +private: // members + + enum IRQSearchState + { + ESearch_init = 0, + ESearch_Searching, + ESearch_Searched + }; - void collectionsActionClicked(); - void favoritesActionClicked(); - - void startSearch(bool aBool); - void helpAction(); - void searchBoxTextChanged(const QString &aString); - void cancelRequest(); - void networkRequestNotified(IRQNetworkEvent aEvent); - void comboboxClicked(); - void launchSettingsView(); - void openWebAddress(); - void gotoNowPlaying(); - void metaDataAvailable(IRQMetaData* aMetaData); - void removeBanner(); - void dbDataChanged(); + HbListView *iListView; + QString iKeyText; -private: // members - - HbAction *iCollectionsAction; - HbAction *iFavoritesAction; - HbAction *iGenresAction; - HbAction *iSearchAction; - HbPushButton *iSearchButton; - HbLabel *iSearchText; - HbLabel *iSearchIconLabel; - IrComboBox *iSearchCombobox; - bool iFirstTime; - IrNowPlayingBannerLabel *iBannerLabel; - IRSearchCriteriaDB *iDB; - + //default searchpanel is not progressive + HbSearchPanel *iSearchPanelWidget; + IRQSearchState iSearchState; + IrChannelModel *iChannelModel; + HbProgressDialog *iSearchingDialog; + //the object is created by IsdsClient, but application is responsible for free + IRQPreset *iPreset; + IRQPreset *iLogoPreset; + QTimer *iConvertTimer; + QList iIconIndexArray; friend class IRViewManager; }; -#endif +#endif //IRSEARCHCHANNELSVIEW_H