videocollection/videocollectionview/inc/videocollectionuiloader.h
changeset 35 3738fe97f027
parent 34 bbb98528c666
child 36 8aed59de29f9
equal deleted inserted replaced
34:bbb98528c666 35:3738fe97f027
    22 #include <hbdocumentloader.h>
    22 #include <hbdocumentloader.h>
    23 #include <qhash.h>
    23 #include <qhash.h>
    24 #include <qmap.h>
    24 #include <qmap.h>
    25 
    25 
    26 // Constants
    26 // Constants
    27 static const char* DOCML_VIDEOCOLLECTIONVIEW_FILE     = ":/layout/collectionview.docml";
    27 static const char* DOCML_VIDEOCOLLECTIONVIEW_FILE         = ":/layout/collectionview.docml";
    28 static const char* DOCML_NAME_VIEW                    = "view";
    28 static const char* DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST = "listsSection";
       
    29 static const char* DOCML_VIDEOCOLLECTIONVIEW_SECTION_HINT = "hintSection";
       
    30 static const char* DOCML_NAME_VIEW                        = "view";
    29 
    31 
    30 // Videocollection View
    32 // Videocollection View
    31 static const char* DOCML_NAME_VC_HEADINGBANNER        = "vc:mBanner";
    33 static const char* DOCML_NAME_VC_HEADINGBANNER            = "vc:mBanner";
    32 static const char* DOCML_NAME_VC_COLLECTIONWIDGET     = "vc:mCollectionWidget";
    34 static const char* DOCML_NAME_VC_COLLECTIONWIDGET         = "vc:mCollectionWidget";
    33 static const char* DOCML_NAME_VC_COLLECTIONCONTENTWIDGET = "vc:mCollectionContentWidget";
    35 static const char* DOCML_NAME_VC_COLLECTIONCONTENTWIDGET  = "vc:mCollectionContentWidget";
    34 static const char* DOCML_NAME_VC_VIDEOLISTWIDGET      = "vc:mListWidget";
    36 static const char* DOCML_NAME_VC_VIDEOLISTWIDGET          = "vc:mListWidget";
    35 static const char* DOCML_NAME_VC_VIDEOHINTWIDGET      = "vc:mHintWidget";
    37 static const char* DOCML_NAME_VC_VIDEOHINTWIDGET          = "vc:mHintWidget";
    36 
    38 
    37 // Videocollection Options Menu
    39 // Videocollection Options Menu
    38 static const char* DOCML_NAME_OPTIONS_MENU            = "vc:mOptionsMenu";
    40 static const char* DOCML_NAME_OPTIONS_MENU                = "vc:mOptionsMenu";
    39 static const char* DOCML_NAME_SORT_MENU               = "vc:mSortBy";
    41 static const char* DOCML_NAME_SORT_MENU                   = "vc:mSortBy";
    40 
    42 
    41 static const char* DOCML_NAME_SORT_BY_DATE            = "vc:mDate";
    43 static const char* DOCML_NAME_SORT_BY_DATE                = "vc:mDate";
    42 static const char* DOCML_NAME_SORT_BY_NAME            = "vc:mName";
    44 static const char* DOCML_NAME_SORT_BY_NAME                = "vc:mName";
    43 static const char* DOCML_NAME_SORT_BY_NUMBER_OF_ITEMS = "vc:mNumberOfItems";
    45 static const char* DOCML_NAME_SORT_BY_NUMBER_OF_ITEMS     = "vc:mNumberOfItems";
    44 static const char* DOCML_NAME_SORT_BY_TOTAL_LENGTH    = "vc:mTotalLength";
    46 static const char* DOCML_NAME_SORT_BY_RATING              = "vc:mRating";
    45 static const char* DOCML_NAME_SORT_BY_RATING          = "vc:mRating";
    47 static const char* DOCML_NAME_SORT_BY_SIZE                = "vc:mSize";
    46 static const char* DOCML_NAME_SORT_BY_SIZE            = "vc:mSize";
    48 
    47 
    49 static const char* DOCML_NAME_ADD_TO_COLLECTION           = "vc:mAddtoCollection";
    48 static const char* DOCML_NAME_ADD_TO_COLLECTION       = "vc:mAddtoCollection";
    50 static const char* DOCML_NAME_CREATE_COLLECTION           = "vc:mCreateNewCollection";
    49 static const char* DOCML_NAME_CREATE_COLLECTION       = "vc:mCreateNewCollection";
    51 static const char* DOCML_NAME_DELETE_MULTIPLE             = "vc:mDeleteMultiple";
    50 static const char* DOCML_NAME_DELETE_MULTIPLE         = "vc:mDeleteMultiple";
       
    51 
       
    52 static const char* DOCML_NAME_PLAY_IN_QUEUE           = "vc:mPlayInQueue";
       
    53 static const char* DOCML_NAME_PLAY_ALL_ITEMS          = "vc:mPlayAllItems";
       
    54 
    52 
    55 // Videocollection hint widget
    53 // Videocollection hint widget
    56 static const char* DOCML_NAME_HINT_BUTTON             = "vc:mHintButton";
    54 static const char* DOCML_NAME_HINT_BUTTON                 = "vc:mHintButton";
    57 static const char* DOCML_NAME_HINT_LABEL              = "vc:mHintTextLabel";
    55 static const char* DOCML_NAME_HINT_LABEL                  = "vc:mHintTextLabel";
    58 static const char* DOCML_NAME_NO_VIDEOS_LABEL         = "vc:mNoVideosLabel";
    56 static const char* DOCML_NAME_NO_VIDEOS_LABEL             = "vc:mNoVideosLabel";
    59 
    57 
    60 // video multiselection dialog
    58 // video multiselection dialog
    61 static const char* DOCML_VIDEOSELECTIONDIALOG_FILE    = ":/layout/videolistselectiondialog.docml";
    59 static const char* DOCML_VIDEOSELECTIONDIALOG_FILE        = ":/layout/videolistselectiondialog.docml";
    62 static const char* DOCML_NAME_DIALOG                  = "mMultiSelectionDialog";
    60 static const char* DOCML_NAME_DIALOG                      = "mMultiSelectionDialog";
    63 static const char* DOCML_NAME_DLG_HEADINGLBL          = "mHeadingLabel";
    61 static const char* DOCML_NAME_DLG_HEADINGLBL              = "mHeadingLabel";
    64 static const char* DOCML_NAME_CHECK_CONTAINER         = "mCheckBoxContainer";
    62 static const char* DOCML_NAME_CHECK_CONTAINER             = "mCheckBoxContainer";
    65 static const char* DOCML_NAME_MARKALL                 = "mCheckMarkAll";
    63 static const char* DOCML_NAME_MARKALL                     = "mCheckMarkAll";
    66 static const char* DOCML_NAME_LBL_SELECTION           = "mSelectionCount";
    64 static const char* DOCML_NAME_LBL_SELECTION               = "mSelectionCount";
    67 static const char* DOCML_NAME_LIST_CONTAINER          = "mListContainer";
    65 static const char* DOCML_NAME_LIST_CONTAINER              = "mListContainer";
    68 
    66 
    69 // async loading timeout
    67 // async loading timeout
    70 static const int ASYNC_FIND_TIMEOUT                   = 50; // ms
    68 static const int ASYNC_FIND_TIMEOUT                       = 50; // ms
    71 
    69 
       
    70 // Effect constants
       
    71 static const char* EFFECT_SLIDE_IN_TO_LEFT_FILENAME       = ":/effects/slide_in_to_left_and_fade_in.fxml";
       
    72 static const char* EFFECT_SLIDE_OUT_TO_LEFT_FILENAME      = ":/effects/slide_out_to_left_and_fade_out.fxml";
       
    73 
       
    74 static const char* EFFECT_SLIDE_IN_TO_LEFT                = "slide_in_to_left_and_fade_in";
       
    75 static const char* EFFECT_SLIDE_OUT_TO_LEFT               = "slide_out_to_left_and_fade_out";
       
    76 
       
    77 // Forward declarations
    72 class QActionGroup;
    78 class QActionGroup;
    73 class HbAction;
    79 class HbAction;
    74 
    80 
    75 // Class declaration
    81 // Class declaration
    76 class VideoCollectionUiLoader:
    82 class VideoCollectionUiLoader:
    85     {
    91     {
    86         EActionSortBy          =  1,
    92         EActionSortBy          =  1,
    87         EActionSortByDate,
    93         EActionSortByDate,
    88         EActionSortByName,
    94         EActionSortByName,
    89         EACtionSortByItemCount,
    95         EACtionSortByItemCount,
    90         EActionSortByLength,
       
    91         EActionSortBySize,
    96         EActionSortBySize,
    92         EActionNewCollection,
    97         EActionNewCollection,
    93         EActionAddToCollection,
    98         EActionAddToCollection,
    94         EActionDelete,
    99         EActionDelete,
    95         ETBActionAllVideos,
   100         ETBActionAllVideos,
    96         ETBActionCollections,
   101         ETBActionCollections,
    97         ETBActionServices,
   102         ETBActionServices,
    98         ETBActionAddVideos,
   103         ETBActionAddVideos,
    99         ETBActionRemoveVideos,
   104         ETBActionRemoveVideos
   100         ETBActionSortVideos
       
   101     };
   105     };
   102     
   106     
   103     /** VideoCollectionUiLoader parameter class */ 
   107     /** VideoCollectionUiLoader parameter class */ 
   104     class Params
   108     class Params
   105     {
   109     {
   106     public:
   110     public:
   107         Params(const QString& name,
   111         Params(const QString& name,
   108             bool isWidget = false,
   112             bool isWidget = false,
   109             QObject *receiver = 0,
   113             QObject *receiver = 0,
   110             const char *docml = 0,
   114             const char *docml = 0,
       
   115             const char *section = 0,
   111             const char *member = 0):
   116             const char *member = 0):
   112             mName(name),
   117             mName(name),
   113             mIsWidget(isWidget),
   118             mIsWidget(isWidget),
   114             mReceiver(receiver),
   119             mReceiver(receiver),
   115             mDocml(docml),
   120             mDocml(docml),
       
   121             mSection(section),
   116             mMember(member)
   122             mMember(member)
   117             {
   123             {
   118             // nothing to do 
   124             // nothing to do 
   119             }
   125             }
   120         
   126         
   123             bool isSame(false);
   129             bool isSame(false);
   124             
   130             
   125             if (mName == params.mName &&
   131             if (mName == params.mName &&
   126                 mReceiver == params.mReceiver &&
   132                 mReceiver == params.mReceiver &&
   127                 mDocml == params.mDocml &&
   133                 mDocml == params.mDocml &&
       
   134                 mSection == params.mSection &&
   128                 mMember == params.mMember)
   135                 mMember == params.mMember)
   129             {
   136             {
   130                 isSame = true;
   137                 isSame = true;
   131             }
   138             }
   132             
   139             
   136     public:
   143     public:
   137         QString mName;
   144         QString mName;
   138         bool mIsWidget;
   145         bool mIsWidget;
   139         QObject *mReceiver;
   146         QObject *mReceiver;
   140         const char *mDocml;
   147         const char *mDocml;
       
   148         const char *mSection;
   141         const char *mMember;
   149         const char *mMember;
   142     };
   150     };
   143 
   151 
   144 public:
   152 public:
   145     /**
   153     /**
   192     
   200     
   193     /**
   201     /**
   194      * Set video services in use.
   202      * Set video services in use.
   195      */
   203      */
   196     void setIsService(bool isService);
   204     void setIsService(bool isService);
       
   205     
       
   206     /**
       
   207      * load
       
   208      */
       
   209     QObjectList load( const QString &fileName, bool *ok = 0 );
       
   210 
       
   211     /**
       
   212      * load
       
   213      */
       
   214     QObjectList load( const QString &fileName, const QString &section , bool *ok = 0 );
   197 
   215 
   198 signals:
   216 signals:
   199     /**
   217     /**
   200      * Signals that widget has been loaded asynchonously.
   218      * Signals that widget has been loaded asynchonously.
   201      * 
   219      * 
   284     QMap<ActionIds, HbAction*> mMenuActions;
   302     QMap<ActionIds, HbAction*> mMenuActions;
   285     
   303     
   286     /** toolbar actions */
   304     /** toolbar actions */
   287     QMap<ActionIds, HbAction*> mToolbarActions;
   305     QMap<ActionIds, HbAction*> mToolbarActions;
   288     
   306     
       
   307     /** loaded docml's */
       
   308     QList<QString> mDocmls;
       
   309     
   289     /** action group for "sort by" actions */
   310     /** action group for "sort by" actions */
   290     QActionGroup* mSortGroup;
   311     QActionGroup* mSortGroup;
   291     
   312     
   292     /** is service */
   313     /** is service */
   293     bool mIsService;
   314     bool mIsService;