diff -r 627c4a0fd0e7 -r c3690ec91ef8 src/hbutils/document/hbdocumentloaderfactory_p.cpp --- a/src/hbutils/document/hbdocumentloaderfactory_p.cpp Fri Jun 11 13:58:22 2010 +0300 +++ b/src/hbutils/document/hbdocumentloaderfactory_p.cpp Wed Jun 23 18:33:25 2010 +0300 @@ -76,6 +76,8 @@ #include #include #include +#include +#include enum HbDocumentLoaderFactoryWidgetRoles { HbWidgetRoleUnknown, // needs to be the first one = 0 @@ -238,6 +240,8 @@ CHECK_OBJECT_0(HbGridViewItem) CHECK_OBJECT_0(HbDataFormViewItem) CHECK_OBJECT_0(HbTreeViewItem) + CHECK_OBJECT_0(HbTumbleView) + CHECK_OBJECT_0(HbTumbleViewItem) #if QT_VERSION >= 0x040600 && defined(HBUTILS_WEBKIT) CHECK_OBJECT_0(QGraphicsWebView) #endif @@ -257,11 +261,18 @@ \param parent parent widget. \param child child widget. \param role desired role for child widget. + \param roleTransfersOwnership Must be updated to 'true' if owership of the child is + moved to the parent, but the graphicsitem parent is not \return true upon success, false on failure. */ bool HbDocumentLoaderFactory::setWidgetRole( - QGraphicsWidget *parent, QGraphicsWidget *child, const QString &role) + QGraphicsWidget *parent, + QGraphicsWidget *child, + const QString &role, + bool &roleTransfersOwnership ) { + roleTransfersOwnership = false; + if (role.isEmpty()) { child->setParentItem(parent); return true; @@ -316,6 +327,7 @@ if (view) { child->setParentItem(parent); view->setToolBar(qobject_cast(child)); + roleTransfersOwnership = true; } } break; @@ -326,6 +338,7 @@ success = (view != 0); if (view) { view->setMenu(qobject_cast(child)); + roleTransfersOwnership = true; } } break; @@ -336,6 +349,7 @@ success = (menu != 0); if (menu) { menu->addMenu(qobject_cast(child)); + roleTransfersOwnership = true; } } break;