homescreenapp/hsutils/src/hsmenueventfactory.cpp
changeset 39 4e8ebe173323
parent 36 cdae8c6c3876
child 46 23b5d6a29cce
equal deleted inserted replaced
36:cdae8c6c3876 39:4e8ebe173323
    20 #include "hsapp_defs.h"
    20 #include "hsapp_defs.h"
    21 
    21 
    22 
    22 
    23 /*!
    23 /*!
    24     \class HsMenuEventFactory
    24     \class HsMenuEventFactory
    25     \ingroup group_hsmenustateplugin
    25     \ingroup group_hsutils
    26 
    26 
    27     \brief Menu event factory class.
    27     \brief Menu event factory class.
    28 
    28 
    29     \sa HsMenuEvent
    29     \sa HsMenuEvent
    30 */
    30 */
    42     \param uri Widget uri.
    42     \param uri Widget uri.
    43     \param library Widget library path and name.
    43     \param library Widget library path and name.
    44     \param attributes Widget params.
    44     \param attributes Widget params.
    45     \return Event for adding the widget to homescreen.
    45     \return Event for adding the widget to homescreen.
    46 */
    46 */
    47 QEvent *HsMenuEventFactory::createAddToHomeScreenEvent(
    47 QEvent *HsMenuEventFactory::createAddToHomeScreenEvent(int entryId)
    48     int entryId,
       
    49     const QString &entryTypeName,
       
    50     const QString &uri,
       
    51     const QString &library,
       
    52     QMap<QString, QString>* attributes)
       
    53 {
    48 {
    54     // get CaEntry type, and if widget get uri and library stored as properties...
    49     // get CaEntry type, and if widget get uri and library stored as properties...
    55     QVariantMap params;
    50     QVariantMap params;
    56     QVariantMap widgetParams;
       
    57 
       
    58     params.insert(itemIdKey(), entryId);
    51     params.insert(itemIdKey(), entryId);
    59 
       
    60     if (entryTypeName == widgetTypeName() || entryTypeName == templatedApplicationTypeName()) {
       
    61         params.insert(
       
    62             widgetUriAttributeName(),
       
    63             uri);
       
    64 
       
    65         params.insert(
       
    66             widgetLibraryAttributeName(),
       
    67             library);
       
    68 
       
    69         params.insert(entryTypeNameKey(), entryTypeName);
       
    70         
       
    71         if (entryTypeName == templatedApplicationTypeName()) {
       
    72             QMapIterator<QString, QString> i(*attributes);
       
    73             while (i.hasNext()) {
       
    74                 i.next();
       
    75                 QString key(i.key());
       
    76                 QString value(i.value());
       
    77                 if (key.contains(widgetParam())) {
       
    78                     widgetParams.insert(key,value);
       
    79                 }
       
    80             }
       
    81             params.insert(widgetParam(),widgetParams);
       
    82         }
       
    83     }
       
    84 
       
    85     return new HsMenuEvent(HsMenuEvent::AddToHomeScreen, params);
    52     return new HsMenuEvent(HsMenuEvent::AddToHomeScreen, params);
    86 }
    53 }
    87 
    54 
    88 /*!
    55 /*!
    89     Creates an HsMenuEvent::OpenCollection event.
    56     Creates an HsMenuEvent::OpenCollection event.
   148 QEvent *HsMenuEventFactory::createOpenAppLibraryEvent(HsMenuMode menuMode)
   115 QEvent *HsMenuEventFactory::createOpenAppLibraryEvent(HsMenuMode menuMode)
   149 {
   116 {
   150     QVariantMap params;
   117     QVariantMap params;
   151     params.insert(menuModeType(), menuMode);
   118     params.insert(menuModeType(), menuMode);
   152     return new HsMenuEvent(HsMenuEvent::OpenApplicationLibrary, params);
   119     return new HsMenuEvent(HsMenuEvent::OpenApplicationLibrary, params);
       
   120 }
       
   121 
       
   122 /*!
       
   123     Creates an HsMenuEvent::OpenApplicationLibrary event.
       
   124 
       
   125     \return Open Applications Library event.
       
   126  */
       
   127 QEvent *HsMenuEventFactory::createOpenInstalledViewEvent()
       
   128 {
       
   129 	return new HsMenuEvent(HsMenuEvent::OpenInstalledView);
   153 }
   130 }
   154 
   131 
   155 /*!
   132 /*!
   156     Creates an HsMenuEvent::OpenHomeScreen event.
   133     Creates an HsMenuEvent::OpenHomeScreen event.
   157 
   134 
   272 
   249 
   273     return new HsMenuEvent(HsMenuEvent::PreviewHSWidget, params);
   250     return new HsMenuEvent(HsMenuEvent::PreviewHSWidget, params);
   274 }
   251 }
   275 
   252 
   276 /*!
   253 /*!
       
   254     Creates an HsMenuEvent::ShowAppSettings event.
       
   255     \param entryId Id of an item.
       
   256     \return Event for view the Application Settings.
       
   257 */
       
   258 QEvent *HsMenuEventFactory::createAppSettingsViewEvent(int entryId)
       
   259 {
       
   260     QVariantMap params;
       
   261     params.insert(itemIdKey(), entryId);
       
   262 
       
   263     return new HsMenuEvent(HsMenuEvent::ShowAppSettings, params);
       
   264 }
       
   265 
       
   266 /*!
   277     Creates an HsMenuEvent::Unknown event.
   267     Creates an HsMenuEvent::Unknown event.
   278 
   268 
   279     \return Unknown event.
   269     \return Unknown event.
   280  */
   270  */
   281 QEvent *HsMenuEventFactory::createUnknownEvent()
   271 QEvent *HsMenuEventFactory::createUnknownEvent()