--- a/bwins/ganeswidgetsu.def Fri May 14 16:57:01 2010 +0300
+++ b/bwins/ganeswidgetsu.def Thu May 27 13:59:05 2010 +0300
@@ -70,28 +70,27 @@
?metaObject@HgGrid@@UBEPBUQMetaObject@@XZ @ 69 NONAME ; struct QMetaObject const * HgGrid::metaObject(void) const
??_EHgMediawall@@UAE@I@Z @ 70 NONAME ; HgMediawall::~HgMediawall(unsigned int)
?d_func@HgMediawall@@AAEPAVHgMediawallPrivate@@XZ @ 71 NONAME ; class HgMediawallPrivate * HgMediawall::d_func(void)
- ?descriptionPosition@HgMediawall@@QBE?AW4LabelPosition@1@XZ @ 72 NONAME ; enum HgMediawall::LabelPosition HgMediawall::descriptionPosition(void) const
- ?setDescriptionFontSpec@HgMediawall@@QAEXABVHbFontSpec@@@Z @ 73 NONAME ; void HgMediawall::setDescriptionFontSpec(class HbFontSpec const &)
- ?titleFontSpec@HgMediawall@@QBE?AVHbFontSpec@@XZ @ 74 NONAME ; class HbFontSpec HgMediawall::titleFontSpec(void) const
- ?setDescriptionPosition@HgMediawall@@QAEXW4LabelPosition@1@@Z @ 75 NONAME ; void HgMediawall::setDescriptionPosition(enum HgMediawall::LabelPosition)
- ?titlePosition@HgMediawall@@QBE?AW4LabelPosition@1@XZ @ 76 NONAME ; enum HgMediawall::LabelPosition HgMediawall::titlePosition(void) const
- ?setTitleFontSpec@HgMediawall@@QAEXABVHbFontSpec@@@Z @ 77 NONAME ; void HgMediawall::setTitleFontSpec(class HbFontSpec const &)
- ?setTitlePosition@HgMediawall@@QAEXW4LabelPosition@1@@Z @ 78 NONAME ; void HgMediawall::setTitlePosition(enum HgMediawall::LabelPosition)
- ?descriptionFontSpec@HgMediawall@@QBE?AVHbFontSpec@@XZ @ 79 NONAME ; class HbFontSpec HgMediawall::descriptionFontSpec(void) const
- ?setIndexFeedbackPolicy@HgWidget@@QAEXW4IndexFeedbackPolicy@1@@Z @ 80 NONAME ; void HgWidget::setIndexFeedbackPolicy(enum HgWidget::IndexFeedbackPolicy)
- ?indexFeedbackPolicy@HgWidget@@QBE?AW4IndexFeedbackPolicy@1@XZ @ 81 NONAME ; enum HgWidget::IndexFeedbackPolicy HgWidget::indexFeedbackPolicy(void) const
- ?setDefaultImage@HgWidget@@QAEXVQImage@@@Z @ 82 NONAME ; void HgWidget::setDefaultImage(class QImage)
- ??0HgWidget@@QAE@PAVQGraphicsItem@@@Z @ 83 NONAME ; HgWidget::HgWidget(class QGraphicsItem *)
- ??0HgMediawall@@IAE@AAVHgMediawallPrivate@@PAVQGraphicsItem@@@Z @ 84 NONAME ; HgMediawall::HgMediawall(class HgMediawallPrivate &, class QGraphicsItem *)
- ??0HgGrid@@IAE@W4Orientation@Qt@@AAVHgGridPrivate@@PAVQGraphicsItem@@@Z @ 85 NONAME ; HgGrid::HgGrid(enum Qt::Orientation, class HgGridPrivate &, class QGraphicsItem *)
- ?setItemSizePolicy@HgWidget@@QAEXW4ItemSizePolicy@1@@Z @ 86 NONAME ; void HgWidget::setItemSizePolicy(enum HgWidget::ItemSizePolicy)
- ?itemSizePolicy@HgWidget@@QBE?AW4ItemSizePolicy@1@XZ @ 87 NONAME ; enum HgWidget::ItemSizePolicy HgWidget::itemSizePolicy(void) const
- ?setItemSize@HgWidget@@QAEXABVQSizeF@@@Z @ 88 NONAME ; void HgWidget::setItemSize(class QSizeF const &)
- ?setItemSpacing@HgWidget@@QAEXABVQSizeF@@@Z @ 89 NONAME ; void HgWidget::setItemSpacing(class QSizeF const &)
- ?itemSize@HgWidget@@QBE?AVQSizeF@@XZ @ 90 NONAME ; class QSizeF HgWidget::itemSize(void) const
- ?itemSpacing@HgWidget@@QBE?AVQSizeF@@XZ @ 91 NONAME ; class QSizeF HgWidget::itemSpacing(void) const
- ?enableReflections@HgMediawall@@QAEX_N@Z @ 92 NONAME ; void HgMediawall::enableReflections(bool)
- ?frontItemPositionDelta@HgMediawall@@QBE?AVQPointF@@XZ @ 93 NONAME ; class QPointF HgMediawall::frontItemPositionDelta(void) const
- ?reflectionsEnabled@HgMediawall@@QBE_NXZ @ 94 NONAME ; bool HgMediawall::reflectionsEnabled(void) const
- ?setFrontItemPositionDelta@HgMediawall@@QAEXABVQPointF@@@Z @ 95 NONAME ; void HgMediawall::setFrontItemPositionDelta(class QPointF const &)
+ ?setDescriptionFontSpec@HgMediawall@@QAEXABVHbFontSpec@@@Z @ 72 NONAME ; void HgMediawall::setDescriptionFontSpec(class HbFontSpec const &)
+ ?titleFontSpec@HgMediawall@@QBE?AVHbFontSpec@@XZ @ 73 NONAME ; class HbFontSpec HgMediawall::titleFontSpec(void) const
+ ?setTitleFontSpec@HgMediawall@@QAEXABVHbFontSpec@@@Z @ 74 NONAME ; void HgMediawall::setTitleFontSpec(class HbFontSpec const &)
+ ?descriptionFontSpec@HgMediawall@@QBE?AVHbFontSpec@@XZ @ 75 NONAME ; class HbFontSpec HgMediawall::descriptionFontSpec(void) const
+ ?setIndexFeedbackPolicy@HgWidget@@QAEXW4IndexFeedbackPolicy@1@@Z @ 76 NONAME ; void HgWidget::setIndexFeedbackPolicy(enum HgWidget::IndexFeedbackPolicy)
+ ?indexFeedbackPolicy@HgWidget@@QBE?AW4IndexFeedbackPolicy@1@XZ @ 77 NONAME ; enum HgWidget::IndexFeedbackPolicy HgWidget::indexFeedbackPolicy(void) const
+ ?setDefaultImage@HgWidget@@QAEXVQImage@@@Z @ 78 NONAME ; void HgWidget::setDefaultImage(class QImage)
+ ??0HgWidget@@QAE@PAVQGraphicsItem@@@Z @ 79 NONAME ; HgWidget::HgWidget(class QGraphicsItem *)
+ ??0HgMediawall@@IAE@AAVHgMediawallPrivate@@PAVQGraphicsItem@@@Z @ 80 NONAME ; HgMediawall::HgMediawall(class HgMediawallPrivate &, class QGraphicsItem *)
+ ??0HgGrid@@IAE@W4Orientation@Qt@@AAVHgGridPrivate@@PAVQGraphicsItem@@@Z @ 81 NONAME ; HgGrid::HgGrid(enum Qt::Orientation, class HgGridPrivate &, class QGraphicsItem *)
+ ?setItemSizePolicy@HgWidget@@QAEXW4ItemSizePolicy@1@@Z @ 82 NONAME ; void HgWidget::setItemSizePolicy(enum HgWidget::ItemSizePolicy)
+ ?itemSizePolicy@HgWidget@@QBE?AW4ItemSizePolicy@1@XZ @ 83 NONAME ; enum HgWidget::ItemSizePolicy HgWidget::itemSizePolicy(void) const
+ ?setItemSize@HgWidget@@QAEXABVQSizeF@@@Z @ 84 NONAME ; void HgWidget::setItemSize(class QSizeF const &)
+ ?setItemSpacing@HgWidget@@QAEXABVQSizeF@@@Z @ 85 NONAME ; void HgWidget::setItemSpacing(class QSizeF const &)
+ ?itemSize@HgWidget@@QBE?AVQSizeF@@XZ @ 86 NONAME ; class QSizeF HgWidget::itemSize(void) const
+ ?itemSpacing@HgWidget@@QBE?AVQSizeF@@XZ @ 87 NONAME ; class QSizeF HgWidget::itemSpacing(void) const
+ ?enableReflections@HgMediawall@@QAEX_N@Z @ 88 NONAME ; void HgMediawall::enableReflections(bool)
+ ?frontItemPositionDelta@HgMediawall@@QBE?AVQPointF@@XZ @ 89 NONAME ; class QPointF HgMediawall::frontItemPositionDelta(void) const
+ ?reflectionsEnabled@HgMediawall@@QBE_NXZ @ 90 NONAME ; bool HgMediawall::reflectionsEnabled(void) const
+ ?setFrontItemPositionDelta@HgMediawall@@QAEXABVQPointF@@@Z @ 91 NONAME ; void HgMediawall::setFrontItemPositionDelta(class QPointF const &)
+ ?animationAboutToEnd@HgMediawall@@IAEXABVQModelIndex@@@Z @ 92 NONAME ; void HgMediawall::animationAboutToEnd(class QModelIndex const &)
+ ?setEffect3dEnabled@HgGrid@@QAEX_N@Z @ 93 NONAME ; void HgGrid::setEffect3dEnabled(bool)
+ ?effect3dEnabled@HgGrid@@QBE_NXZ @ 94 NONAME ; bool HgGrid::effect3dEnabled(void) const
--- a/bwins/hgcacheproxymodelu.def Fri May 14 16:57:01 2010 +0300
+++ b/bwins/hgcacheproxymodelu.def Thu May 27 13:59:05 2010 +0300
@@ -41,97 +41,95 @@
?isIndexValid@HgDataProviderModel@@IBE_NH@Z @ 40 NONAME ; bool HgDataProviderModel::isIndexValid(int) const
?sortColumn@HgCacheProxyModel@@QBEHXZ @ 41 NONAME ; int HgCacheProxyModel::sortColumn(void) const
?request@HgDataProviderModel@@QAEXV?$QList@H@@_N@Z @ 42 NONAME ; void HgDataProviderModel::request(class QList<int>, bool)
- ?cleanupForBMReset@HgCacheProxyModel@@AAEXXZ @ 43 NONAME ; void HgCacheProxyModel::cleanupForBMReset(void)
- ?resizeCache@HgCacheProxyModel@@QAEXHH@Z @ 44 NONAME ; void HgCacheProxyModel::resizeCache(int, int)
- ?doInsertItem@HgDataProviderModel@@AAEXHPAV?$QList@U?$QPair@VQVariant@@H@@@@_N@Z @ 45 NONAME ; void HgDataProviderModel::doInsertItem(int, class QList<struct QPair<class QVariant, int> > *, bool)
- ?mapToDataProviderIndex@HgCacheProxyModel@@ABEHH@Z @ 46 NONAME ; int HgCacheProxyModel::mapToDataProviderIndex(int) const
- ?qt_metacast@HgCacheProxyModel@@UAEPAXPBD@Z @ 47 NONAME ; void * HgCacheProxyModel::qt_metacast(char const *)
- ?request@HgCacheProxyModel@@UAEXHHW4HgRequestOrder@HgBufferManagerObserver@@@Z @ 48 NONAME ; void HgCacheProxyModel::request(int, int, enum HgBufferManagerObserver::HgRequestOrder)
- ?mimeTypes@HgCacheProxyModel@@UBE?AVQStringList@@XZ @ 49 NONAME ; class QStringList HgCacheProxyModel::mimeTypes(void) const
- ?sortCaseSensitivity@HgCacheProxyModel@@QBE?AW4CaseSensitivity@Qt@@XZ @ 50 NONAME ; enum Qt::CaseSensitivity HgCacheProxyModel::sortCaseSensitivity(void) const
- ?setItemData@HgCacheProxyModel@@UAE_NABVQModelIndex@@ABV?$QMap@HVQVariant@@@@@Z @ 51 NONAME ; bool HgCacheProxyModel::setItemData(class QModelIndex const &, class QMap<int, class QVariant> const &)
- ?staticMetaObject@HgCacheProxyModel@@2UQMetaObject@@B @ 52 NONAME ; struct QMetaObject const HgCacheProxyModel::staticMetaObject
- ?rowCount@HgCacheProxyModel@@UBEHABVQModelIndex@@@Z @ 53 NONAME ; int HgCacheProxyModel::rowCount(class QModelIndex const &) const
- ??_EHgDataProviderModel@@UAE@I@Z @ 54 NONAME ; HgDataProviderModel::~HgDataProviderModel(unsigned int)
- ?newItem@HgDataProviderModel@@IAEXPAV?$QList@U?$QPair@VQVariant@@H@@@@_N@Z @ 55 NONAME ; void HgDataProviderModel::newItem(class QList<struct QPair<class QVariant, int> > *, bool)
- ?setHeaderData@HgCacheProxyModel@@UAE_NHW4Orientation@Qt@@ABVQVariant@@H@Z @ 56 NONAME ; bool HgCacheProxyModel::setHeaderData(int, enum Qt::Orientation, class QVariant const &, int)
- ?resetBM@HgCacheProxyModel@@AAEXXZ @ 57 NONAME ; void HgCacheProxyModel::resetBM(void)
- ?releaseAll@HgCacheProxyModel@@AAEXXZ @ 58 NONAME ; void HgCacheProxyModel::releaseAll(void)
- ?setSortRole@HgCacheProxyModel@@QAEXH@Z @ 59 NONAME ; void HgCacheProxyModel::setSortRole(int)
- ?trUtf8@HgDataProviderModel@@SA?AVQString@@PBD0@Z @ 60 NONAME ; class QString HgDataProviderModel::trUtf8(char const *, char const *)
- ?flags@HgCacheProxyModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 61 NONAME ; class QFlags<enum Qt::ItemFlag> HgCacheProxyModel::flags(class QModelIndex const &) const
- ?DataProvider@HgCacheProxyModel@@QAEPAVHgDataProviderModel@@XZ @ 62 NONAME ; class HgDataProviderModel * HgCacheProxyModel::DataProvider(void)
- ?insertItem@HgDataProviderModel@@IAEXHU?$QPair@VQVariant@@H@@_N@Z @ 63 NONAME ; void HgDataProviderModel::insertItem(int, struct QPair<class QVariant, int>, bool)
- ?sourceColumnsAboutToBeInserted@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 64 NONAME ; void HgCacheProxyModel::sourceColumnsAboutToBeInserted(class QModelIndex const &, int, int)
- ?data@HgCacheProxyModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 65 NONAME ; class QVariant HgCacheProxyModel::data(class QModelIndex const &, int) const
- ?createIcon@HgDataProviderModel@@IAE?AVQVariant@@HVQPixmap@@@Z @ 66 NONAME ; class QVariant HgDataProviderModel::createIcon(int, class QPixmap)
- ?parent@HgCacheProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 67 NONAME ; class QModelIndex HgCacheProxyModel::parent(class QModelIndex const &) const
- ?parent@HgDataProviderModel@@UBE?AVQModelIndex@@ABV2@@Z @ 68 NONAME ; class QModelIndex HgDataProviderModel::parent(class QModelIndex const &) const
- ?setDataProvider@HgCacheProxyModel@@QAEXPAVHgDataProviderModel@@HH@Z @ 69 NONAME ; void HgCacheProxyModel::setDataProvider(class HgDataProviderModel *, int, int)
- ?release@HgDataProviderModel@@QAEXV?$QList@H@@_N@Z @ 70 NONAME ; void HgDataProviderModel::release(class QList<int>, bool)
- ?qt_metacast@HgDataProviderModel@@UAEPAXPBD@Z @ 71 NONAME ; void * HgDataProviderModel::qt_metacast(char const *)
- ?mapToSource@HgCacheProxyModel@@ABE?AVQModelIndex@@ABV2@@Z @ 72 NONAME ; class QModelIndex HgCacheProxyModel::mapToSource(class QModelIndex const &) const
- ?sourceDataChanged@HgCacheProxyModel@@AAEXABVQModelIndex@@0@Z @ 73 NONAME ; void HgCacheProxyModel::sourceDataChanged(class QModelIndex const &, class QModelIndex const &)
- ?sourceRowsAboutToBeRemoved@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 74 NONAME ; void HgCacheProxyModel::sourceRowsAboutToBeRemoved(class QModelIndex const &, int, int)
- ?columnCount@HgCacheProxyModel@@UBEHABVQModelIndex@@@Z @ 75 NONAME ; int HgCacheProxyModel::columnCount(class QModelIndex const &) const
- ?mapToSource@HgCacheProxyModel@@ABE?AVQModelIndex@@HH@Z @ 76 NONAME ; class QModelIndex HgCacheProxyModel::mapToSource(int, int) const
- ?tr@HgDataProviderModel@@SA?AVQString@@PBD0@Z @ 77 NONAME ; class QString HgDataProviderModel::tr(char const *, char const *)
- ?sourceRowsRemoved@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 78 NONAME ; void HgCacheProxyModel::sourceRowsRemoved(class QModelIndex const &, int, int)
- ?sourceHeaderDataChanged@HgCacheProxyModel@@AAEXW4Orientation@Qt@@HH@Z @ 79 NONAME ; void HgCacheProxyModel::sourceHeaderDataChanged(enum Qt::Orientation, int, int)
- ??1HgCacheProxyModel@@UAE@XZ @ 80 NONAME ; HgCacheProxyModel::~HgCacheProxyModel(void)
- ?registerObserver@HgDataProviderModel@@QAEXPAVHgDataProviderModelObserver@@@Z @ 81 NONAME ; void HgDataProviderModel::registerObserver(class HgDataProviderModelObserver *)
- ?sourceRowsAboutToBeMoved@HgCacheProxyModel@@AAEXABVQModelIndex@@HH0H@Z @ 82 NONAME ; void HgCacheProxyModel::sourceRowsAboutToBeMoved(class QModelIndex const &, int, int, class QModelIndex const &, int)
- ??0HgCacheProxyModel@@QAE@PAVQObject@@@Z @ 83 NONAME ; HgCacheProxyModel::HgCacheProxyModel(class QObject *)
- ?supportedDropActions@HgCacheProxyModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 84 NONAME ; class QFlags<enum Qt::DropAction> HgCacheProxyModel::supportedDropActions(void) const
- ?updateIcon@HgDataProviderModel@@IAE_NHVQVariant@@_N@Z @ 85 NONAME ; bool HgDataProviderModel::updateIcon(int, class QVariant, bool)
- ?index@HgDataProviderModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 86 NONAME ; class QModelIndex HgDataProviderModel::index(int, int, class QModelIndex const &) const
- ?sort@HgCacheProxyModel@@UAEXHW4SortOrder@Qt@@@Z @ 87 NONAME ; void HgCacheProxyModel::sort(int, enum Qt::SortOrder)
- ?releasePixmap@HgDataProviderModel@@IAEXH@Z @ 88 NONAME ; void HgDataProviderModel::releasePixmap(int)
- ?sourceRowsMoved@HgCacheProxyModel@@AAEXABVQModelIndex@@HH0H@Z @ 89 NONAME ; void HgCacheProxyModel::sourceRowsMoved(class QModelIndex const &, int, int, class QModelIndex const &, int)
- ?removeColumns@HgCacheProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 90 NONAME ; bool HgCacheProxyModel::removeColumns(int, int, class QModelIndex const &)
- ?insertRows@HgCacheProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 91 NONAME ; bool HgCacheProxyModel::insertRows(int, int, class QModelIndex const &)
- ?tr@HgCacheProxyModel@@SA?AVQString@@PBD0H@Z @ 92 NONAME ; class QString HgCacheProxyModel::tr(char const *, char const *, int)
- ?insertItem@HgDataProviderModel@@IAEXHPAV?$QList@U?$QPair@VQVariant@@H@@@@_N@Z @ 93 NONAME ; void HgDataProviderModel::insertItem(int, class QList<struct QPair<class QVariant, int> > *, bool)
- ?revert@HgCacheProxyModel@@UAEXXZ @ 94 NONAME ; void HgCacheProxyModel::revert(void)
- ?dynamicSortFilter@HgCacheProxyModel@@QBE_NXZ @ 95 NONAME ; bool HgCacheProxyModel::dynamicSortFilter(void) const
- ?data@HgDataProviderModel@@IBE?AVQVariant@@HH@Z @ 96 NONAME ; class QVariant HgDataProviderModel::data(int, int) const
- ?rowCount@HgDataProviderModel@@UBEHABVQModelIndex@@@Z @ 97 NONAME ; int HgDataProviderModel::rowCount(class QModelIndex const &) const
- ?setFilterCaseSensitivity@HgCacheProxyModel@@QAEXW4CaseSensitivity@Qt@@@Z @ 98 NONAME ; void HgCacheProxyModel::setFilterCaseSensitivity(enum Qt::CaseSensitivity)
- ?count@HgCacheProxyModel@@ABEHXZ @ 99 NONAME ; int HgCacheProxyModel::count(void) const
- ?sortOrder@HgCacheProxyModel@@QBE?AW4SortOrder@Qt@@XZ @ 100 NONAME ; enum Qt::SortOrder HgCacheProxyModel::sortOrder(void) const
- ?removeRows@HgCacheProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 101 NONAME ; bool HgCacheProxyModel::removeRows(int, int, class QModelIndex const &)
- ?getStaticMetaObject@HgDataProviderModel@@SAABUQMetaObject@@XZ @ 102 NONAME ; struct QMetaObject const & HgDataProviderModel::getStaticMetaObject(void)
- ?setBufferPosition@HgCacheProxyModel@@ABEXH@Z @ 103 NONAME ; void HgCacheProxyModel::setBufferPosition(int) const
- ?dataUpdated@HgCacheProxyModel@@UAEXHH@Z @ 104 NONAME ; void HgCacheProxyModel::dataUpdated(int, int)
- ?sourceRowsAboutToBeInserted@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 105 NONAME ; void HgCacheProxyModel::sourceRowsAboutToBeInserted(class QModelIndex const &, int, int)
- ?fetchMore@HgCacheProxyModel@@UAEXABVQModelIndex@@@Z @ 106 NONAME ; void HgCacheProxyModel::fetchMore(class QModelIndex const &)
- ?filterCaseSensitivity@HgCacheProxyModel@@QBE?AW4CaseSensitivity@Qt@@XZ @ 107 NONAME ; enum Qt::CaseSensitivity HgCacheProxyModel::filterCaseSensitivity(void) const
- ?newItem@HgDataProviderModel@@IAEXU?$QPair@VQVariant@@H@@_N@Z @ 108 NONAME ; void HgDataProviderModel::newItem(struct QPair<class QVariant, int>, bool)
- ?setDynamicSortFilter@HgCacheProxyModel@@QAEX_N@Z @ 109 NONAME ; void HgCacheProxyModel::setDynamicSortFilter(bool)
- ?sourceModelReset@HgCacheProxyModel@@AAEXXZ @ 110 NONAME ; void HgCacheProxyModel::sourceModelReset(void)
- ?index@HgCacheProxyModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 111 NONAME ; class QModelIndex HgCacheProxyModel::index(int, int, class QModelIndex const &) const
- ?removeItems@HgDataProviderModel@@IAEXHH@Z @ 112 NONAME ; void HgDataProviderModel::removeItems(int, int)
- ?count@HgDataProviderModel@@IBEHXZ @ 113 NONAME ; int HgDataProviderModel::count(void) const
- ?sourceColumnsInserted@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 114 NONAME ; void HgCacheProxyModel::sourceColumnsInserted(class QModelIndex const &, int, int)
- ?tr@HgCacheProxyModel@@SA?AVQString@@PBD0@Z @ 115 NONAME ; class QString HgCacheProxyModel::tr(char const *, char const *)
- ?qt_metacall@HgCacheProxyModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 116 NONAME ; int HgCacheProxyModel::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?setData@HgCacheProxyModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 117 NONAME ; bool HgCacheProxyModel::setData(class QModelIndex const &, class QVariant const &, int)
- ?mimeData@HgCacheProxyModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 118 NONAME ; class QMimeData * HgCacheProxyModel::mimeData(class QList<class QModelIndex> const &) const
- ?update@HgDataProviderModel@@IAE_NHVQVariant@@H_N@Z @ 119 NONAME ; bool HgDataProviderModel::update(int, class QVariant, int, bool)
- ?match@HgCacheProxyModel@@UBE?AV?$QList@VQModelIndex@@@@ABVQModelIndex@@HABVQVariant@@HV?$QFlags@W4MatchFlag@Qt@@@@@Z @ 120 NONAME ; class QList<class QModelIndex> HgCacheProxyModel::match(class QModelIndex const &, int, class QVariant const &, int, class QFlags<enum Qt::MatchFlag>) const
- ?sourceRowsInserted@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 121 NONAME ; void HgCacheProxyModel::sourceRowsInserted(class QModelIndex const &, int, int)
- ?release@HgCacheProxyModel@@UAEXHH@Z @ 122 NONAME ; void HgCacheProxyModel::release(int, int)
- ?resetModel@HgDataProviderModel@@QAEXXZ @ 123 NONAME ; void HgDataProviderModel::resetModel(void)
- ?span@HgCacheProxyModel@@UBE?AVQSize@@ABVQModelIndex@@@Z @ 124 NONAME ; class QSize HgCacheProxyModel::span(class QModelIndex const &) const
- ?insertColumns@HgCacheProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 125 NONAME ; bool HgCacheProxyModel::insertColumns(int, int, class QModelIndex const &)
- ??_EHgCacheProxyModel@@UAE@I@Z @ 126 NONAME ; HgCacheProxyModel::~HgCacheProxyModel(unsigned int)
- ?filterRole@HgCacheProxyModel@@QBEHXZ @ 127 NONAME ; int HgCacheProxyModel::filterRole(void) const
- ?metaObject@HgDataProviderModel@@UBEPBUQMetaObject@@XZ @ 128 NONAME ; struct QMetaObject const * HgDataProviderModel::metaObject(void) const
- ?resetIcon@HgDataProviderModel@@IAEXH@Z @ 129 NONAME ; void HgDataProviderModel::resetIcon(int)
- ?sourceLayoutAboutToBeChanged@HgCacheProxyModel@@AAEXXZ @ 130 NONAME ; void HgCacheProxyModel::sourceLayoutAboutToBeChanged(void)
- ?metaObject@HgCacheProxyModel@@UBEPBUQMetaObject@@XZ @ 131 NONAME ; struct QMetaObject const * HgCacheProxyModel::metaObject(void) const
- ?getPixmap@HgDataProviderModel@@AAEPAVQPixmap@@H@Z @ 132 NONAME ; class QPixmap * HgDataProviderModel::getPixmap(int)
- ?sourceModelAboutToBeReset@HgCacheProxyModel@@AAEXXZ @ 133 NONAME ; void HgCacheProxyModel::sourceModelAboutToBeReset(void)
- ?qt_metacall@HgDataProviderModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 134 NONAME ; int HgDataProviderModel::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?filterKeyColumn@HgCacheProxyModel@@QBEHXZ @ 135 NONAME ; int HgCacheProxyModel::filterKeyColumn(void) const
+ ?resizeCache@HgCacheProxyModel@@QAEXHH@Z @ 43 NONAME ; void HgCacheProxyModel::resizeCache(int, int)
+ ?doInsertItem@HgDataProviderModel@@AAEXHPAV?$QList@U?$QPair@VQVariant@@H@@@@_N@Z @ 44 NONAME ; void HgDataProviderModel::doInsertItem(int, class QList<struct QPair<class QVariant, int> > *, bool)
+ ?mapToDataProviderIndex@HgCacheProxyModel@@ABEHH@Z @ 45 NONAME ; int HgCacheProxyModel::mapToDataProviderIndex(int) const
+ ?qt_metacast@HgCacheProxyModel@@UAEPAXPBD@Z @ 46 NONAME ; void * HgCacheProxyModel::qt_metacast(char const *)
+ ?request@HgCacheProxyModel@@UAEXHHW4HgRequestOrder@HgBufferManagerObserver@@@Z @ 47 NONAME ; void HgCacheProxyModel::request(int, int, enum HgBufferManagerObserver::HgRequestOrder)
+ ?mimeTypes@HgCacheProxyModel@@UBE?AVQStringList@@XZ @ 48 NONAME ; class QStringList HgCacheProxyModel::mimeTypes(void) const
+ ?sortCaseSensitivity@HgCacheProxyModel@@QBE?AW4CaseSensitivity@Qt@@XZ @ 49 NONAME ; enum Qt::CaseSensitivity HgCacheProxyModel::sortCaseSensitivity(void) const
+ ?setItemData@HgCacheProxyModel@@UAE_NABVQModelIndex@@ABV?$QMap@HVQVariant@@@@@Z @ 50 NONAME ; bool HgCacheProxyModel::setItemData(class QModelIndex const &, class QMap<int, class QVariant> const &)
+ ?staticMetaObject@HgCacheProxyModel@@2UQMetaObject@@B @ 51 NONAME ; struct QMetaObject const HgCacheProxyModel::staticMetaObject
+ ?rowCount@HgCacheProxyModel@@UBEHABVQModelIndex@@@Z @ 52 NONAME ; int HgCacheProxyModel::rowCount(class QModelIndex const &) const
+ ??_EHgDataProviderModel@@UAE@I@Z @ 53 NONAME ; HgDataProviderModel::~HgDataProviderModel(unsigned int)
+ ?newItem@HgDataProviderModel@@IAEXPAV?$QList@U?$QPair@VQVariant@@H@@@@_N@Z @ 54 NONAME ; void HgDataProviderModel::newItem(class QList<struct QPair<class QVariant, int> > *, bool)
+ ?setHeaderData@HgCacheProxyModel@@UAE_NHW4Orientation@Qt@@ABVQVariant@@H@Z @ 55 NONAME ; bool HgCacheProxyModel::setHeaderData(int, enum Qt::Orientation, class QVariant const &, int)
+ ?releaseAll@HgCacheProxyModel@@AAEXXZ @ 56 NONAME ; void HgCacheProxyModel::releaseAll(void)
+ ?setSortRole@HgCacheProxyModel@@QAEXH@Z @ 57 NONAME ; void HgCacheProxyModel::setSortRole(int)
+ ?trUtf8@HgDataProviderModel@@SA?AVQString@@PBD0@Z @ 58 NONAME ; class QString HgDataProviderModel::trUtf8(char const *, char const *)
+ ?flags@HgCacheProxyModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 59 NONAME ; class QFlags<enum Qt::ItemFlag> HgCacheProxyModel::flags(class QModelIndex const &) const
+ ?DataProvider@HgCacheProxyModel@@QAEPAVHgDataProviderModel@@XZ @ 60 NONAME ; class HgDataProviderModel * HgCacheProxyModel::DataProvider(void)
+ ?insertItem@HgDataProviderModel@@IAEXHU?$QPair@VQVariant@@H@@_N@Z @ 61 NONAME ; void HgDataProviderModel::insertItem(int, struct QPair<class QVariant, int>, bool)
+ ?sourceColumnsAboutToBeInserted@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 62 NONAME ; void HgCacheProxyModel::sourceColumnsAboutToBeInserted(class QModelIndex const &, int, int)
+ ?data@HgCacheProxyModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 63 NONAME ; class QVariant HgCacheProxyModel::data(class QModelIndex const &, int) const
+ ?createIcon@HgDataProviderModel@@IAE?AVQVariant@@HVQPixmap@@@Z @ 64 NONAME ; class QVariant HgDataProviderModel::createIcon(int, class QPixmap)
+ ?parent@HgCacheProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 65 NONAME ; class QModelIndex HgCacheProxyModel::parent(class QModelIndex const &) const
+ ?parent@HgDataProviderModel@@UBE?AVQModelIndex@@ABV2@@Z @ 66 NONAME ; class QModelIndex HgDataProviderModel::parent(class QModelIndex const &) const
+ ?setDataProvider@HgCacheProxyModel@@QAEXPAVHgDataProviderModel@@HH@Z @ 67 NONAME ; void HgCacheProxyModel::setDataProvider(class HgDataProviderModel *, int, int)
+ ?release@HgDataProviderModel@@QAEXV?$QList@H@@_N@Z @ 68 NONAME ; void HgDataProviderModel::release(class QList<int>, bool)
+ ?qt_metacast@HgDataProviderModel@@UAEPAXPBD@Z @ 69 NONAME ; void * HgDataProviderModel::qt_metacast(char const *)
+ ?mapToSource@HgCacheProxyModel@@ABE?AVQModelIndex@@ABV2@@Z @ 70 NONAME ; class QModelIndex HgCacheProxyModel::mapToSource(class QModelIndex const &) const
+ ?sourceDataChanged@HgCacheProxyModel@@AAEXABVQModelIndex@@0@Z @ 71 NONAME ; void HgCacheProxyModel::sourceDataChanged(class QModelIndex const &, class QModelIndex const &)
+ ?sourceRowsAboutToBeRemoved@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 72 NONAME ; void HgCacheProxyModel::sourceRowsAboutToBeRemoved(class QModelIndex const &, int, int)
+ ?columnCount@HgCacheProxyModel@@UBEHABVQModelIndex@@@Z @ 73 NONAME ; int HgCacheProxyModel::columnCount(class QModelIndex const &) const
+ ?mapToSource@HgCacheProxyModel@@ABE?AVQModelIndex@@HH@Z @ 74 NONAME ; class QModelIndex HgCacheProxyModel::mapToSource(int, int) const
+ ?tr@HgDataProviderModel@@SA?AVQString@@PBD0@Z @ 75 NONAME ; class QString HgDataProviderModel::tr(char const *, char const *)
+ ?sourceRowsRemoved@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 76 NONAME ; void HgCacheProxyModel::sourceRowsRemoved(class QModelIndex const &, int, int)
+ ?sourceHeaderDataChanged@HgCacheProxyModel@@AAEXW4Orientation@Qt@@HH@Z @ 77 NONAME ; void HgCacheProxyModel::sourceHeaderDataChanged(enum Qt::Orientation, int, int)
+ ??1HgCacheProxyModel@@UAE@XZ @ 78 NONAME ; HgCacheProxyModel::~HgCacheProxyModel(void)
+ ?registerObserver@HgDataProviderModel@@QAEXPAVHgDataProviderModelObserver@@@Z @ 79 NONAME ; void HgDataProviderModel::registerObserver(class HgDataProviderModelObserver *)
+ ?sourceRowsAboutToBeMoved@HgCacheProxyModel@@AAEXABVQModelIndex@@HH0H@Z @ 80 NONAME ; void HgCacheProxyModel::sourceRowsAboutToBeMoved(class QModelIndex const &, int, int, class QModelIndex const &, int)
+ ??0HgCacheProxyModel@@QAE@PAVQObject@@@Z @ 81 NONAME ; HgCacheProxyModel::HgCacheProxyModel(class QObject *)
+ ?supportedDropActions@HgCacheProxyModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 82 NONAME ; class QFlags<enum Qt::DropAction> HgCacheProxyModel::supportedDropActions(void) const
+ ?updateIcon@HgDataProviderModel@@IAE_NHVQVariant@@_N@Z @ 83 NONAME ; bool HgDataProviderModel::updateIcon(int, class QVariant, bool)
+ ?index@HgDataProviderModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 84 NONAME ; class QModelIndex HgDataProviderModel::index(int, int, class QModelIndex const &) const
+ ?sort@HgCacheProxyModel@@UAEXHW4SortOrder@Qt@@@Z @ 85 NONAME ; void HgCacheProxyModel::sort(int, enum Qt::SortOrder)
+ ?releasePixmap@HgDataProviderModel@@IAEXH@Z @ 86 NONAME ; void HgDataProviderModel::releasePixmap(int)
+ ?sourceRowsMoved@HgCacheProxyModel@@AAEXABVQModelIndex@@HH0H@Z @ 87 NONAME ; void HgCacheProxyModel::sourceRowsMoved(class QModelIndex const &, int, int, class QModelIndex const &, int)
+ ?removeColumns@HgCacheProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 88 NONAME ; bool HgCacheProxyModel::removeColumns(int, int, class QModelIndex const &)
+ ?insertRows@HgCacheProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 89 NONAME ; bool HgCacheProxyModel::insertRows(int, int, class QModelIndex const &)
+ ?tr@HgCacheProxyModel@@SA?AVQString@@PBD0H@Z @ 90 NONAME ; class QString HgCacheProxyModel::tr(char const *, char const *, int)
+ ?insertItem@HgDataProviderModel@@IAEXHPAV?$QList@U?$QPair@VQVariant@@H@@@@_N@Z @ 91 NONAME ; void HgDataProviderModel::insertItem(int, class QList<struct QPair<class QVariant, int> > *, bool)
+ ?revert@HgCacheProxyModel@@UAEXXZ @ 92 NONAME ; void HgCacheProxyModel::revert(void)
+ ?dynamicSortFilter@HgCacheProxyModel@@QBE_NXZ @ 93 NONAME ; bool HgCacheProxyModel::dynamicSortFilter(void) const
+ ?data@HgDataProviderModel@@IBE?AVQVariant@@HH@Z @ 94 NONAME ; class QVariant HgDataProviderModel::data(int, int) const
+ ?rowCount@HgDataProviderModel@@UBEHABVQModelIndex@@@Z @ 95 NONAME ; int HgDataProviderModel::rowCount(class QModelIndex const &) const
+ ?setFilterCaseSensitivity@HgCacheProxyModel@@QAEXW4CaseSensitivity@Qt@@@Z @ 96 NONAME ; void HgCacheProxyModel::setFilterCaseSensitivity(enum Qt::CaseSensitivity)
+ ?count@HgCacheProxyModel@@ABEHXZ @ 97 NONAME ; int HgCacheProxyModel::count(void) const
+ ?sortOrder@HgCacheProxyModel@@QBE?AW4SortOrder@Qt@@XZ @ 98 NONAME ; enum Qt::SortOrder HgCacheProxyModel::sortOrder(void) const
+ ?removeRows@HgCacheProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 99 NONAME ; bool HgCacheProxyModel::removeRows(int, int, class QModelIndex const &)
+ ?getStaticMetaObject@HgDataProviderModel@@SAABUQMetaObject@@XZ @ 100 NONAME ; struct QMetaObject const & HgDataProviderModel::getStaticMetaObject(void)
+ ?setBufferPosition@HgCacheProxyModel@@ABEXH@Z @ 101 NONAME ; void HgCacheProxyModel::setBufferPosition(int) const
+ ?dataUpdated@HgCacheProxyModel@@UAEXHH@Z @ 102 NONAME ; void HgCacheProxyModel::dataUpdated(int, int)
+ ?sourceRowsAboutToBeInserted@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 103 NONAME ; void HgCacheProxyModel::sourceRowsAboutToBeInserted(class QModelIndex const &, int, int)
+ ?fetchMore@HgCacheProxyModel@@UAEXABVQModelIndex@@@Z @ 104 NONAME ; void HgCacheProxyModel::fetchMore(class QModelIndex const &)
+ ?filterCaseSensitivity@HgCacheProxyModel@@QBE?AW4CaseSensitivity@Qt@@XZ @ 105 NONAME ; enum Qt::CaseSensitivity HgCacheProxyModel::filterCaseSensitivity(void) const
+ ?newItem@HgDataProviderModel@@IAEXU?$QPair@VQVariant@@H@@_N@Z @ 106 NONAME ; void HgDataProviderModel::newItem(struct QPair<class QVariant, int>, bool)
+ ?setDynamicSortFilter@HgCacheProxyModel@@QAEX_N@Z @ 107 NONAME ; void HgCacheProxyModel::setDynamicSortFilter(bool)
+ ?sourceModelReset@HgCacheProxyModel@@AAEXXZ @ 108 NONAME ; void HgCacheProxyModel::sourceModelReset(void)
+ ?index@HgCacheProxyModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 109 NONAME ; class QModelIndex HgCacheProxyModel::index(int, int, class QModelIndex const &) const
+ ?removeItems@HgDataProviderModel@@IAEXHH@Z @ 110 NONAME ; void HgDataProviderModel::removeItems(int, int)
+ ?count@HgDataProviderModel@@IBEHXZ @ 111 NONAME ; int HgDataProviderModel::count(void) const
+ ?sourceColumnsInserted@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 112 NONAME ; void HgCacheProxyModel::sourceColumnsInserted(class QModelIndex const &, int, int)
+ ?tr@HgCacheProxyModel@@SA?AVQString@@PBD0@Z @ 113 NONAME ; class QString HgCacheProxyModel::tr(char const *, char const *)
+ ?qt_metacall@HgCacheProxyModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 114 NONAME ; int HgCacheProxyModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setData@HgCacheProxyModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 115 NONAME ; bool HgCacheProxyModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?mimeData@HgCacheProxyModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 116 NONAME ; class QMimeData * HgCacheProxyModel::mimeData(class QList<class QModelIndex> const &) const
+ ?match@HgCacheProxyModel@@UBE?AV?$QList@VQModelIndex@@@@ABVQModelIndex@@HABVQVariant@@HV?$QFlags@W4MatchFlag@Qt@@@@@Z @ 117 NONAME ; class QList<class QModelIndex> HgCacheProxyModel::match(class QModelIndex const &, int, class QVariant const &, int, class QFlags<enum Qt::MatchFlag>) const
+ ?update@HgDataProviderModel@@IAE_NHVQVariant@@H_N@Z @ 118 NONAME ; bool HgDataProviderModel::update(int, class QVariant, int, bool)
+ ?sourceRowsInserted@HgCacheProxyModel@@AAEXABVQModelIndex@@HH@Z @ 119 NONAME ; void HgCacheProxyModel::sourceRowsInserted(class QModelIndex const &, int, int)
+ ?release@HgCacheProxyModel@@UAEXHH@Z @ 120 NONAME ; void HgCacheProxyModel::release(int, int)
+ ?resetModel@HgDataProviderModel@@QAEXXZ @ 121 NONAME ; void HgDataProviderModel::resetModel(void)
+ ?span@HgCacheProxyModel@@UBE?AVQSize@@ABVQModelIndex@@@Z @ 122 NONAME ; class QSize HgCacheProxyModel::span(class QModelIndex const &) const
+ ?insertColumns@HgCacheProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 123 NONAME ; bool HgCacheProxyModel::insertColumns(int, int, class QModelIndex const &)
+ ??_EHgCacheProxyModel@@UAE@I@Z @ 124 NONAME ; HgCacheProxyModel::~HgCacheProxyModel(unsigned int)
+ ?filterRole@HgCacheProxyModel@@QBEHXZ @ 125 NONAME ; int HgCacheProxyModel::filterRole(void) const
+ ?metaObject@HgDataProviderModel@@UBEPBUQMetaObject@@XZ @ 126 NONAME ; struct QMetaObject const * HgDataProviderModel::metaObject(void) const
+ ?resetIcon@HgDataProviderModel@@IAEXH@Z @ 127 NONAME ; void HgDataProviderModel::resetIcon(int)
+ ?sourceLayoutAboutToBeChanged@HgCacheProxyModel@@AAEXXZ @ 128 NONAME ; void HgCacheProxyModel::sourceLayoutAboutToBeChanged(void)
+ ?metaObject@HgCacheProxyModel@@UBEPBUQMetaObject@@XZ @ 129 NONAME ; struct QMetaObject const * HgCacheProxyModel::metaObject(void) const
+ ?getPixmap@HgDataProviderModel@@AAEPAVQPixmap@@H@Z @ 130 NONAME ; class QPixmap * HgDataProviderModel::getPixmap(int)
+ ?sourceModelAboutToBeReset@HgCacheProxyModel@@AAEXXZ @ 131 NONAME ; void HgCacheProxyModel::sourceModelAboutToBeReset(void)
+ ?qt_metacall@HgDataProviderModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 132 NONAME ; int HgDataProviderModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?filterKeyColumn@HgCacheProxyModel@@QBEHXZ @ 133 NONAME ; int HgCacheProxyModel::filterKeyColumn(void) const
--- a/eabi/ganeswidgetsu.def Fri May 14 16:57:01 2010 +0300
+++ b/eabi/ganeswidgetsu.def Thu May 27 13:59:05 2010 +0300
@@ -77,30 +77,29 @@
_ZThn8_N8HgWidgetD0Ev @ 76 NONAME
_ZThn8_N8HgWidgetD1Ev @ 77 NONAME
_ZN11HgMediawall16setTitleFontSpecERK10HbFontSpec @ 78 NONAME
- _ZN11HgMediawall16setTitlePositionENS_13LabelPositionE @ 79 NONAME
- _ZN11HgMediawall22setDescriptionFontSpecERK10HbFontSpec @ 80 NONAME
- _ZN11HgMediawall22setDescriptionPositionENS_13LabelPositionE @ 81 NONAME
- _ZNK11HgMediawall13titleFontSpecEv @ 82 NONAME
- _ZNK11HgMediawall13titlePositionEv @ 83 NONAME
- _ZNK11HgMediawall19descriptionFontSpecEv @ 84 NONAME
- _ZNK11HgMediawall19descriptionPositionEv @ 85 NONAME
- _ZN8HgWidget22setIndexFeedbackPolicyENS_19IndexFeedbackPolicyE @ 86 NONAME
- _ZNK8HgWidget19indexFeedbackPolicyEv @ 87 NONAME
- _ZN8HgWidget15setDefaultImageE6QImage @ 88 NONAME
- _ZN11HgMediawallC1ER18HgMediawallPrivateP13QGraphicsItem @ 89 NONAME
- _ZN11HgMediawallC2ER18HgMediawallPrivateP13QGraphicsItem @ 90 NONAME
- _ZN6HgGridC1EN2Qt11OrientationER13HgGridPrivateP13QGraphicsItem @ 91 NONAME
- _ZN6HgGridC2EN2Qt11OrientationER13HgGridPrivateP13QGraphicsItem @ 92 NONAME
- _ZN8HgWidgetC1EP13QGraphicsItem @ 93 NONAME
- _ZN8HgWidgetC2EP13QGraphicsItem @ 94 NONAME
- _ZN8HgWidget11setItemSizeERK6QSizeF @ 95 NONAME
- _ZN8HgWidget14setItemSpacingERK6QSizeF @ 96 NONAME
- _ZN8HgWidget17setItemSizePolicyENS_14ItemSizePolicyE @ 97 NONAME
- _ZNK8HgWidget11itemSpacingEv @ 98 NONAME
- _ZNK8HgWidget14itemSizePolicyEv @ 99 NONAME
- _ZNK8HgWidget8itemSizeEv @ 100 NONAME
- _ZN11HgMediawall17enableReflectionsEb @ 101 NONAME
- _ZN11HgMediawall25setFrontItemPositionDeltaERK7QPointF @ 102 NONAME
- _ZNK11HgMediawall18reflectionsEnabledEv @ 103 NONAME
- _ZNK11HgMediawall22frontItemPositionDeltaEv @ 104 NONAME
+ _ZN11HgMediawall22setDescriptionFontSpecERK10HbFontSpec @ 79 NONAME
+ _ZNK11HgMediawall13titleFontSpecEv @ 80 NONAME
+ _ZNK11HgMediawall19descriptionFontSpecEv @ 81 NONAME
+ _ZN8HgWidget22setIndexFeedbackPolicyENS_19IndexFeedbackPolicyE @ 82 NONAME
+ _ZNK8HgWidget19indexFeedbackPolicyEv @ 83 NONAME
+ _ZN8HgWidget15setDefaultImageE6QImage @ 84 NONAME
+ _ZN11HgMediawallC1ER18HgMediawallPrivateP13QGraphicsItem @ 85 NONAME
+ _ZN11HgMediawallC2ER18HgMediawallPrivateP13QGraphicsItem @ 86 NONAME
+ _ZN6HgGridC1EN2Qt11OrientationER13HgGridPrivateP13QGraphicsItem @ 87 NONAME
+ _ZN6HgGridC2EN2Qt11OrientationER13HgGridPrivateP13QGraphicsItem @ 88 NONAME
+ _ZN8HgWidgetC1EP13QGraphicsItem @ 89 NONAME
+ _ZN8HgWidgetC2EP13QGraphicsItem @ 90 NONAME
+ _ZN8HgWidget11setItemSizeERK6QSizeF @ 91 NONAME
+ _ZN8HgWidget14setItemSpacingERK6QSizeF @ 92 NONAME
+ _ZN8HgWidget17setItemSizePolicyENS_14ItemSizePolicyE @ 93 NONAME
+ _ZNK8HgWidget11itemSpacingEv @ 94 NONAME
+ _ZNK8HgWidget14itemSizePolicyEv @ 95 NONAME
+ _ZNK8HgWidget8itemSizeEv @ 96 NONAME
+ _ZN11HgMediawall17enableReflectionsEb @ 97 NONAME
+ _ZN11HgMediawall25setFrontItemPositionDeltaERK7QPointF @ 98 NONAME
+ _ZNK11HgMediawall18reflectionsEnabledEv @ 99 NONAME
+ _ZNK11HgMediawall22frontItemPositionDeltaEv @ 100 NONAME
+ _ZN11HgMediawall19animationAboutToEndERK11QModelIndex @ 101 NONAME
+ _ZN6HgGrid18setEffect3dEnabledEb @ 102 NONAME
+ _ZNK6HgGrid15effect3dEnabledEv @ 103 NONAME
--- a/eabi/hgcacheproxymodelu.def Fri May 14 16:57:01 2010 +0300
+++ b/eabi/hgcacheproxymodelu.def Thu May 27 13:59:05 2010 +0300
@@ -19,118 +19,116 @@
_ZN17HgCacheProxyModel15sourceRowsMovedERK11QModelIndexiiS2_i @ 18 NONAME
_ZN17HgCacheProxyModel16sourceModelResetEv @ 19 NONAME
_ZN17HgCacheProxyModel16staticMetaObjectE @ 20 NONAME DATA 16
- _ZN17HgCacheProxyModel17cleanupForBMResetEv @ 21 NONAME
- _ZN17HgCacheProxyModel17sourceDataChangedERK11QModelIndexS2_ @ 22 NONAME
- _ZN17HgCacheProxyModel17sourceRowsRemovedERK11QModelIndexii @ 23 NONAME
- _ZN17HgCacheProxyModel18setFilterKeyColumnEi @ 24 NONAME
- _ZN17HgCacheProxyModel18setSortLocaleAwareEb @ 25 NONAME
- _ZN17HgCacheProxyModel18sourceColumnsMovedERK11QModelIndexiiS2_i @ 26 NONAME
- _ZN17HgCacheProxyModel18sourceRowsInsertedERK11QModelIndexii @ 27 NONAME
- _ZN17HgCacheProxyModel19getStaticMetaObjectEv @ 28 NONAME
- _ZN17HgCacheProxyModel19sourceLayoutChangedEv @ 29 NONAME
- _ZN17HgCacheProxyModel20setDynamicSortFilterEb @ 30 NONAME
- _ZN17HgCacheProxyModel20sourceColumnsRemovedERK11QModelIndexii @ 31 NONAME
- _ZN17HgCacheProxyModel21sourceColumnsInsertedERK11QModelIndexii @ 32 NONAME
- _ZN17HgCacheProxyModel22setSortCaseSensitivityEN2Qt15CaseSensitivityE @ 33 NONAME
- _ZN17HgCacheProxyModel23sourceHeaderDataChangedEN2Qt11OrientationEii @ 34 NONAME
- _ZN17HgCacheProxyModel24setFilterCaseSensitivityEN2Qt15CaseSensitivityE @ 35 NONAME
- _ZN17HgCacheProxyModel24sourceRowsAboutToBeMovedERK11QModelIndexiiS2_i @ 36 NONAME
- _ZN17HgCacheProxyModel25sourceModelAboutToBeResetEv @ 37 NONAME
- _ZN17HgCacheProxyModel26sourceRowsAboutToBeRemovedERK11QModelIndexii @ 38 NONAME
- _ZN17HgCacheProxyModel27sourceColumnsAboutToBeMovedERK11QModelIndexiiS2_i @ 39 NONAME
- _ZN17HgCacheProxyModel27sourceRowsAboutToBeInsertedERK11QModelIndexii @ 40 NONAME
- _ZN17HgCacheProxyModel28sourceLayoutAboutToBeChangedEv @ 41 NONAME
- _ZN17HgCacheProxyModel29sourceColumnsAboutToBeRemovedERK11QModelIndexii @ 42 NONAME
- _ZN17HgCacheProxyModel30sourceColumnsAboutToBeInsertedERK11QModelIndexii @ 43 NONAME
- _ZN17HgCacheProxyModel4sortEiN2Qt9SortOrderE @ 44 NONAME
- _ZN17HgCacheProxyModel6revertEv @ 45 NONAME
- _ZN17HgCacheProxyModel6submitEv @ 46 NONAME
- _ZN17HgCacheProxyModel7releaseEii @ 47 NONAME
- _ZN17HgCacheProxyModel7requestEiiN23HgBufferManagerObserver14HgRequestOrderE @ 48 NONAME
- _ZN17HgCacheProxyModel7resetBMEv @ 49 NONAME
- _ZN17HgCacheProxyModel7setDataERK11QModelIndexRK8QVarianti @ 50 NONAME
- _ZN17HgCacheProxyModel9fetchMoreERK11QModelIndex @ 51 NONAME
- _ZN17HgCacheProxyModelC1EP7QObject @ 52 NONAME
- _ZN17HgCacheProxyModelC2EP7QObject @ 53 NONAME
- _ZN17HgCacheProxyModelD0Ev @ 54 NONAME
- _ZN17HgCacheProxyModelD1Ev @ 55 NONAME
- _ZN17HgCacheProxyModelD2Ev @ 56 NONAME
- _ZN19HgDataProviderModel10clearCacheEv @ 57 NONAME
- _ZN19HgDataProviderModel10createIconEi7QPixmap @ 58 NONAME
- _ZN19HgDataProviderModel10insertItemEi5QPairI8QVariantiEb @ 59 NONAME
- _ZN19HgDataProviderModel10insertItemEiP5QListI5QPairI8QVariantiEEb @ 60 NONAME
- _ZN19HgDataProviderModel10removeItemEi @ 61 NONAME
- _ZN19HgDataProviderModel10resetModelEv @ 62 NONAME
- _ZN19HgDataProviderModel10updateIconEi8QVariantb @ 63 NONAME
- _ZN19HgDataProviderModel11qt_metacallEN11QMetaObject4CallEiPPv @ 64 NONAME
- _ZN19HgDataProviderModel11qt_metacastEPKc @ 65 NONAME
- _ZN19HgDataProviderModel11removeItemsEii @ 66 NONAME
- _ZN19HgDataProviderModel12doInsertItemEiP5QListI5QPairI8QVariantiEEb @ 67 NONAME
- _ZN19HgDataProviderModel13releasePixmapEi @ 68 NONAME
- _ZN19HgDataProviderModel15emitDataChangedEiib @ 69 NONAME
- _ZN19HgDataProviderModel16registerObserverEP27HgDataProviderModelObserver @ 70 NONAME
- _ZN19HgDataProviderModel16staticMetaObjectE @ 71 NONAME DATA 16
- _ZN19HgDataProviderModel17resizeQPixmapPoolEi @ 72 NONAME
- _ZN19HgDataProviderModel19getStaticMetaObjectEv @ 73 NONAME
- _ZN19HgDataProviderModel6updateEi8QVariantib @ 74 NONAME
- _ZN19HgDataProviderModel6updateEiP5QListI5QPairI8QVariantiEEb @ 75 NONAME
- _ZN19HgDataProviderModel7newItemE5QPairI8QVariantiEb @ 76 NONAME
- _ZN19HgDataProviderModel7newItemEP5QListI5QPairI8QVariantiEEb @ 77 NONAME
- _ZN19HgDataProviderModel7releaseE5QListIiEb @ 78 NONAME
- _ZN19HgDataProviderModel7requestE5QListIiEb @ 79 NONAME
- _ZN19HgDataProviderModel9getPixmapEi @ 80 NONAME
- _ZN19HgDataProviderModel9resetIconEi @ 81 NONAME
- _ZN19HgDataProviderModelC2EP7QObject @ 82 NONAME
- _ZN19HgDataProviderModelD0Ev @ 83 NONAME
- _ZN19HgDataProviderModelD1Ev @ 84 NONAME
- _ZN19HgDataProviderModelD2Ev @ 85 NONAME
- _ZNK17HgCacheProxyModel10filterRoleEv @ 86 NONAME
- _ZNK17HgCacheProxyModel10headerDataEiN2Qt11OrientationEi @ 87 NONAME
- _ZNK17HgCacheProxyModel10metaObjectEv @ 88 NONAME
- _ZNK17HgCacheProxyModel10sortColumnEv @ 89 NONAME
- _ZNK17HgCacheProxyModel11columnCountERK11QModelIndex @ 90 NONAME
- _ZNK17HgCacheProxyModel11hasChildrenERK11QModelIndex @ 91 NONAME
- _ZNK17HgCacheProxyModel11mapToSourceERK11QModelIndex @ 92 NONAME
- _ZNK17HgCacheProxyModel11mapToSourceEii @ 93 NONAME
- _ZNK17HgCacheProxyModel12canFetchMoreERK11QModelIndex @ 94 NONAME
- _ZNK17HgCacheProxyModel12filterRegExpEv @ 95 NONAME
- _ZNK17HgCacheProxyModel15filterKeyColumnEv @ 96 NONAME
- _ZNK17HgCacheProxyModel17dynamicSortFilterEv @ 97 NONAME
- _ZNK17HgCacheProxyModel17isSortLocaleAwareEv @ 98 NONAME
- _ZNK17HgCacheProxyModel17setBufferPositionEi @ 99 NONAME
- _ZNK17HgCacheProxyModel19sortCaseSensitivityEv @ 100 NONAME
- _ZNK17HgCacheProxyModel20supportedDropActionsEv @ 101 NONAME
- _ZNK17HgCacheProxyModel21filterCaseSensitivityEv @ 102 NONAME
- _ZNK17HgCacheProxyModel22mapToDataProviderIndexEi @ 103 NONAME
- _ZNK17HgCacheProxyModel24mapFromDataProviderIndexEi @ 104 NONAME
- _ZNK17HgCacheProxyModel4dataERK11QModelIndexi @ 105 NONAME
- _ZNK17HgCacheProxyModel4spanERK11QModelIndex @ 106 NONAME
- _ZNK17HgCacheProxyModel5buddyERK11QModelIndex @ 107 NONAME
- _ZNK17HgCacheProxyModel5countEv @ 108 NONAME
- _ZNK17HgCacheProxyModel5flagsERK11QModelIndex @ 109 NONAME
- _ZNK17HgCacheProxyModel5indexEiiRK11QModelIndex @ 110 NONAME
- _ZNK17HgCacheProxyModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 111 NONAME
- _ZNK17HgCacheProxyModel6parentERK11QModelIndex @ 112 NONAME
- _ZNK17HgCacheProxyModel8itemDataERK11QModelIndex @ 113 NONAME
- _ZNK17HgCacheProxyModel8mimeDataERK5QListI11QModelIndexE @ 114 NONAME
- _ZNK17HgCacheProxyModel8rowCountERK11QModelIndex @ 115 NONAME
- _ZNK17HgCacheProxyModel8sortRoleEv @ 116 NONAME
- _ZNK17HgCacheProxyModel9mimeTypesEv @ 117 NONAME
- _ZNK17HgCacheProxyModel9sortOrderEv @ 118 NONAME
- _ZNK19HgDataProviderModel10metaObjectEv @ 119 NONAME
- _ZNK19HgDataProviderModel11columnCountERK11QModelIndex @ 120 NONAME
- _ZNK19HgDataProviderModel4dataERK11QModelIndexi @ 121 NONAME
- _ZNK19HgDataProviderModel4dataEii @ 122 NONAME
- _ZNK19HgDataProviderModel5countEv @ 123 NONAME
- _ZNK19HgDataProviderModel5indexEiiRK11QModelIndex @ 124 NONAME
- _ZNK19HgDataProviderModel6parentERK11QModelIndex @ 125 NONAME
- _ZNK19HgDataProviderModel8itemDataERK11QModelIndex @ 126 NONAME
- _ZNK19HgDataProviderModel8rowCountERK11QModelIndex @ 127 NONAME
- _ZTI17HgCacheProxyModel @ 128 NONAME
- _ZTI19HgDataProviderModel @ 129 NONAME
- _ZTV17HgCacheProxyModel @ 130 NONAME
- _ZTV19HgDataProviderModel @ 131 NONAME
- _ZThn12_N17HgCacheProxyModel11dataUpdatedEii @ 132 NONAME
- _ZThn8_N17HgCacheProxyModel7releaseEii @ 133 NONAME
- _ZThn8_N17HgCacheProxyModel7requestEiiN23HgBufferManagerObserver14HgRequestOrderE @ 134 NONAME
+ _ZN17HgCacheProxyModel17sourceDataChangedERK11QModelIndexS2_ @ 21 NONAME
+ _ZN17HgCacheProxyModel17sourceRowsRemovedERK11QModelIndexii @ 22 NONAME
+ _ZN17HgCacheProxyModel18setFilterKeyColumnEi @ 23 NONAME
+ _ZN17HgCacheProxyModel18setSortLocaleAwareEb @ 24 NONAME
+ _ZN17HgCacheProxyModel18sourceColumnsMovedERK11QModelIndexiiS2_i @ 25 NONAME
+ _ZN17HgCacheProxyModel18sourceRowsInsertedERK11QModelIndexii @ 26 NONAME
+ _ZN17HgCacheProxyModel19getStaticMetaObjectEv @ 27 NONAME
+ _ZN17HgCacheProxyModel19sourceLayoutChangedEv @ 28 NONAME
+ _ZN17HgCacheProxyModel20setDynamicSortFilterEb @ 29 NONAME
+ _ZN17HgCacheProxyModel20sourceColumnsRemovedERK11QModelIndexii @ 30 NONAME
+ _ZN17HgCacheProxyModel21sourceColumnsInsertedERK11QModelIndexii @ 31 NONAME
+ _ZN17HgCacheProxyModel22setSortCaseSensitivityEN2Qt15CaseSensitivityE @ 32 NONAME
+ _ZN17HgCacheProxyModel23sourceHeaderDataChangedEN2Qt11OrientationEii @ 33 NONAME
+ _ZN17HgCacheProxyModel24setFilterCaseSensitivityEN2Qt15CaseSensitivityE @ 34 NONAME
+ _ZN17HgCacheProxyModel24sourceRowsAboutToBeMovedERK11QModelIndexiiS2_i @ 35 NONAME
+ _ZN17HgCacheProxyModel25sourceModelAboutToBeResetEv @ 36 NONAME
+ _ZN17HgCacheProxyModel26sourceRowsAboutToBeRemovedERK11QModelIndexii @ 37 NONAME
+ _ZN17HgCacheProxyModel27sourceColumnsAboutToBeMovedERK11QModelIndexiiS2_i @ 38 NONAME
+ _ZN17HgCacheProxyModel27sourceRowsAboutToBeInsertedERK11QModelIndexii @ 39 NONAME
+ _ZN17HgCacheProxyModel28sourceLayoutAboutToBeChangedEv @ 40 NONAME
+ _ZN17HgCacheProxyModel29sourceColumnsAboutToBeRemovedERK11QModelIndexii @ 41 NONAME
+ _ZN17HgCacheProxyModel30sourceColumnsAboutToBeInsertedERK11QModelIndexii @ 42 NONAME
+ _ZN17HgCacheProxyModel4sortEiN2Qt9SortOrderE @ 43 NONAME
+ _ZN17HgCacheProxyModel6revertEv @ 44 NONAME
+ _ZN17HgCacheProxyModel6submitEv @ 45 NONAME
+ _ZN17HgCacheProxyModel7releaseEii @ 46 NONAME
+ _ZN17HgCacheProxyModel7requestEiiN23HgBufferManagerObserver14HgRequestOrderE @ 47 NONAME
+ _ZN17HgCacheProxyModel7setDataERK11QModelIndexRK8QVarianti @ 48 NONAME
+ _ZN17HgCacheProxyModel9fetchMoreERK11QModelIndex @ 49 NONAME
+ _ZN17HgCacheProxyModelC1EP7QObject @ 50 NONAME
+ _ZN17HgCacheProxyModelC2EP7QObject @ 51 NONAME
+ _ZN17HgCacheProxyModelD0Ev @ 52 NONAME
+ _ZN17HgCacheProxyModelD1Ev @ 53 NONAME
+ _ZN17HgCacheProxyModelD2Ev @ 54 NONAME
+ _ZN19HgDataProviderModel10clearCacheEv @ 55 NONAME
+ _ZN19HgDataProviderModel10createIconEi7QPixmap @ 56 NONAME
+ _ZN19HgDataProviderModel10insertItemEi5QPairI8QVariantiEb @ 57 NONAME
+ _ZN19HgDataProviderModel10insertItemEiP5QListI5QPairI8QVariantiEEb @ 58 NONAME
+ _ZN19HgDataProviderModel10removeItemEi @ 59 NONAME
+ _ZN19HgDataProviderModel10resetModelEv @ 60 NONAME
+ _ZN19HgDataProviderModel10updateIconEi8QVariantb @ 61 NONAME
+ _ZN19HgDataProviderModel11qt_metacallEN11QMetaObject4CallEiPPv @ 62 NONAME
+ _ZN19HgDataProviderModel11qt_metacastEPKc @ 63 NONAME
+ _ZN19HgDataProviderModel11removeItemsEii @ 64 NONAME
+ _ZN19HgDataProviderModel12doInsertItemEiP5QListI5QPairI8QVariantiEEb @ 65 NONAME
+ _ZN19HgDataProviderModel13releasePixmapEi @ 66 NONAME
+ _ZN19HgDataProviderModel15emitDataChangedEiib @ 67 NONAME
+ _ZN19HgDataProviderModel16registerObserverEP27HgDataProviderModelObserver @ 68 NONAME
+ _ZN19HgDataProviderModel16staticMetaObjectE @ 69 NONAME DATA 16
+ _ZN19HgDataProviderModel17resizeQPixmapPoolEi @ 70 NONAME
+ _ZN19HgDataProviderModel19getStaticMetaObjectEv @ 71 NONAME
+ _ZN19HgDataProviderModel6updateEi8QVariantib @ 72 NONAME
+ _ZN19HgDataProviderModel6updateEiP5QListI5QPairI8QVariantiEEb @ 73 NONAME
+ _ZN19HgDataProviderModel7newItemE5QPairI8QVariantiEb @ 74 NONAME
+ _ZN19HgDataProviderModel7newItemEP5QListI5QPairI8QVariantiEEb @ 75 NONAME
+ _ZN19HgDataProviderModel7releaseE5QListIiEb @ 76 NONAME
+ _ZN19HgDataProviderModel7requestE5QListIiEb @ 77 NONAME
+ _ZN19HgDataProviderModel9getPixmapEi @ 78 NONAME
+ _ZN19HgDataProviderModel9resetIconEi @ 79 NONAME
+ _ZN19HgDataProviderModelC2EP7QObject @ 80 NONAME
+ _ZN19HgDataProviderModelD0Ev @ 81 NONAME
+ _ZN19HgDataProviderModelD1Ev @ 82 NONAME
+ _ZN19HgDataProviderModelD2Ev @ 83 NONAME
+ _ZNK17HgCacheProxyModel10filterRoleEv @ 84 NONAME
+ _ZNK17HgCacheProxyModel10headerDataEiN2Qt11OrientationEi @ 85 NONAME
+ _ZNK17HgCacheProxyModel10metaObjectEv @ 86 NONAME
+ _ZNK17HgCacheProxyModel10sortColumnEv @ 87 NONAME
+ _ZNK17HgCacheProxyModel11columnCountERK11QModelIndex @ 88 NONAME
+ _ZNK17HgCacheProxyModel11hasChildrenERK11QModelIndex @ 89 NONAME
+ _ZNK17HgCacheProxyModel11mapToSourceERK11QModelIndex @ 90 NONAME
+ _ZNK17HgCacheProxyModel11mapToSourceEii @ 91 NONAME
+ _ZNK17HgCacheProxyModel12canFetchMoreERK11QModelIndex @ 92 NONAME
+ _ZNK17HgCacheProxyModel12filterRegExpEv @ 93 NONAME
+ _ZNK17HgCacheProxyModel15filterKeyColumnEv @ 94 NONAME
+ _ZNK17HgCacheProxyModel17dynamicSortFilterEv @ 95 NONAME
+ _ZNK17HgCacheProxyModel17isSortLocaleAwareEv @ 96 NONAME
+ _ZNK17HgCacheProxyModel17setBufferPositionEi @ 97 NONAME
+ _ZNK17HgCacheProxyModel19sortCaseSensitivityEv @ 98 NONAME
+ _ZNK17HgCacheProxyModel20supportedDropActionsEv @ 99 NONAME
+ _ZNK17HgCacheProxyModel21filterCaseSensitivityEv @ 100 NONAME
+ _ZNK17HgCacheProxyModel22mapToDataProviderIndexEi @ 101 NONAME
+ _ZNK17HgCacheProxyModel24mapFromDataProviderIndexEi @ 102 NONAME
+ _ZNK17HgCacheProxyModel4dataERK11QModelIndexi @ 103 NONAME
+ _ZNK17HgCacheProxyModel4spanERK11QModelIndex @ 104 NONAME
+ _ZNK17HgCacheProxyModel5buddyERK11QModelIndex @ 105 NONAME
+ _ZNK17HgCacheProxyModel5countEv @ 106 NONAME
+ _ZNK17HgCacheProxyModel5flagsERK11QModelIndex @ 107 NONAME
+ _ZNK17HgCacheProxyModel5indexEiiRK11QModelIndex @ 108 NONAME
+ _ZNK17HgCacheProxyModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 109 NONAME
+ _ZNK17HgCacheProxyModel6parentERK11QModelIndex @ 110 NONAME
+ _ZNK17HgCacheProxyModel8itemDataERK11QModelIndex @ 111 NONAME
+ _ZNK17HgCacheProxyModel8mimeDataERK5QListI11QModelIndexE @ 112 NONAME
+ _ZNK17HgCacheProxyModel8rowCountERK11QModelIndex @ 113 NONAME
+ _ZNK17HgCacheProxyModel8sortRoleEv @ 114 NONAME
+ _ZNK17HgCacheProxyModel9mimeTypesEv @ 115 NONAME
+ _ZNK17HgCacheProxyModel9sortOrderEv @ 116 NONAME
+ _ZNK19HgDataProviderModel10metaObjectEv @ 117 NONAME
+ _ZNK19HgDataProviderModel11columnCountERK11QModelIndex @ 118 NONAME
+ _ZNK19HgDataProviderModel4dataERK11QModelIndexi @ 119 NONAME
+ _ZNK19HgDataProviderModel4dataEii @ 120 NONAME
+ _ZNK19HgDataProviderModel5countEv @ 121 NONAME
+ _ZNK19HgDataProviderModel5indexEiiRK11QModelIndex @ 122 NONAME
+ _ZNK19HgDataProviderModel6parentERK11QModelIndex @ 123 NONAME
+ _ZNK19HgDataProviderModel8itemDataERK11QModelIndex @ 124 NONAME
+ _ZNK19HgDataProviderModel8rowCountERK11QModelIndex @ 125 NONAME
+ _ZTI17HgCacheProxyModel @ 126 NONAME
+ _ZTI19HgDataProviderModel @ 127 NONAME
+ _ZTV17HgCacheProxyModel @ 128 NONAME
+ _ZTV19HgDataProviderModel @ 129 NONAME
+ _ZThn12_N17HgCacheProxyModel11dataUpdatedEii @ 130 NONAME
+ _ZThn8_N17HgCacheProxyModel7releaseEii @ 131 NONAME
+ _ZThn8_N17HgCacheProxyModel7requestEiiN23HgBufferManagerObserver14HgRequestOrderE @ 132 NONAME
--- a/ganeswidgets/data/ganeswidgets.qrc Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/data/ganeswidgets.qrc Thu May 27 13:59:05 2010 +0300
@@ -3,6 +3,9 @@
<file>images/mark.svg</file>
<file>hgwidget.css</file>
<file>hgwidget.widgetml</file>
+ <file>hgmediawall.css</file>
+ <file>hgmediawall_color.css</file>
+ <file>hgmediawall.widgetml</file>
<file>hgindexfeedback.css</file>
</qresource>
</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ganeswidgets/data/hgmediawall.css Thu May 27 13:59:05 2010 +0300
@@ -0,0 +1,67 @@
+HgMediawall[scrollBarPolicy="ScrollBarAlwaysOff"]
+{
+ layout:layout-noscrollbar;
+}
+
+HgMediawall[!scrollBarPolicy="ScrollBarAlwaysOff"]
+{
+ layout:layout-scrollbar;
+}
+
+HgMediawall::title
+{
+ font-variant:primary;
+ text-align: center center;
+ left:-var(hb-param-margin-gene-screen);
+ right:var(hb-param-margin-gene-screen);
+ top:-var(hb-param-margin-gene-middle-vertical);
+ bottom:0un;
+ text-line-count-min:1;
+ text-line-count-max:1;
+ zvalue: 2;
+ size-policy: preferred preferred;
+}
+
+HgMediawall::description
+{
+ font-variant:primary-small;
+ text-align: center center;
+ left:-var(hb-param-margin-gene-screen);
+ right:var(hb-param-margin-gene-screen);
+ top:-var(hb-param-margin-gene-middle-vertical);
+ bottom:0un;
+ text-line-count-min:1;
+ text-line-count-max:1;
+ zvalue: 2;
+ size-policy: preferred preferred;
+}
+
+HgMediawall::scrollbar-vertical
+{
+ left:-var(hb-param-margin-gene-screen);
+ right:var(hb-param-margin-gene-screen);
+ top:-var(hb-param-margin-gene-top);
+ bottom:var(hb-param-margin-gene-screen);
+ zvalue: 2;
+ size-policy: preferred preferred;
+}
+
+HgMediawall::content
+{
+ size-policy: minimum-expanding minimum-expanding;
+ left:0un;
+ right:0un;
+ top:0un;
+ bottom:0un;
+ zvalue: 0;
+}
+
+HgMediawall::centeritem
+{
+ size-policy: minimum-expanding minimum-expanding;
+ left:-var(hb-param-touch-area-gene-primary-medium);
+ right:var(hb-param-touch-area-gene-primary-medium);
+ top:0un;
+ bottom:0un;
+ zvalue: 2;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ganeswidgets/data/hgmediawall.widgetml Thu May 27 13:59:05 2010 +0300
@@ -0,0 +1,33 @@
+<hbwidget version="0.1" type="HgMediawall">
+ <layout name="layout-scrollbar" type="mesh">
+ <meshitem src="content" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+ <meshitem src="content" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="content" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+ <meshitem src="content" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+ <meshitem src="scrollbar-horizontal" srcEdge="BOTTOM" dst="content" dstEdge="BOTTOM" />
+ <meshitem src="scrollbar-horizontal" srcEdge="RIGHT" dst="content" dstEdge="RIGHT" />
+ <meshitem src="scrollbar-horizontal" srcEdge="LEFT" dst="content" dstEdge="LEFT" />
+ <meshitem src="description" srcEdge="BOTTOM" dst="scrollbar-horizontal" dstEdge="TOP" />
+ <meshitem src="description" srcEdge="CENTERH" dst="content" dstEdge="CENTERH" />
+ <meshitem src="title" srcEdge="BOTTOM" dst="description" dstEdge="TOP" />
+ <meshitem src="title" srcEdge="CENTERH" dst="content" dstEdge="CENTERH" />
+ <meshitem src="centeritem" srcEdge="BOTTOM" dst="title" dstEdge="TOP" />
+ <meshitem src="centeritem" srcEdge="TOP" dst="content" dstEdge="TOP" />
+ <meshitem src="centeritem" srcEdge="RIGHT" dst="content" dstEdge="RIGHT" />
+ <meshitem src="centeritem" srcEdge="LEFT" dst="content" dstEdge="LEFT" />
+ </layout>
+ <layout name="layout-noscrollbar" type="mesh">
+ <meshitem src="content" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+ <meshitem src="content" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="content" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+ <meshitem src="content" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+ <meshitem src="description" srcEdge="BOTTOM" dst="content" dstEdge="BOTTOM" />
+ <meshitem src="description" srcEdge="CENTERH" dst="content" dstEdge="CENTERH" />
+ <meshitem src="title" srcEdge="BOTTOM" dst="description" dstEdge="TOP" />
+ <meshitem src="title" srcEdge="CENTERH" dst="content" dstEdge="CENTERH" />
+ <meshitem src="centeritem" srcEdge="BOTTOM" dst="title" dstEdge="TOP" />
+ <meshitem src="centeritem" srcEdge="TOP" dst="content" dstEdge="TOP" />
+ <meshitem src="centeritem" srcEdge="RIGHT" dst="content" dstEdge="RIGHT" />
+ <meshitem src="centeritem" srcEdge="LEFT" dst="content" dstEdge="LEFT" />
+ </layout>
+</hbwidget>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ganeswidgets/data/hgmediawall_color.css Thu May 27 13:59:05 2010 +0300
@@ -0,0 +1,9 @@
+HgMediawall::title
+{
+ color: var(qtc_view_line_normal);
+}
+
+HgMediawall::description
+{
+ color: var(qtc_view_line_normal);
+}
--- a/ganeswidgets/ganeswidgets.pro Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/ganeswidgets.pro Thu May 27 13:59:05 2010 +0300
@@ -55,7 +55,8 @@
src/hgmediawall_p.cpp \
src/hgqtquadrenderer.cpp \
src/hgtransformedquad.cpp \
- src/hgtransformedquadrenderer.cpp
+ src/hgtransformedquadrenderer.cpp \
+ src/hgcenteritemarea.cpp
HEADERS = inc/trace.h \
../hgwidgets_plat/ganeswidgets_api/inc/hgwidgets.h \
../hgwidgets_plat/ganeswidgets_api/inc/hggrid.h \
@@ -75,7 +76,8 @@
# inc/hgindexfeedback.h \
inc/hgqtquadrenderer.h \
inc/hgtransformedquad.h \
- inc/hgtransformedquadrenderer.h
+ inc/hgtransformedquadrenderer.h \
+ inc/hgcenteritemarea.h
RESOURCES += data/ganeswidgets.qrc
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
--- a/ganeswidgets/inc/HgContainer.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/inc/HgContainer.h Thu May 27 13:59:05 2010 +0300
@@ -42,7 +42,7 @@
public:
explicit HgContainer(QGraphicsItem* parent = 0);
virtual ~HgContainer();
-
+
void setItemCount(int count);
int itemCount() const;
int rowCount() const;
@@ -51,7 +51,7 @@
HgWidgetItem* itemByIndex(const QModelIndex &index) const;
HgWidgetItem* itemByIndex(const int &index) const;
- void setSelectionModel(QItemSelectionModel *selectionModel);
+ void setSelectionModel(QItemSelectionModel *selectionModel, const QModelIndex &defaultItem);
QItemSelectionModel *selectionModel() const;
void setSelectionMode(HgWidget::SelectionMode mode, bool resetSelection);
HgWidget::SelectionMode selectionMode() const;
@@ -80,19 +80,19 @@
void init(Qt::Orientation scrollDirection);
void setDefaultImage(QImage defaultImage);
-
+
void setItemSizePolicy(HgWidget::ItemSizePolicy policy);
HgWidget::ItemSizePolicy itemSizePolicy() const;
void setItemSize(const QSizeF& size);
QSizeF itemSize() const;
-
+
void setItemSpacing(const QSizeF& size);
QSizeF itemSpacing() const;
-
+
Qt::Orientation scrollDirection() const;
qreal scrollPosition() const;
-
+
signals:
// emit this signal when scrolling. for example scrollbar can be connected to this signal.
@@ -103,7 +103,7 @@
void scrollingStarted();
void scrollingEnded();
-protected slots:
+protected slots:
virtual void onScrollingStarted();
virtual void onScrollingEnded();
@@ -113,7 +113,6 @@
void updateBySpringPosition();
void redraw();
void updateLongPressVisualizer();
- void updateByCurrentIndex(const QModelIndex ¤t);
protected: // from HgMediaWallDataProvider
@@ -140,7 +139,6 @@
virtual void handleTapAction(const QPointF& pos, HgWidgetItem* hitItem, int hitItemIndex);
virtual void handleLongTapAction(const QPointF& pos, HgWidgetItem* hitItem, int hitItemIndex);
virtual void onScrollPositionChanged(qreal pos);
- virtual void handleCurrentChanged(const QModelIndex ¤t);
protected:
@@ -172,7 +170,7 @@
void stopLongPressWatcher();
bool updateSelectionModel(HgWidgetItem* item);
-
+
virtual void updateItemSizeAndSpacing();
virtual QSizeF getAutoItemSize() const;
virtual QSizeF getAutoItemSpacing() const;
@@ -200,7 +198,7 @@
QItemSelectionModel *mSelectionModel;
HgImage *mMarkImageOn;
HgImage *mMarkImageOff;
-
+
qreal mSpringVelAtDragStart;
bool mDragged;
int mFramesDragged;
@@ -220,10 +218,10 @@
HgWidget::ItemSizePolicy mItemSizePolicy;
QSizeF mUserItemSize;
QSizeF mUserItemSpacing;
-
+
Qt::Orientation mOrientation;
QModelIndex mDelayedScrollToIndex;
- bool mIgnoreTap;
+ bool mIgnoreGestureAction;
};
#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ganeswidgets/inc/hgcenteritemarea.h Thu May 27 13:59:05 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef HGCENTERICONAREA_H
+#define HGCENTERICONAREA_H
+
+#include <hbwidget.h>
+
+class HgCenterItemArea: public HbWidget
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(HgCenterItemArea)
+
+public:
+ explicit HgCenterItemArea(QGraphicsItem* parent = 0);
+ virtual ~HgCenterItemArea();
+
+signals:
+ void sizeChanged();
+
+private:
+ virtual void resizeEvent(QGraphicsSceneResizeEvent *event);
+
+private: // Data
+
+};
+
+#endif
--- a/ganeswidgets/inc/hgcoverflowcontainer.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/inc/hgcoverflowcontainer.h Thu May 27 13:59:05 2010 +0300
@@ -21,7 +21,7 @@
#include <hgwidgets/hgmediawall.h>
#include "HgContainer.h"
-class HbLabel;
+class HgCenterItemArea;
class HgCoverflowContainer: public HgContainer
{
@@ -34,7 +34,6 @@
// events
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
- virtual void resizeEvent(QGraphicsSceneResizeEvent *event);
// from HgContainer
virtual HgMediaWallRenderer* createRenderer(Qt::Orientation scrollDirection);
@@ -43,22 +42,11 @@
virtual void handleTapAction(const QPointF& pos, HgWidgetItem* hitItem, int hitItemIndex);
virtual void handleLongTapAction(const QPointF& pos, HgWidgetItem* hitItem, int hitItemIndex);
virtual void onScrollPositionChanged(qreal pos);
- virtual void handleCurrentChanged(const QModelIndex & current);
- virtual void itemDataChanged(const int &firstIndex, const int &lastIndex);
virtual void scrollToPosition(const QPointF& pos, bool animate);
virtual QSizeF getAutoItemSize() const;
virtual QSizeF getAutoItemSpacing() const;
virtual void updateItemSizeAndSpacing();
-
- void setTitlePosition(HgMediawall::LabelPosition position);
- HgMediawall::LabelPosition titlePosition() const;
- void setDescriptionPosition(HgMediawall::LabelPosition position);
- HgMediawall::LabelPosition descriptionPosition() const;
- void setTitleFontSpec(const HbFontSpec &fontSpec);
- HbFontSpec titleFontSpec() const;
- void setDescriptionFontSpec(const HbFontSpec &fontSpec);
- HbFontSpec descriptionFontSpec() const;
void setFrontItemPositionDelta(const QPointF& position);
QPointF frontItemPositionDelta() const;
@@ -66,33 +54,27 @@
void enableReflections(bool enabled);
bool reflectionsEnabled() const;
+ void setCenterItemArea(HgCenterItemArea *centerItemArea);
+
+public slots:
+
+ void updateItemSize();
+
signals:
void animationAboutToEnd(const QModelIndex& targetIndex);
-private: // From HgContainer
- void setDefaultImage(QImage defaultImage);
-
private:
- void updateLabels(int itemIndex);
-
- void updatePositions();
-
- void calculatePositions();
- void positionLabels();
+ void calculateItemSize();
void onScrollingStarted();
void onScrollingEnded();
private:
- HbLabel *mTitleLabel;
- HbLabel *mDescriptionLabel;
- HgMediawall::LabelPosition mTitlePosition;
- HgMediawall::LabelPosition mDescriptionPosition;
- int mPrevPos;
- qreal mAspectRatio;
- QSizeF mAutoSize;
- bool mAnimationAboutToEndReacted;
+ int mPrevPos;
+ QSizeF mAutoSize;
+ bool mAnimationAboutToEndReacted;
+ HgCenterItemArea *mCenterItemArea;
};
#endif
--- a/ganeswidgets/inc/hggrid_p.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/inc/hggrid_p.h Thu May 27 13:59:05 2010 +0300
@@ -31,6 +31,11 @@
virtual ~HgGridPrivate();
void init(Qt::Orientation scrollDirection);
+ bool effect3dEnabled() const;
+ void setEffect3dEnabled(bool effect3dEnabled);
+
+private: // From HgWidgetPrivate
+ void orientationChanged(Qt::Orientation orientation);
private:
--- a/ganeswidgets/inc/hggridcontainer.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/inc/hggridcontainer.h Thu May 27 13:59:05 2010 +0300
@@ -34,6 +34,9 @@
virtual ~HgGridContainer();
+ void setEffect3dEnabled(bool effect3dEnabled);
+ bool effect3dEnabled() const;
+
protected:
// events
@@ -46,7 +49,10 @@
virtual void handleTapAction(const QPointF& pos, HgWidgetItem* hitItem, int hitItemIndex);
virtual void handleLongTapAction(const QPointF& pos, HgWidgetItem* hitItem, int hitItemindex);
virtual void onScrollPositionChanged(qreal pos);
-
+
+private:
+
+ bool mEffect3dEnabled;
};
#endif
--- a/ganeswidgets/inc/hgmediawall_p.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/inc/hgmediawall_p.h Thu May 27 13:59:05 2010 +0300
@@ -22,6 +22,9 @@
#include "hgwidgets_p.h"
class HgCoverflowContainer;
+class HgCenterItemArea;
+class HbIconItem;
+class HbTextItem;
class HgMediawallPrivate : public HgWidgetPrivate
{
@@ -34,18 +37,21 @@
void init(Qt::Orientation orientation);
- void setTitlePosition(HgMediawall::LabelPosition position);
- HgMediawall::LabelPosition titlePosition() const;
- void setDescriptionPosition(HgMediawall::LabelPosition position);
- HgMediawall::LabelPosition descriptionPosition() const;
void setTitleFontSpec(const HbFontSpec &fontSpec);
HbFontSpec titleFontSpec() const;
void setDescriptionFontSpec(const HbFontSpec &fontSpec);
HbFontSpec descriptionFontSpec() const;
-
HgCoverflowContainer *container();
const HgCoverflowContainer *container() const;
+
+private: // From HgWidgetPrivate
+ void updateCurrentItem(const QModelIndex ¤tItem);
+
+private:
+ HbTextItem *mTitleItem;
+ HbTextItem *mDescriptionItem;
+ HgCenterItemArea *mCenterItemArea; // Dummy item for calculating correct position for center item
};
#endif //HGMEDIAWALL_P_H
--- a/ganeswidgets/inc/hgspring.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/inc/hgspring.h Thu May 27 13:59:05 2010 +0300
@@ -42,6 +42,7 @@
void gotoPos(const QPointF& pos);
void cancel();
bool isActive() const;
+ void resetVelocity();
const QPointF& startPos() const;
const QPointF& pos() const;
--- a/ganeswidgets/inc/hgwidgetitem.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/inc/hgwidgetitem.h Thu May 27 13:59:05 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009 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"
@@ -11,11 +11,10 @@
*
* Contributors:
*
-* Description: HgWidget private class definition
+* Description:
*
*/
-
#ifndef HGWIDGETITEM_H
#define HGWIDGETITEM_H
--- a/ganeswidgets/inc/hgwidgets_p.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/inc/hgwidgets_p.h Thu May 27 13:59:05 2010 +0300
@@ -57,26 +57,26 @@
bool getItemOutline(const QModelIndex& index, QPolygonF& points);
void aboutToChangeOrientation();
- void orientationChanged(Qt::Orientation orientation);
-
+ virtual void orientationChanged(Qt::Orientation orientation);
+
QList<QModelIndex> getVisibleItemIndices() const;
Qt::Orientation scrollDirection() const;
void setIndexFeedbackPolicy( HgWidget::IndexFeedbackPolicy policy);
HgWidget::IndexFeedbackPolicy indexFeedbackPolicy() const;
void setDefaultImage(QImage defaultImage);
-
+
void setItemSizePolicy(HgWidget::ItemSizePolicy policy);
HgWidget::ItemSizePolicy itemSizePolicy() const;
void setItemSize(const QSizeF& size);
QSizeF itemSize() const;
-
+
void setItemSpacing(const QSizeF& size);
QSizeF itemSpacing() const;
-
+
HgWidget *q_ptr;
-
+
private:
void clearCurrentModel();
@@ -85,7 +85,7 @@
void adjustGeometry();
void createScrollBar(Qt::Orientation orientation);
-
+
void setScrollBarPolicy(HgWidget::ScrollBarPolicy policy);
void replaceScrollBar(HbScrollBar *scrollBar);
@@ -98,7 +98,8 @@
void lostForeground();
void gainedForeground();
-
+ virtual void updateCurrentItem(const QModelIndex ¤tItem);
+
// private slot functions
void _q_scrollPositionChanged(qreal index, bool scrollBarAnimation);
void _q_releaseItems( int releaseStart, int releaseEnd );
@@ -112,20 +113,18 @@
int destinationRow);
void _q_modelReset();
void _q_groovePressed(qreal value, Qt::Orientation orientation);
+ void _q_updateCurrentItem(const QModelIndex ¤t, const QModelIndex &previous);
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
void initBufferManager(int itemCount);
-
+
protected:
- QGraphicsLinearLayout *mLayout;
-
HgContainer *mContainer;
HgScrollBufferManager *mBufferManager;
QAbstractItemModel *mModel;
- QItemSelectionModel *mSelectionModel;
QItemSelectionModel *mDefaultSelectionModel;
HbScrollBar *mScrollBar;
--- a/ganeswidgets/src/HgContainer.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/HgContainer.cpp Thu May 27 13:59:05 2010 +0300
@@ -34,6 +34,7 @@
#include <hbgridview>
#include <hbiconitem>
#include <qabstractitemmodel>
+#include <hbtapgesture>
#include "hglongpressvisualizer.h"
static const qreal KSpringKScrolling(50.0);
@@ -64,13 +65,12 @@
mItemSizePolicy(HgWidget::ItemSizeAutomatic),
mOrientation(Qt::Vertical),
mDelayedScrollToIndex(),
- mIgnoreTap(false)
+ mIgnoreGestureAction(false)
{
FUNC_LOG;
grabGesture(Qt::PanGesture);
grabGesture(Qt::TapGesture);
- grabGesture(Qt::TapAndHoldGesture);
}
HgContainer::~HgContainer()
@@ -134,24 +134,32 @@
Ownership is not transferred.
Widget is redrawn to make new selection visible.
*/
-void HgContainer::setSelectionModel(QItemSelectionModel *selectionModel)
+void HgContainer::setSelectionModel(QItemSelectionModel *selectionModel, const QModelIndex &defaultItem)
{
FUNC_LOG;
HANDLE_ERROR_NULL(selectionModel); // Parameter is always a valid QItemSelectionModel
- if (mSelectionModel != selectionModel) {
- if (mSelectionModel) { // mSelectionModel is 0 when called first time
- mSelectionModel->disconnect(SIGNAL(currentChanged(QModelIndex,QModelIndex)), this);
+ if (mSelectionModel == selectionModel) return;
+
+ bool defaultCurrentSet(false);
- if (mSelectionModel->currentIndex().isValid() &&
- !(selectionModel->currentIndex().isValid())) {
- selectionModel->setCurrentIndex(mSelectionModel->currentIndex(),
- QItemSelectionModel::Current);
- }
+ if (!selectionModel->currentIndex().isValid()) { // If there is valid current item, do not change it
+ if (!mSelectionModel && defaultItem.isValid()) { // mSelectionModel is 0 when called first time
+ selectionModel->setCurrentIndex(defaultItem, QItemSelectionModel::Current);
+ defaultCurrentSet = true;
+ }
+ else if (mSelectionModel && mSelectionModel->currentIndex().isValid()) {
+ selectionModel->setCurrentIndex(mSelectionModel->currentIndex(),
+ QItemSelectionModel::Current);
}
- mSelectionModel = selectionModel;
- connect(mSelectionModel, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
- SLOT(updateByCurrentIndex(QModelIndex)));
+ }
+
+ mSelectionModel = selectionModel;
+
+ if (mSelectionModel->currentIndex().isValid() && !defaultCurrentSet) {
+ scrollTo(mSelectionModel->currentIndex());
+ }
+ else {
update();
}
}
@@ -219,7 +227,7 @@
void HgContainer::setOrientation(Qt::Orientation orientation, bool animate)
{
FUNC_LOG;
-
+
mOrientation = orientation;
mRenderer->setOrientation(orientation);
mRenderer->setScrollDirection(orientation, animate);
@@ -251,20 +259,22 @@
void HgContainer::scrollTo(const QModelIndex &index)
{
FUNC_LOG;
+ INFO("Scrolling to" << index);
if (index.isValid() && mRenderer->getRowCount() > 0 ) {
-
+
QRectF containerRect(rect());
if (containerRect.isNull()) {
// Container hasn't been resized yet. We need to know the container
// size before we can calculate if index we are scrolling to is valid.
// Store scrollTo index and scrolling is performed when container is resized.
mDelayedScrollToIndex = index;
+ return;
}
-
+
// Container has some size. We can try to calculate if scrollto index is valid.
// ScrollTo index will be the top item in grid and left item on coverflow.
-
+
if (!mRenderer->coverflowModeEnabled()) {
// Grid case
int itemsOnScreen = 0;
@@ -277,12 +287,12 @@
itemsOnScreen *= rowCount();
if (itemsOnScreen + index.row() > mItems.count()) {
int newItem = mItems.count()-itemsOnScreen;
-
- if (mItems.count()%rowCount())
+
+ if (mItems.count()%rowCount())
newItem += rowCount() - (mItems.count()%rowCount());
- if (newItem < 0)
+ if (newItem < 0)
newItem = 0;
-
+
scrollToPosition(QPointF(newItem/mRenderer->getRowCount(),0), false);
} else {
scrollToPosition(QPointF(index.row()/mRenderer->getRowCount(), 0), false);
@@ -298,21 +308,21 @@
if (itemsOnScreen + index.row() > mItems.count()) {
int newItem = mItems.count()-itemsOnScreen;
- if (mItems.count()%rowCount())
+ if (mItems.count()%rowCount())
newItem += rowCount() - (mItems.count()%rowCount());
if (newItem < 0) newItem = 0;
-
+
scrollToPosition(QPointF(newItem/mRenderer->getRowCount(),0), false);
} else {
scrollToPosition(QPointF(index.row()/mRenderer->getRowCount(), 0), false);
}
}
- updateBySpringPosition();
+ updateBySpringPosition();
} else {
// Coverflow case. TODO, this will need some finetuning.
scrollToPosition(QPointF(index.row()/mRenderer->getRowCount(), 0), false);
- updateBySpringPosition();
- }
+ updateBySpringPosition();
+ }
}
}
@@ -400,7 +410,7 @@
if (mSelectionModel && mSelectionModel->isSelected(mSelectionModel->model()->index(index, 0))) {
return 1; // TODO: Assign flag to mark indicator
} else
- return 0;
+ return 0;
}
}
return 0;
@@ -438,20 +448,20 @@
{
Q_UNUSED(option)
Q_UNUSED(widget)
-
- // update spring position at paint if needed,
- // this is hack for scrollbar, since dragging it
+
+ // update spring position at paint if needed,
+ // this is hack for scrollbar, since dragging it
// causes also paint events in here
if (mSpring.updatePositionIfNeeded())
{
qreal pos = mSpring.pos().x();
onScrollPositionChanged(pos);
- emit scrollPositionChanged(pos, true);
+ emit scrollPositionChanged(pos, true);
}
-
+
QPainter::RenderHints hints = painter->renderHints();
painter->setRenderHint(QPainter::SmoothPixmapTransform, true);
-
+
// interpolate spring velocity towards zero, this is done
// so that spring velocity for rendering doesn't drop directly to
@@ -489,14 +499,6 @@
void HgContainer::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
Q_UNUSED(event);
- if (mSpring.isActive() && !mRenderer->coverflowModeEnabled()) {
- // We could do some small animation when scrolling is stopped.
- mSpring.cancel();
- update();
- mIgnoreTap = true;
- } else {
- mIgnoreTap = false;
- }
}
void HgContainer::gestureEvent(QGestureEvent *event)
@@ -505,34 +507,29 @@
bool eventHandled(false);
// Event may contain more than one gesture type
- if (QGesture *gesture = event->gesture(Qt::TapAndHoldGesture)) {
- QTapAndHoldGesture *tapAndHold = static_cast<QTapAndHoldGesture *>(gesture);
- if (handleLongTap(tapAndHold->state(),
- mapFromScene(event->mapToGraphicsScene(tapAndHold->position())))) {
+ HbTapGesture *tap = 0;
+ if (QGesture *gesture = event->gesture(Qt::TapGesture)) {
+ tap = static_cast<HbTapGesture *>(event->gesture(Qt::TapGesture));
+ if (tap->tapStyleHint() == HbTapGesture::TapAndHold) {
+ eventHandled = handleLongTap(tap->state(),
+ mapFromScene(event->mapToGraphicsScene(tap->hotSpot())));
+
+ } else {
+ eventHandled = handleTap(tap->state(),
+ mapFromScene(event->mapToGraphicsScene(tap->hotSpot())));
}
}
- else if (QGesture *gesture = event->gesture(Qt::TapGesture)) {
- // Tap and hold is not working yet in HW, tap gesture is delivered instead
- QTapGesture *tap = static_cast<QTapGesture *>(gesture);
- eventHandled = handleTap(tap->state(),
- mapFromScene(event->mapToGraphicsScene(tap->position())));
- }
- else if (QGesture *pan = event->gesture(Qt::PanGesture)) {
+ if (QGesture *pan = event->gesture(Qt::PanGesture)) {
eventHandled = handlePanning(static_cast<QPanGesture*>(pan));
+ } else if( mIgnoreGestureAction && tap && tap->state() == Qt::GestureCanceled ) {
+ // user has tapped or long pressed in grid while scrolling so we need to
+ // stop the 3d effect.
+ mSpring.resetVelocity();
+ update();
+ mIgnoreGestureAction = false;
}
- if (eventHandled) {
- event->accept();
- event->accept(Qt::TapAndHoldGesture);
- event->accept(Qt::TapGesture);
- event->accept(Qt::PanGesture);
- }
- else {
- event->ignore();
- event->ignore(Qt::TapAndHoldGesture);
- event->ignore(Qt::TapGesture);
- event->ignore(Qt::PanGesture);
- }
+ eventHandled ? event->accept() : event->ignore();
}
void HgContainer::init(Qt::Orientation scrollDirection)
@@ -553,19 +550,19 @@
if (mMarkImageOn) {
mMarkImageOn->setImage(markImage);
}
-
+
/* mMarkImageOn = mQuadRenderer->createNativeImage();
HANDLE_ERROR_NULL(mMarkImageOn);
mMarkImageOff = mQuadRenderer->createNativeImage();
HANDLE_ERROR_NULL(mMarkImageOff);
-
+
// Fetch icons for marking mode (on and off states).
- QGraphicsItem* checkBox = style()->createPrimitive(HbStyle::P_CheckBox_icon, this);
- HbIconItem* iconItem = static_cast<HbIconItem*>(checkBox);
+ QGraphicsItem* checkBox = style()->createPrimitive(HbStyle::P_CheckBox_icon, this);
+ HbIconItem* iconItem = static_cast<HbIconItem*>(checkBox);
HbStyleOptionCheckBox checkBoxOption;
checkBoxOption.state = QStyle::State_On;
style()->updatePrimitive(iconItem, HbStyle::P_CheckBox_icon, &checkBoxOption);
-
+
if (mMarkImageOn) {
mMarkImageOn->setPixmap(iconItem->icon().pixmap());
}
@@ -577,7 +574,7 @@
}
delete checkBox;
-*/
+*/
connect(&mSpring, SIGNAL(updated()), SLOT(updateBySpringPosition()));
connect(&mSpring, SIGNAL(started()), SIGNAL(scrollingStarted()));
connect(&mSpring, SIGNAL(started()), SLOT(onScrollingStarted()));
@@ -665,11 +662,14 @@
emit scrollingStarted();
qreal newPosition = mDrag.update(delta, pos, itemSide);
- if (qAbs(newPosition - mSpring.pos().x()) > 0.01f)
- {
+ if (qAbs(newPosition - mSpring.pos().x()) > 0.01f) {
mSpring.gotoPos(QPointF(newPosition, 0));
- emit scrollPositionChanged(newPosition,true);
- update();
+ if (mRenderer->coverflowModeEnabled()) {
+ emit scrollPositionChanged(newPosition,true);
+ update();
+ } else {
+ updateBySpringPosition();
+ }
}
}
}
@@ -688,6 +688,12 @@
boundSpring();
}
}
+ else if(!mDragged && gesture->state() == Qt::GestureFinished) {
+ if (!mRenderer->coverflowModeEnabled()) {
+ mSpring.resetVelocity();
+ update();
+ }
+ }
else if (gesture->state() == Qt::GestureCanceled) {
boundSpring();
}
@@ -698,47 +704,64 @@
bool HgContainer::handleTap(Qt::GestureState state, const QPointF &pos)
{
FUNC_LOG;
+
+ bool handleGesture = false;
- if (state == Qt::GestureStarted) {
- if (hasItemAt(pos)) {
- mTapDuration.start();
- startLongPressWatcher(pos);
- return true;
- }
- return false;
- }
- else if (state == Qt::GestureCanceled)
- {
- stopLongPressWatcher();
-
- if (hasItemAt(pos)) {
- return true;
- }
- return false;
- }
- else if (state == Qt::GestureFinished) {
- stopLongPressWatcher();
- return handleItemAction(pos, mTapDuration.elapsed() > KLongTapDuration ? LongTap : NormalTap);
- }
-
- return false;
+ if (hasItemAt(pos)) {
+ switch (state)
+ {
+ case Qt::GestureStarted:
+ {
+ if (mRenderer->coverflowModeEnabled() || !mSpring.isActive()) {
+ mIgnoreGestureAction = false;
+ startLongPressWatcher(pos);
+ } else if(mSpring.isActive()) {
+ mSpring.cancel();
+ mIgnoreGestureAction = true;
+ }
+ break;
+ }
+ case Qt::GestureFinished:
+ handleGesture = handleItemAction(pos, NormalTap);
+ case Qt::GestureUpdated:
+ case Qt::GestureCanceled:
+ default:
+ stopLongPressWatcher();
+ break;
+ }
+
+ handleGesture = true;
+ } else {
+ mIgnoreGestureAction = true;
+ }
+ return handleGesture;
}
bool HgContainer::handleLongTap(Qt::GestureState state, const QPointF &pos)
{
FUNC_LOG;
+ bool handleGesture = false;
+
if (hasItemAt(pos)) {
- mAnimateUsingScrollBar = false;
- initSpringForScrolling();
- if (state == Qt::GestureFinished) {
- handleItemAction(pos, LongTap);
- }
- return true;
+ switch (state)
+ {
+ case Qt::GestureUpdated:
+ handleItemAction(pos,LongTap);
+ case Qt::GestureStarted:
+ case Qt::GestureCanceled:
+ case Qt::GestureFinished:
+ default:
+ stopLongPressWatcher();
+ break;
+ }
+ handleGesture = true;
+ } else {
+ mIgnoreGestureAction = true;
}
- return false;
+ return handleGesture;
}
/*!
@@ -763,12 +786,19 @@
if (action == LongTap) {
INFO("Long tap:" << item->modelIndex().row());
- mSelectionModel->setCurrentIndex(item->modelIndex(), QItemSelectionModel::Current);
-
- if (!mRenderer->coverflowModeEnabled())
+ if (!mRenderer->coverflowModeEnabled()) {
selectItem(index);
-
- emit longPressed(item->modelIndex(), pos);
+ } else {
+ mSelectionModel->setCurrentIndex(item->modelIndex(), QItemSelectionModel::Current);
+ }
+
+ if (!mIgnoreGestureAction) {
+ emit longPressed(item->modelIndex(), pos);
+ } else {
+ mSpring.resetVelocity();
+ update();
+ mIgnoreGestureAction = false;
+ }
}
else if (mSelectionMode == HgWidget::MultiSelection) {
mSelectionModel->setCurrentIndex(item->modelIndex(), QItemSelectionModel::Current);
@@ -817,10 +847,15 @@
}
}
else { //grid mode
- if (!mIgnoreTap) {
- mSelectionModel->setCurrentIndex(item->modelIndex(), QItemSelectionModel::Current);
+ if (!mIgnoreGestureAction) {
+ // Current should be topleft item.
+// mSelectionModel->setCurrentIndex(item->modelIndex(), QItemSelectionModel::Current);
selectItem(index);
emit activated(item->modelIndex());
+ } else {
+ mSpring.resetVelocity();
+ update();
+ mIgnoreGestureAction = false;
}
}
}
@@ -966,11 +1001,6 @@
}
}
-void HgContainer::updateByCurrentIndex(const QModelIndex ¤t)
-{
- handleCurrentChanged(current);
-}
-
bool HgContainer::hasItemAt(const QPointF& pos)
{
int dummy;
@@ -1066,12 +1096,6 @@
// By default do nothing
}
-void HgContainer::handleCurrentChanged(const QModelIndex ¤t)
-{
- Q_UNUSED(current)
- // By default do nothing
-}
-
void HgContainer::setDefaultImage(QImage defaultImage)
{
HgQuadRenderer *renderer = mRenderer->getRenderer();
@@ -1147,3 +1171,4 @@
return mSpring.pos().x();
}
+// EOF
--- a/ganeswidgets/src/HgImageFader.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/HgImageFader.cpp Thu May 27 13:59:05 2010 +0300
@@ -11,16 +11,9 @@
*
* Contributors:
*
-* Description:
+* Description:
*
*/
-/*
- * HgImageFader.cpp
- *
- * Created on: Feb 10, 2010
- * Author: anpentti
- */
-
#include "HgImageFader.h"
#include "hgimage.h"
--- a/ganeswidgets/src/HgScrollBufferManager.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/HgScrollBufferManager.cpp Thu May 27 13:59:05 2010 +0300
@@ -152,6 +152,8 @@
void HgScrollBufferManager::timeout()
{
+ mFirstTime = false;
+
if(mResetOrdered)
{
mResetOrdered = EFalse;
@@ -207,9 +209,8 @@
void HgScrollBufferManager::asyncUpdate()
{
if (!mTimer.isActive() && mFirstTime) {
- mFirstTime = false;
mTimer.start(0);
- } else {
+ } else if (!mTimer.isActive()){
timeout();
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ganeswidgets/src/hgcenteritemarea.cpp Thu May 27 13:59:05 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#include <QGraphicsSceneResizeEvent>
+#include "hgcenteritemarea.h"
+#include "trace.h"
+
+HgCenterItemArea::HgCenterItemArea(QGraphicsItem* parent) :
+ HbWidget(parent)
+{
+ FUNC_LOG;
+}
+
+HgCenterItemArea::~HgCenterItemArea()
+{
+ FUNC_LOG;
+}
+
+void HgCenterItemArea::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+ FUNC_LOG;
+ INFO("HgCenterItemArea: size:" << size() << event->newSize());
+
+ emit sizeChanged();
+ HbWidget::resizeEvent(event);
+}
--- a/ganeswidgets/src/hgcoverflowcontainer.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hgcoverflowcontainer.cpp Thu May 27 13:59:05 2010 +0300
@@ -22,33 +22,19 @@
#include "hgcoverflowcontainer.h"
#include "hgmediawallrenderer.h"
#include "hgwidgetitem.h"
+#include "hgcenteritemarea.h"
#include "trace.h"
static const qreal KCameraMaxYAngle(20);
static const qreal KSpringVelocityToCameraYAngleFactor(2);
-static const int KLabelMargin(4);
HgCoverflowContainer::HgCoverflowContainer(
QGraphicsItem* parent) : HgContainer(parent),
- mTitleLabel(0),
- mDescriptionLabel(0),
- mTitlePosition(HgMediawall::PositionAboveImage),
- mDescriptionPosition(HgMediawall::PositionNone),
mPrevPos(-1),
- mAspectRatio(1),
- mAnimationAboutToEndReacted(false)
+ mAnimationAboutToEndReacted(false),
+ mCenterItemArea(0)
{
- mTitleLabel = new HbLabel(this);
- mTitleLabel->setZValue(zValue()+1);
- mTitleLabel->setAlignment(Qt::AlignCenter);
- mTitleLabel->setVisible(false);
-
- mDescriptionLabel = new HbLabel(this);
- mDescriptionLabel->setZValue(zValue()+1);
- mDescriptionLabel->setAlignment(Qt::AlignCenter);
- mDescriptionLabel->setVisible(false);
-
mUserItemSize = QSize(250,250);
mUserItemSpacing = QSize(1,1);
}
@@ -65,15 +51,6 @@
painter->setRenderHint(QPainter::Antialiasing, false);
}
-void HgCoverflowContainer::resizeEvent(QGraphicsSceneResizeEvent *event)
-{
- FUNC_LOG;
-
- HbWidget::resizeEvent(event);
-
- updatePositions();
-}
-
// from HgContainer
HgMediaWallRenderer* HgCoverflowContainer::createRenderer(Qt::Orientation scrollDirection)
{
@@ -125,7 +102,7 @@
if(!mAnimationAboutToEndReacted) {
qreal endPos = mSpring.endPos().x();
qreal abs = qAbs(endPos - mSpring.pos().x());
-
+
if( abs <= 0.5f ) {
HgWidgetItem* item = itemByIndex((int)endPos);
if (item) {
@@ -134,7 +111,7 @@
}
}
}
-
+
qreal ipos = floorf(pos);
qreal frac = pos - ipos;
qreal p = frac > 0.5 ? ipos + 1.0f : ipos;
@@ -158,302 +135,32 @@
mAnimationAboutToEndReacted = false; //reset
}
-void HgCoverflowContainer::handleCurrentChanged(const QModelIndex ¤t)
-{
- FUNC_LOG;
-
- if (current.isValid()) {
- updateLabels(current.row());
- }
-}
-
-void HgCoverflowContainer::itemDataChanged(const int &firstIndex, const int &lastIndex)
-{
- FUNC_LOG;
- HANDLE_ERROR_NULL(mSelectionModel); // If model has been set, also is selection model
-
- HgContainer::itemDataChanged(firstIndex, lastIndex);
-
- if (mSelectionModel->currentIndex().isValid()) {
- int current = mSelectionModel->currentIndex().row();
- if (firstIndex <= current && current <= lastIndex) {
- updateLabels(current);
- }
- }
-
- if (firstIndex == 0) {
- // Take preferred aspect ratio from the first image
- const HgImage *firstImage = image(0);
- if (firstImage && firstImage->height() != 0) {
- mAspectRatio = qMax((qreal)0.1, (qreal)firstImage->width()/firstImage->height()); // Don't let aspect ratio go to 0
- updatePositions();
- }
- }
-}
-
-void HgCoverflowContainer::setTitlePosition(HgMediawall::LabelPosition position)
-{
- FUNC_LOG;
-
- if (mTitlePosition != position) {
- mTitlePosition = position;
- updatePositions();
- }
-}
-
-HgMediawall::LabelPosition HgCoverflowContainer::titlePosition() const
-{
- FUNC_LOG;
-
- return mTitlePosition;
-}
-
-void HgCoverflowContainer::setDescriptionPosition(HgMediawall::LabelPosition position)
-{
- FUNC_LOG;
-
- if (mDescriptionPosition != position) {
- mDescriptionPosition = position;
- updatePositions();
- }
-}
-
-HgMediawall::LabelPosition HgCoverflowContainer::descriptionPosition() const
-{
- FUNC_LOG;
-
- return mDescriptionPosition;
-}
-
-void HgCoverflowContainer::setTitleFontSpec(const HbFontSpec &fontSpec)
-{
- FUNC_LOG;
-
- if (!mTitleLabel) return;
- if (mTitleLabel->fontSpec() != fontSpec) {
- mTitleLabel->setFontSpec(fontSpec);
- updatePositions();
- }
-}
-
-HbFontSpec HgCoverflowContainer::titleFontSpec() const
-{
- FUNC_LOG;
-
- if (!mTitleLabel) return HbFontSpec();
- return mTitleLabel->fontSpec();
-}
-
-void HgCoverflowContainer::setDescriptionFontSpec(const HbFontSpec &fontSpec)
-{
- FUNC_LOG;
-
- if (!mDescriptionLabel) return;
- if (mDescriptionLabel->fontSpec() != fontSpec) {
- mDescriptionLabel->setFontSpec(fontSpec);
- updatePositions();
- }
-}
-
-HbFontSpec HgCoverflowContainer::descriptionFontSpec() const
+void HgCoverflowContainer::calculateItemSize()
{
FUNC_LOG;
- if (!mDescriptionLabel) return HbFontSpec();
- return mDescriptionLabel->fontSpec();
-}
-
-void HgCoverflowContainer::calculatePositions()
-{
- FUNC_LOG;
- HANDLE_ERROR_NULL(mTitleLabel);
- HANDLE_ERROR_NULL(mDescriptionLabel);
+ QRectF containerRect = contentsRect();
+ INFO("Container rect:" << containerRect);
- int height = size().height();
- int width = size().width();
- int titleHeight = QFontMetrics(mTitleLabel->effectiveFontSpec().font()).height();
- int descriptionHeight = QFontMetrics(mDescriptionLabel->effectiveFontSpec().font()).height();
- qreal usableHeight = height-KLabelMargin;
- if (mTitlePosition != HgMediawall::PositionNone) {
- usableHeight -= (titleHeight+KLabelMargin);
- }
- if (mDescriptionPosition != HgMediawall::PositionNone) {
- usableHeight -= (descriptionHeight+KLabelMargin);
- }
-
- if (usableHeight <= 0) return;
-
- qreal usableWidth = width/1.4;
- if (usableWidth <= 0) return;
-
- QRectF imageRect = rect();
- if (usableWidth/usableHeight > mAspectRatio) {
- imageRect.setHeight(usableHeight);
- imageRect.setWidth(mAspectRatio*usableHeight);
- imageRect.moveLeft((width-imageRect.width())/2);
- }
- else {
- imageRect.setWidth(usableWidth);
- imageRect.setHeight(usableWidth/mAspectRatio);
- imageRect.moveTop((usableHeight-imageRect.height())/2);
- imageRect.moveLeft((width-imageRect.width())/2);
- }
-
- QRectF titleGeometry(0, imageRect.top()+KLabelMargin, width, titleHeight);
- QRectF descriptionGeometry(0, imageRect.top()+KLabelMargin, width, descriptionHeight);
+ if (!mCenterItemArea) return;
- if (mTitlePosition == HgMediawall::PositionAboveImage &&
- mDescriptionPosition == HgMediawall::PositionAboveImage) {
- // titleGeometry default is ok
- descriptionGeometry.moveTop(titleGeometry.bottom()+KLabelMargin);
- imageRect.moveTop(descriptionGeometry.bottom()+KLabelMargin);
- }
- else if (mTitlePosition == HgMediawall::PositionBelowImage &&
- mDescriptionPosition == HgMediawall::PositionBelowImage) {
- titleGeometry.moveTop(imageRect.bottom()+KLabelMargin);
- descriptionGeometry.moveTop(titleGeometry.bottom()+KLabelMargin);
- }
- else {
- if (mTitlePosition == HgMediawall::PositionAboveImage) {
- // titleGeometry default is ok
- imageRect.moveTop(titleGeometry.bottom()+KLabelMargin);
- }
- else if (mDescriptionPosition == HgMediawall::PositionAboveImage) {
- // descriptionGeometry default is ok
- imageRect.moveTop(descriptionGeometry.bottom()+KLabelMargin);
- }
+ QRectF centerItemRect = mCenterItemArea->mapRectToParent(mCenterItemArea->contentsRect());
+ INFO("Center item rect:" << centerItemRect);
+ if (centerItemRect.isEmpty()) return;
- if (mTitlePosition == HgMediawall::PositionBelowImage) {
- titleGeometry.moveTop(imageRect.bottom()+KLabelMargin);
- }
- else if (mDescriptionPosition == HgMediawall::PositionBelowImage) {
- descriptionGeometry.moveTop(imageRect.bottom()+KLabelMargin);
- }
- }
-
- INFO("Setting image rect to:" << imageRect << "(total size:" << QSize(width, height)
- << "usable size:" << QSizeF(usableWidth, usableHeight) << ", aspect ratio is:" << mAspectRatio << ")");
-
- mRenderer->setImageSize(imageRect.size());
- qreal diff = rect().center().y()-imageRect.center().y();
-
- INFO("Setting front item position to:" << QPointF(0, -diff) << "(rect:" << rect()
- << "imageRect:" << imageRect << ")");
- mRenderer->setFrontItemPosition(QPointF(0, -diff));
-
- mAutoSize = imageRect.size();
-
- if (mTitlePosition != HgMediawall::PositionNone) {
- INFO("Title geometry:" << titleGeometry);
- mTitleLabel->setGeometry(titleGeometry);
- mTitleLabel->setVisible(true);
- }
- else {
- mTitleLabel->setVisible(false);
- }
- if (mDescriptionPosition != HgMediawall::PositionNone) {
- INFO("Description geometry:" << descriptionGeometry);
- mDescriptionLabel->setGeometry(descriptionGeometry);
- mDescriptionLabel->setVisible(true);
+ QSizeF imageSize(1, 1); // Aspect ratio 1:1
+ if (!mUserItemSize.isEmpty()) {
+ imageSize = mUserItemSize; // Get aspect ration from user item size
}
- else {
- mDescriptionLabel->setVisible(false);
- }
-
- // This may be called before selection model is set.
- if (mSelectionModel && mSelectionModel->currentIndex().isValid()) {
- updateLabels(mSelectionModel->currentIndex().row());
- }
-
- mRenderer->setSpacing(QSizeF(1,1));
-
-}
+ imageSize.scale(centerItemRect.size(), Qt::KeepAspectRatio);
-void HgCoverflowContainer::positionLabels()
-{
- FUNC_LOG;
- HANDLE_ERROR_NULL(mTitleLabel);
- HANDLE_ERROR_NULL(mDescriptionLabel);
-
- int centerIconTop = (size().height() - mRenderer->getImageSize().height()) / 2;
-
- int height = size().height();
- int width = size().width();
- int titleHeight = QFontMetrics(mTitleLabel->effectiveFontSpec().font()).height();
- int descriptionHeight = QFontMetrics(mDescriptionLabel->effectiveFontSpec().font()).height();
+ QPointF delta = centerItemRect.center() - containerRect.center();
+ INFO("Setting image size to:" << imageSize << "delta:" << delta);
- if (mTitlePosition == HgMediawall::PositionAboveImage &&
- mDescriptionPosition == HgMediawall::PositionAboveImage) {
- mTitleLabel->setGeometry(QRectF(
- 0,
- qMax(KLabelMargin, centerIconTop-2*KLabelMargin-titleHeight-descriptionHeight),
- width, titleHeight));
- mDescriptionLabel->setGeometry(QRectF(
- 0,
- mTitleLabel->geometry().bottom()+KLabelMargin,
- width, descriptionHeight));
- }
- else if (mTitlePosition == HgMediawall::PositionBelowImage &&
- mDescriptionPosition == HgMediawall::PositionBelowImage) {
- mDescriptionLabel->setGeometry(QRectF(
- 0,
- height-descriptionHeight-KLabelMargin,
- width, descriptionHeight));
- mTitleLabel->setGeometry(QRectF(
- 0,
- mDescriptionLabel->geometry().top()-titleHeight-KLabelMargin,
- width, titleHeight));
- }
- else {
- if (mTitlePosition == HgMediawall::PositionAboveImage) {
- mTitleLabel->setGeometry(QRectF(
- 0,
- qMax(KLabelMargin, centerIconTop-KLabelMargin-titleHeight),
- width, titleHeight));
- }
- else if (mTitlePosition == HgMediawall::PositionBelowImage) {
- mTitleLabel->setGeometry(QRectF(
- 0,
- height-titleHeight-KLabelMargin,
- width, titleHeight));
- }
-
- if (mDescriptionPosition == HgMediawall::PositionAboveImage) {
- mDescriptionLabel->setGeometry(QRectF(
- 0,
- qMax(KLabelMargin, centerIconTop-KLabelMargin-descriptionHeight),
- width, descriptionHeight));
- }
- else if (mDescriptionPosition == HgMediawall::PositionBelowImage) {
- mDescriptionLabel->setGeometry(QRectF(
- 0,
- height-descriptionHeight-KLabelMargin,
- width, descriptionHeight));
- }
- }
-
- mTitleLabel->setVisible(mTitlePosition != HgMediawall::PositionNone);
- mDescriptionLabel->setVisible(mDescriptionPosition != HgMediawall::PositionNone);
-
- INFO("Title geometry:" << mTitleLabel->geometry() << "visible:" << mTitleLabel->isVisible());
- INFO("Description geometry:" << mDescriptionLabel->geometry() << "visible:" << mDescriptionLabel->isVisible());
-
- if ( mSelectionModel && mSelectionModel->currentIndex().isValid()) {
- updateLabels(mSelectionModel->currentIndex().row());
- }
-}
-
-
-void HgCoverflowContainer::updateLabels(int itemIndex)
-{
- FUNC_LOG;
- HANDLE_ERROR_NULL(mTitleLabel);
- HANDLE_ERROR_NULL(mDescriptionLabel);
-
- if (itemIndex >= 0 && itemIndex < mItems.count()) {
- mTitleLabel->setPlainText(mItems.at(itemIndex)->title());
- mDescriptionLabel->setPlainText(mItems.at(itemIndex)->description());
- }
+ mRenderer->setImageSize(imageSize);
+ mAutoSize = imageSize;
+ setFrontItemPositionDelta(delta);
+ mRenderer->setSpacing(QSizeF(1,1));
}
void HgCoverflowContainer::scrollToPosition(const QPointF& pos, bool animate)
@@ -463,16 +170,6 @@
HgContainer::scrollToPosition(p,animate);
}
-void HgCoverflowContainer::setDefaultImage(QImage defaultImage)
-{
- HgContainer::setDefaultImage(defaultImage);
-
- if (!defaultImage.isNull()) {
- mAspectRatio = qMax((qreal)0.1, (qreal)defaultImage.width()/defaultImage.height()); // Don't let aspect ratio go to 0
- updatePositions();
- }
-}
-
QSizeF HgCoverflowContainer::getAutoItemSize() const
{
return mAutoSize;
@@ -487,17 +184,14 @@
{
HgContainer::updateItemSizeAndSpacing();
- updatePositions();
+ updateItemSize();
}
-void HgCoverflowContainer::updatePositions()
+void HgCoverflowContainer::updateItemSize()
{
if (mItemSizePolicy == HgWidget::ItemSizeAutomatic) {
- calculatePositions();
- }
- else {
- positionLabels();
+ calculateItemSize();
}
}
@@ -525,4 +219,15 @@
return mRenderer ? mRenderer->reflectionsEnabled() : false;
}
+void HgCoverflowContainer::setCenterItemArea(HgCenterItemArea *centerItemArea)
+{
+ FUNC_LOG;
+ if (!mCenterItemArea) {
+ mCenterItemArea = centerItemArea;
+ connect(mCenterItemArea, SIGNAL(sizeChanged()), SLOT(updateItemSize()));
+ }
+}
+
+
+
--- a/ganeswidgets/src/hggrid.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hggrid.cpp Thu May 27 13:59:05 2010 +0300
@@ -42,4 +42,16 @@
{
}
+bool HgGrid::effect3dEnabled() const
+{
+ Q_D( const HgGrid );
+ return d->effect3dEnabled();
+}
+
+void HgGrid::setEffect3dEnabled(bool effect3dEnabled)
+{
+ Q_D( HgGrid );
+ d->setEffect3dEnabled(effect3dEnabled);
+}
+
// EOF
--- a/ganeswidgets/src/hggrid_p.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hggrid_p.cpp Thu May 27 13:59:05 2010 +0300
@@ -42,4 +42,24 @@
HgWidgetPrivate::init(container);
}
+void HgGridPrivate::orientationChanged(Qt::Orientation orientation)
+{
+ Q_Q(HgGrid);
+
+ HgWidgetPrivate::orientationChanged(orientation);
+ q->repolish();
+}
+
+bool HgGridPrivate::effect3dEnabled() const
+{
+ HgGridContainer *container = qobject_cast<HgGridContainer*>(mContainer);
+ return container->effect3dEnabled();
+}
+
+void HgGridPrivate::setEffect3dEnabled(bool effect3dEnabled)
+{
+ HgGridContainer *container = qobject_cast<HgGridContainer*>(mContainer);
+ container->setEffect3dEnabled(effect3dEnabled);
+}
+
// EOF
--- a/ganeswidgets/src/hggridcontainer.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hggridcontainer.cpp Thu May 27 13:59:05 2010 +0300
@@ -39,7 +39,9 @@
static const qreal KCameraMaxYAngle(20);
static const qreal KSpringVelocityToCameraYAngleFactor(2);
-HgGridContainer::HgGridContainer(QGraphicsItem *parent) : HgContainer(parent)
+HgGridContainer::HgGridContainer(QGraphicsItem *parent) :
+ HgContainer(parent),
+ mEffect3dEnabled(true)
{
mUserItemSize = QSize(120,120);
@@ -75,7 +77,7 @@
qreal HgGridContainer::getCameraDistance(qreal springVelocity)
{
- if (mRenderer->getScrollDirection() == Qt::Vertical)
+ if (mRenderer->getScrollDirection() == Qt::Vertical || !mEffect3dEnabled)
return 0;
return qAbs(springVelocity * 0.01f);
@@ -83,7 +85,7 @@
qreal HgGridContainer::getCameraRotationY(qreal springVelocity)
{
- if (mRenderer->getScrollDirection() == Qt::Vertical)
+ if (mRenderer->getScrollDirection() == Qt::Vertical || !mEffect3dEnabled)
return 0;
return qBound(-KCameraMaxYAngle, springVelocity * KSpringVelocityToCameraYAngleFactor, KCameraMaxYAngle);
@@ -119,3 +121,17 @@
mSelectionModel->setCurrentIndex(item->modelIndex(), QItemSelectionModel::Current);
}
}
+
+void HgGridContainer::setEffect3dEnabled(bool effect3dEnabled)
+{
+ if (mEffect3dEnabled != effect3dEnabled) {
+ // Setting has changed. redraw screen.
+ mEffect3dEnabled = effect3dEnabled;
+ update();
+ }
+}
+
+bool HgGridContainer::effect3dEnabled() const
+{
+ return mEffect3dEnabled;
+}
--- a/ganeswidgets/src/hgmediawall.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hgmediawall.cpp Thu May 27 13:59:05 2010 +0300
@@ -20,61 +20,39 @@
#include "hgwidgets_p.h"
#include "hgcoverflowcontainer.h"
#include <hbmainwindow>
+#include <hbstyleloader.h>
HgMediawall::HgMediawall(QGraphicsItem *parent ) :
HgWidget( *new HgMediawallPrivate, parent )
{
Q_D(HgMediawall);
d->q_ptr = this;
+
+ HbStyleLoader::registerFilePath(":/hgmediawall.css");
+ HbStyleLoader::registerFilePath(":/hgmediawall_color.css");
+ HbStyleLoader::registerFilePath(":/hgmediawall.widgetml");
+
d->init(mainWindow()->orientation());
}
-HgMediawall::HgMediawall(HgMediawallPrivate &dd, QGraphicsItem *parent) :
+HgMediawall::HgMediawall(HgMediawallPrivate &dd, QGraphicsItem *parent) :
HgWidget( dd, parent )
{
Q_D(HgMediawall);
- d->q_ptr = this;
+ d->q_ptr = this;
+
+ HbStyleLoader::registerFilePath(":/hgmediawall.css");
+ HbStyleLoader::registerFilePath(":/hgmediawall_color.css");
+ HbStyleLoader::registerFilePath(":/hgmediawall.widgetml");
+
d->init(mainWindow()->orientation());
}
HgMediawall::~HgMediawall()
{
-}
-
-/*!
- Sets the placement of the title.
-*/
-void HgMediawall::setTitlePosition(LabelPosition position)
-{
- Q_D(HgMediawall);
- d->setTitlePosition(position);
-}
-
-/*!
- Returns the placement of the title.
-*/
-HgMediawall::LabelPosition HgMediawall::titlePosition() const
-{
- Q_D(const HgMediawall);
- return d->titlePosition();
-}
-
-/*!
- Sets the placement of the description.
-*/
-void HgMediawall::setDescriptionPosition(LabelPosition position)
-{
- Q_D(HgMediawall);
- d->setDescriptionPosition(position);
-}
-
-/*!
- Returns the placement of the description.
-*/
-HgMediawall::LabelPosition HgMediawall::descriptionPosition() const
-{
- Q_D(const HgMediawall);
- return d->descriptionPosition();
+ HbStyleLoader::unregisterFilePath(":/hgmediawall.css");
+ HbStyleLoader::unregisterFilePath(":/hgmediawall_color.css");
+ HbStyleLoader::unregisterFilePath(":/hgmediawall.widgetml");
}
/*!
--- a/ganeswidgets/src/hgmediawall_p.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hgmediawall_p.cpp Thu May 27 13:59:05 2010 +0300
@@ -15,8 +15,11 @@
*
*/
+#include <hbtextitem.h>
#include "hgmediawall_p.h"
+#include "hgwidgetitem.h"
#include "hgcoverflowcontainer.h"
+#include "hgcenteritemarea.h"
#include "trace.h"
HgMediawallPrivate::HgMediawallPrivate() : HgWidgetPrivate()
@@ -35,69 +38,66 @@
FUNC_LOG;
Q_Q(HgMediawall);
+
+ mTitleItem = new HbTextItem("", q);
+ q->style()->setItemName(mTitleItem, "title");
+
+ mDescriptionItem = new HbTextItem("", q);
+ q->style()->setItemName(mDescriptionItem, "description");
+
+ mCenterItemArea = new HgCenterItemArea(q);
+ q->style()->setItemName(mCenterItemArea, "centeritem");
+
HgCoverflowContainer* container = new HgCoverflowContainer(q);
+ q->style()->setItemName(container, "content");
+ container->setCenterItemArea(mCenterItemArea);
// Mediawall supports only horizontal scrolling.
container->init(orientation);
+
HgWidgetPrivate::init(container);
-
+
q->connect( container, SIGNAL(animationAboutToEnd(QModelIndex)),
q, SIGNAL(animationAboutToEnd(QModelIndex)) );
}
-void HgMediawallPrivate::setTitlePosition(HgMediawall::LabelPosition position)
-{
- FUNC_LOG;
-
- container()->setTitlePosition(position);
-}
-
-HgMediawall::LabelPosition HgMediawallPrivate::titlePosition() const
-{
- FUNC_LOG;
-
- return container()->titlePosition();
-}
-
-void HgMediawallPrivate::setDescriptionPosition(HgMediawall::LabelPosition position)
-{
- FUNC_LOG;
-
- container()->setDescriptionPosition(position);
-}
-
-HgMediawall::LabelPosition HgMediawallPrivate::descriptionPosition() const
-{
- FUNC_LOG;
-
- return container()->descriptionPosition();
-}
-
void HgMediawallPrivate::setTitleFontSpec(const HbFontSpec &fontSpec)
{
FUNC_LOG;
- container()->setTitleFontSpec(fontSpec);
+ Q_Q(HgMediawall);
+ if (mTitleItem) {
+ mTitleItem->setFontSpec(fontSpec);
+ }
}
HbFontSpec HgMediawallPrivate::titleFontSpec() const
{
FUNC_LOG;
- return container()->titleFontSpec();
+ if (mTitleItem) {
+ return mTitleItem->fontSpec();
+ }
+ return HbFontSpec();
}
void HgMediawallPrivate::setDescriptionFontSpec(const HbFontSpec &fontSpec)
{
FUNC_LOG;
- container()->setDescriptionFontSpec(fontSpec);
+ Q_Q(HgMediawall);
+ if (mDescriptionItem) {
+ mDescriptionItem->setFontSpec(fontSpec);
+ }
}
HbFontSpec HgMediawallPrivate::descriptionFontSpec() const
{
FUNC_LOG;
- return container()->descriptionFontSpec();
+ if (mDescriptionItem) {
+ return mDescriptionItem->fontSpec();
+ }
+ return HbFontSpec();
}
HgCoverflowContainer *HgMediawallPrivate::container()
@@ -112,4 +112,19 @@
return qobject_cast<const HgCoverflowContainer *>(mContainer);
}
+void HgMediawallPrivate::updateCurrentItem(const QModelIndex ¤tItem)
+{
+ FUNC_LOG;
+
+ if (!mContainer || !currentItem.isValid()) return;
+
+ HgWidgetItem* item = mContainer->itemByIndex(currentItem);
+ INFO("Updating texts for index" << currentItem << ", " << item);
+
+ if (item) {
+ mTitleItem->setText(item->title());
+ mDescriptionItem->setText(item->description());
+ }
+}
+
// EOF
--- a/ganeswidgets/src/hgmediawallrenderer.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hgmediawallrenderer.cpp Thu May 27 13:59:05 2010 +0300
@@ -247,7 +247,7 @@
mFrontItemPosition(0,0)
{
createStateMachine();
- mRenderer = new HgQtQuadRenderer(64);
+ mRenderer = new HgQtQuadRenderer(128);
mRenderer->enableReflections(true);
mRendererInitialized = true;
if (mCoverflowMode) {
@@ -443,12 +443,18 @@
mStateMachine->setAnimated(animate);
mNextScrollDirection = scrollDirection;
- if (!animate)
+ if (!animate) {
mScrollDirection = scrollDirection;
+ }
else
{
//emit renderingNeeded();
}
+ } else if (!animate) {
+ // reset next scrolldirection just to be sure. In some cases
+ // when orientation changes couple of times and container visibility changes
+ // we might otherwise end up in wrong state.
+ mNextScrollDirection = scrollDirection;
}
}
@@ -975,8 +981,9 @@
{
HgQuad* quad = mRenderer->quad(quadIndex++);
quad->setPosition(pos);
- quad->setImage(mDataProvider->image(itemIndex));
- quad->setVisible(true);
+ const HgImage* image = mDataProvider->image(itemIndex);
+ quad->setImage(image);
+ quad->setVisible(true/*image && image->alpha() != 0*/);
quad->setScale(QVector2D(mImageSize3D.width(),mImageSize3D.height()));
quad->setPivot(QVector2D(0,0));
quad->setUserData(QVariant(itemIndex));
--- a/ganeswidgets/src/hgspring.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hgspring.cpp Thu May 27 13:59:05 2010 +0300
@@ -83,10 +83,12 @@
void HgSpring::cancel()
{
- if (mTimer->isActive())
+ if (mTimer->isActive()) {
+ mEndPos = mPos;
+ emit ended();
mTimer->stop();
+ }
- mVelocity = QPointF(0,0);
}
const QPointF& HgSpring::startPos() const
@@ -164,5 +166,8 @@
return false;
}
+void HgSpring::resetVelocity()
+{
+ mVelocity = QPointF(0,0);
+}
-
--- a/ganeswidgets/src/hgwidgetitem.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hgwidgetitem.cpp Thu May 27 13:59:05 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 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"
@@ -11,9 +11,10 @@
*
* Contributors:
*
-* Description:
+* Description:
*
*/
+
#include "hgwidgetitem.h"
#include "hgquadrenderer.h"
#include "trace.h"
--- a/ganeswidgets/src/hgwidgets.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hgwidgets.cpp Thu May 27 13:59:05 2010 +0300
@@ -172,14 +172,6 @@
if (d->mHandleLongPress != value)
{
d->mHandleLongPress = value;
- if (value)
- {
- grabGesture(Qt::TapAndHoldGesture);
- }
- else
- {
- ungrabGesture(Qt::TapAndHoldGesture);
- }
}
// TODO, should we do something like this?????
@@ -247,12 +239,12 @@
{
case QEvent::ApplicationActivate:
{
- d->gainedForeground();
+// d->gainedForeground();
break;
}
case QEvent::ApplicationDeactivate:
{
- d->lostForeground();
+// d->lostForeground();
break;
}
case QEvent::GraphicsSceneResize:
--- a/ganeswidgets/src/hgwidgets_p.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/src/hgwidgets_p.cpp Thu May 27 13:59:05 2010 +0300
@@ -15,7 +15,6 @@
*
*/
-#include <QGraphicsLinearLayout>
#include <QApplication>
#include <hbscrollbar_p.h>
#include <hgwidgets/hgwidgets.h>
@@ -29,14 +28,12 @@
//#include "hgindexfeedback.h"
static const int INITIAL_SCROLLBAR_HIDE_TIMEOUT(4000);
-static const int DEFAULT_BUFFER_SIZE(30);
+static const int DEFAULT_BUFFER_SIZE(25);
HgWidgetPrivate::HgWidgetPrivate() :
- mLayout(0),
mContainer(0),
mBufferManager(0),
mModel(0),
- mSelectionModel(0),
mDefaultSelectionModel(0),
mScrollBar(0),
mAbleToScroll(false),
@@ -69,7 +66,7 @@
q->setFocusPolicy(Qt::StrongFocus);
createScrollBar(container->scrollDirection());
-
+
//QObject::connect(&(mScrollBarHideTimer), SIGNAL(timeout()), q, SLOT(_q_hideScrollBars()));
mContainer = container;
@@ -85,10 +82,10 @@
q->connect(mContainer, SIGNAL(scrollingStarted()), q, SIGNAL(scrollingStarted()));
q->connect(mContainer, SIGNAL(scrollingEnded()), q, SIGNAL(scrollingEnded()));
q->connect(mScrollBarHideTimer, SIGNAL(timeout()), q, SLOT(_q_hideScrollBars()));
-
+
// mIndexFeedback = new HgIndexFeedback(q);
// mIndexFeedback->setWidget(q);
-
+
}
void HgWidgetPrivate::setModel( QAbstractItemModel *model )
@@ -105,23 +102,36 @@
void HgWidgetPrivate::setSelectionModel(QItemSelectionModel *selectionModel)
{
FUNC_LOG;
-
+
Q_Q(HgWidget);
if (mContainer) {
+ if (mContainer->selectionModel()) {
+ q->disconnect(mContainer->selectionModel(),
+ SIGNAL(currentChanged(QModelIndex, QModelIndex)),
+ q,
+ SLOT(_q_updateCurrentItem(QModelIndex, QModelIndex)));
+ }
+
+ QModelIndex defaultItem;
+ if (mModel && mModel->rowCount() > 0) {
+ defaultItem = mModel->index(0, 0);
+ }
+
if (selectionModel == 0) {
QItemSelectionModel *oldSelectionModel = mDefaultSelectionModel;
mDefaultSelectionModel = 0;
mDefaultSelectionModel = new QItemSelectionModel(mModel);
- mContainer->setSelectionModel(mDefaultSelectionModel);
+ mContainer->setSelectionModel(mDefaultSelectionModel, defaultItem);
delete oldSelectionModel;
}
else if (selectionModel != mContainer->selectionModel()) {
QItemSelectionModel *oldSelectionModel = mDefaultSelectionModel;
mDefaultSelectionModel = 0;
- mContainer->setSelectionModel(selectionModel);
+ mContainer->setSelectionModel(selectionModel, defaultItem);
delete oldSelectionModel;
}
+
if (mContainer->selectionModel()) {
// if (mIndexFeedback) {
// delete mIndexFeedback;
@@ -129,7 +139,11 @@
// }
// mIndexFeedback = new HgIndexFeedback(q);
// mIndexFeedback->setWidget(q);
- }
+
+ q->connect(mContainer->selectionModel(),
+ SIGNAL(currentChanged(QModelIndex, QModelIndex)),
+ SLOT(_q_updateCurrentItem(QModelIndex, QModelIndex)));
+ }
}
}
@@ -249,7 +263,7 @@
q->connect(mModel, SIGNAL(rowsMoved(QModelIndex, int, int, QModelIndex, int)),
SLOT(_q_moveRows(QModelIndex, int, int, QModelIndex, int)));
q->connect(mModel, SIGNAL(modelReset()),SLOT(_q_modelReset()));
-
+
mContainer->setItemCount(mModel->rowCount(QModelIndex()));
QList<HgWidgetItem*> items = mContainer->items();
@@ -261,14 +275,8 @@
}
initBufferManager(itemCount);
-
+
setSelectionModel(0); // Default
-
- if (mModel->rowCount() > 0)
- {
- setCurrentIndex(mModel->index(0, 0));
- scrollTo(mModel->index(0, 0));
- }
}
}
@@ -410,15 +418,19 @@
void HgWidgetPrivate::setScrollBarPolicy(HgWidget::ScrollBarPolicy policy)
{
- mScrollBarPolicy = policy;
+ Q_Q(HgWidget);
+
+ if (mScrollBarPolicy != policy) {
+ mScrollBarPolicy = policy;
- if (mScrollBarPolicy == HgWidget::ScrollBarAlwaysOff &&
- mScrollBar->isVisible()){
- mScrollBar->setVisible(false);
- }
+ if (mScrollBarPolicy == HgWidget::ScrollBarAlwaysOff &&
+ mScrollBar->isVisible()){
+ mScrollBar->setVisible(false);
+ }
- if(policy != HgWidget::ScrollBarAlwaysOff){
- updateScrollMetrics();
+ if(policy != HgWidget::ScrollBarAlwaysOff){
+ updateScrollMetrics();
+ }
}
}
@@ -471,7 +483,7 @@
_q_modelReset();
return;
}
-
+
mBufferManager->addItems(start, end);
mContainer->addItems(start, end);
// re-set model indexes for the items including and after the added indexes
@@ -481,9 +493,6 @@
items.at(i)->setModelIndex(mModel->index(i, 0, QModelIndex()));
}
mBufferManager->flushRequestBuffers();
- if (oldItemCount == 0 && newItemCount > 0) {
- setCurrentIndex(mModel->index(0, 0));
- }
q->update();
}
}
@@ -539,6 +548,8 @@
void HgWidgetPrivate::_q_modelReset()
{
+ FUNC_LOG;
+
if (mContainer && mBufferManager) {
const int oldItemCount = mContainer->itemCount();
const int newItemCount = mModel->rowCount();
@@ -557,14 +568,20 @@
for( int i=0; i<itemCount; i++) {
items.at(i)->setModelIndex(mModel->index(i, 0, QModelIndex()));
}
-
- // Buffermanager requests items to be updated.
+
+ // Buffermanager requests items to be updated.
mBufferManager->resetBuffer(0, newItemCount);
+ QItemSelectionModel *selectionModel = mContainer->selectionModel();
if (mModel->rowCount() > 0) {
- setCurrentIndex(mModel->index(0, 0));
- scrollTo(mModel->index(0, 0));
+ if (selectionModel && selectionModel->currentIndex().isValid()) {
+ scrollTo(selectionModel->currentIndex());
+ }
+ else {
+ setCurrentIndex(mModel->index(0, 0));
+ scrollTo(mModel->index(0, 0));
+ }
}
- }
+ }
}
}
@@ -627,8 +644,9 @@
void HgWidgetPrivate::adjustGeometry()
{
+ FUNC_LOG;
Q_Q(HgWidget);
-
+
QRectF scrollAreaBoundingRect = q->boundingRect();
if( scrollAreaBoundingRect.isNull() ||
!scrollAreaBoundingRect.isValid() ||
@@ -645,7 +663,7 @@
void HgWidgetPrivate::lostForeground()
{
if( !mForeground ) return;
-
+
mForeground = false;
QList<HgWidgetItem*> list = mContainer->items();
foreach(HgWidgetItem* item, list){
@@ -656,7 +674,7 @@
void HgWidgetPrivate::gainedForeground()
{
if( mForeground ) return;
-
+
mForeground = true;
QList<HgWidgetItem*> list = mContainer->items();
int bufferStart = 0;
@@ -667,6 +685,13 @@
}
}
+void HgWidgetPrivate::updateCurrentItem(const QModelIndex ¤tItem)
+{
+ Q_UNUSED(currentItem);
+
+ // By default do nothing
+}
+
bool HgWidgetPrivate::getItemOutline(const QModelIndex& index, QPolygonF& points)
{
return mContainer->getItemPoints(index.row(), points);
@@ -685,7 +710,6 @@
if (!mStaticScrollDirection) {
createScrollBar(orientation);
}
- q->repolish();
adjustGeometry();
}
}
@@ -696,6 +720,13 @@
Q_UNUSED(orientation);
}
+void HgWidgetPrivate::_q_updateCurrentItem(const QModelIndex ¤t, const QModelIndex &previous)
+{
+ Q_UNUSED(previous);
+
+ updateCurrentItem(current);
+}
+
Qt::Orientation HgWidgetPrivate::scrollDirection() const
{
return mContainer->orientation();
@@ -704,7 +735,7 @@
void HgWidgetPrivate::createScrollBar(Qt::Orientation orientation)
{
Q_Q(HgWidget);
-
+
delete mScrollBar;
mScrollBar = 0;
mScrollBar = new HbScrollBar(orientation,q);
@@ -712,7 +743,7 @@
HbStyle::setItemName(mScrollBar, "scrollbar-vertical");
}
else {
- HbStyle::setItemName(mScrollBar, "scrollbar-horizontal");
+ HbStyle::setItemName(mScrollBar, "scrollbar-horizontal");
}
mScrollBar->setZValue(q->zValue() + 1);
@@ -761,6 +792,15 @@
}
}
mContainer->itemDataChanged(topLeft, bottomRight);
+
+ if (mContainer->selectionModel()) {
+ QModelIndex currentIndex = mContainer->selectionModel()->currentIndex();
+ if (currentIndex.isValid() &&
+ currentIndex.row() >= topLeft.row() &&
+ currentIndex.row() <= bottomRight.row()) {
+ updateCurrentItem(currentIndex);
+ }
+ }
}
void HgWidgetPrivate::setItemSizePolicy(HgWidget::ItemSizePolicy policy)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/data/hgmediawall.css Thu May 27 13:59:05 2010 +0300
@@ -0,0 +1,67 @@
+HgMediawall[scrollBarPolicy="ScrollBarAlwaysOff"]
+{
+ layout:layout-noscrollbar;
+}
+
+HgMediawall[!scrollBarPolicy="ScrollBarAlwaysOff"]
+{
+ layout:layout-scrollbar;
+}
+
+HgMediawall::title
+{
+ font-variant:primary;
+ text-align: center center;
+ left:-var(hb-param-margin-gene-screen);
+ right:var(hb-param-margin-gene-screen);
+ top:-var(hb-param-margin-gene-middle-vertical);
+ bottom:0un;
+ text-line-count-min:1;
+ text-line-count-max:1;
+ zvalue: 2;
+ size-policy: preferred preferred;
+}
+
+HgMediawall::description
+{
+ font-variant:primary-small;
+ text-align: center center;
+ left:-var(hb-param-margin-gene-screen);
+ right:var(hb-param-margin-gene-screen);
+ top:-var(hb-param-margin-gene-middle-vertical);
+ bottom:0un;
+ text-line-count-min:1;
+ text-line-count-max:1;
+ zvalue: 2;
+ size-policy: preferred preferred;
+}
+
+HgMediawall::scrollbar-vertical
+{
+ left:-var(hb-param-margin-gene-screen);
+ right:var(hb-param-margin-gene-screen);
+ top:-var(hb-param-margin-gene-top);
+ bottom:var(hb-param-margin-gene-screen);
+ zvalue: 2;
+ size-policy: preferred preferred;
+}
+
+HgMediawall::content
+{
+ size-policy: minimum-expanding minimum-expanding;
+ left:0un;
+ right:0un;
+ top:0un;
+ bottom:0un;
+ zvalue: 0;
+}
+
+HgMediawall::centeritem
+{
+ size-policy: minimum-expanding minimum-expanding;
+ left:-var(hb-param-touch-area-gene-primary-medium);
+ right:var(hb-param-touch-area-gene-primary-medium);
+ top:-3un;
+ bottom:3un;
+ zvalue: 2;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/data/hgmediawall.widgetml Thu May 27 13:59:05 2010 +0300
@@ -0,0 +1,33 @@
+<hbwidget version="0.1" type="HgMediawall">
+ <layout name="layout-scrollbar" type="mesh">
+ <meshitem src="content" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+ <meshitem src="content" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="content" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+ <meshitem src="content" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+ <meshitem src="scrollbar-horizontal" srcEdge="BOTTOM" dst="content" dstEdge="BOTTOM" />
+ <meshitem src="scrollbar-horizontal" srcEdge="RIGHT" dst="content" dstEdge="RIGHT" />
+ <meshitem src="scrollbar-horizontal" srcEdge="LEFT" dst="content" dstEdge="LEFT" />
+ <meshitem src="description" srcEdge="BOTTOM" dst="scrollbar-horizontal" dstEdge="TOP" />
+ <meshitem src="description" srcEdge="CENTERH" dst="content" dstEdge="CENTERH" />
+ <meshitem src="title" srcEdge="BOTTOM" dst="description" dstEdge="TOP" />
+ <meshitem src="title" srcEdge="CENTERH" dst="content" dstEdge="CENTERH" />
+ <meshitem src="centeritem" srcEdge="BOTTOM" dst="title" dstEdge="TOP" />
+ <meshitem src="centeritem" srcEdge="TOP" dst="content" dstEdge="TOP" />
+ <meshitem src="centeritem" srcEdge="RIGHT" dst="content" dstEdge="RIGHT" />
+ <meshitem src="centeritem" srcEdge="LEFT" dst="content" dstEdge="LEFT" />
+ </layout>
+ <layout name="layout-noscrollbar" type="mesh">
+ <meshitem src="content" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+ <meshitem src="content" srcEdge="TOP" dst="" dstEdge="TOP" />
+ <meshitem src="content" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+ <meshitem src="content" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+ <meshitem src="description" srcEdge="BOTTOM" dst="content" dstEdge="BOTTOM" />
+ <meshitem src="description" srcEdge="CENTERH" dst="content" dstEdge="CENTERH" />
+ <meshitem src="title" srcEdge="BOTTOM" dst="description" dstEdge="TOP" />
+ <meshitem src="title" srcEdge="CENTERH" dst="content" dstEdge="CENTERH" />
+ <meshitem src="centeritem" srcEdge="BOTTOM" dst="title" dstEdge="TOP" />
+ <meshitem src="centeritem" srcEdge="TOP" dst="content" dstEdge="TOP" />
+ <meshitem src="centeritem" srcEdge="RIGHT" dst="content" dstEdge="RIGHT" />
+ <meshitem src="centeritem" srcEdge="LEFT" dst="content" dstEdge="LEFT" />
+ </layout>
+</hbwidget>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/data/hgmediawall_color.css Thu May 27 13:59:05 2010 +0300
@@ -0,0 +1,9 @@
+HgMediawall::title
+{
+ color: var(qtc_view_pressed);
+}
+
+HgMediawall::description
+{
+ color: var(qtc_view_link_normal);
+}
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/data/hgwidgettest.qrc Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/data/hgwidgettest.qrc Thu May 27 13:59:05 2010 +0300
@@ -1,5 +1,10 @@
<RCC>
- <qresource prefix="/" >
+ <qresource prefix="/">
<file>images/default.svg</file>
</qresource>
+ <qresource prefix="/test">
+ <file>hgmediawall.widgetml</file>
+ <file>hgmediawall.css</file>
+ <file>hgmediawall_color.css</file>
+ </qresource>
</RCC>
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/hgwidgettest.pro Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/hgwidgettest.pro Thu May 27 13:59:05 2010 +0300
@@ -19,14 +19,13 @@
-TCB
INCLUDEPATH += /sf/mw/hb/src/hbwidgets/itemviews \
/sf/mw/hb/src/hbcore/gui
-symbian {
+symbian {
TARGET.EPOCHEAPSIZE = 0x10000 \
0x2000000
BLD_INF_RULES.prj_exports += "rom/hgwidgettest.iby CORE_APP_LAYER_IBY_EXPORT_PATH(hgwidgettest.iby)" \
"rom/hgwidgettestresource.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(hgwidgettestresource.iby)"
}
-SOURCES += src/hgcoverflowwidget.cpp \
- src/hgwidgetoptionsview.cpp \
+SOURCES += src/hgwidgetoptionsview.cpp \
src/main.cpp \
src/hgwidgettestdatamodel.cpp \
src/hgwidgettestalbumartmanager.cpp \
@@ -37,8 +36,7 @@
src/buffermanager.cpp \
src/hgitemsizedialog.cpp \
src/hgcoveritem.cpp
-HEADERS += inc/hgcoverflowwidget.h \
- inc/hgwidgetoptionsview.h \
+HEADERS += inc/hgwidgetoptionsview.h \
inc/hgwidgettestdatamodel.h \
inc/hgwidgettestalbumartmanager.h \
inc/hgwidgettestview.h \
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/inc/buffermanager.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/inc/buffermanager.h Thu May 27 13:59:05 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 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"
@@ -11,7 +11,7 @@
*
* Contributors:
*
-* Description:
+* Description: Another view for test application.
*
*/
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/inc/hgcoverflowwidget.h Fri May 14 16:57:01 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2010 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: Another view for test application.
-*
-*/
-#ifndef HGCOVERFLOWWIDGET_H_
-#define HGCOVERFLOWWIDGET_H_
-
-#include <hbwidget>
-#include <hblabel>
-#include <qgraphicssceneresizeevent>
-#include <hgwidgets/hgmediawall.h>
-#include <QAbstractListModel>
-
-/**
- * Coverflowwidget class which adds labels to normal MediaWall
- */
-class HgCoverflowWidget : public HgMediawall
-{
- Q_OBJECT
-public:
-
- HgCoverflowWidget(QGraphicsItem *parent=0);
- virtual ~HgCoverflowWidget();
-
- void updateTextPositions();
-
-private slots:
- void frontItemChanged ( const QModelIndex & current, const QModelIndex & previous );
-
-private:
- void resizeEvent(QGraphicsSceneResizeEvent *event);
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
-
-private:
- HbLabel* mTitleLabel;
- HbLabel* mDescLabel;
- bool mTextPositionsDirty;
-};
-
-#endif /* HGTESTVIEW_H_ */
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/inc/hgcoveritem.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/inc/hgcoveritem.h Thu May 27 13:59:05 2010 +0300
@@ -52,7 +52,7 @@
private:
- virtual void leftGesture(int value);
+// virtual void leftGesture(int value);
};
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/inc/hgtestdefs.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/inc/hgtestdefs.h Thu May 27 13:59:05 2010 +0300
@@ -42,11 +42,10 @@
static const QString SETT_WIDGET_HEIGHT = "WidgetHeight";
static const QString SETT_WIDGET_WIDTH = "WidgetWidth";
static const QString SETT_LOW_RES_IMAGES = "LowResImages";
-static const QString SETT_TITLE_POSITION = "TitlePosition";
static const QString SETT_TITLE_FONT = "TitleFont";
-static const QString SETT_DESCRIPTION_POSITION = "DescriptionPosition";
static const QString SETT_DESCRIPTION_FONT = "DescriptionFont";
static const QString SETT_REFLECTIONS_ENABLED = "Reflections enabled";
+static const QString SETT_EFFECT3D_ENABLED = "Effect3d enabled";
static const QString SETT_ITEM_SIZE_POLICY = "ItemSizePolicy";
#endif /* HGTESTDEFS_H_ */
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/inc/hgwidgetoptionsview.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/inc/hgwidgetoptionsview.h Thu May 27 13:59:05 2010 +0300
@@ -41,13 +41,12 @@
void scrollBarInteractivityChanged(bool);
void imageTypeChanged(HgTestImageType);
void lowResImageUseChanged(bool);
- void titlePositionChanged(HgMediawall::LabelPosition);
void titleFontChanged(const HbFontSpec &);
- void descriptionPositionChanged(HgMediawall::LabelPosition);
void descriptionFontChanged(const HbFontSpec &);
void widgetHeightChanged(int);
void widgetWidthChanged(int);
void reflectionsEnabledChanged(bool);
+ void effect3dEnabledChanged(bool);
void itemSizePolicyChanged(HgWidget::ItemSizePolicy);
private slots:
void updateData(QModelIndex startIn, QModelIndex endIn);
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/inc/hgwidgettestview.h Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/inc/hgwidgettestview.h Thu May 27 13:59:05 2010 +0300
@@ -49,13 +49,12 @@
void changeScrollBarInteractivity(bool value);
void changeModelImageType(HgTestImageType);
void changeLowResImageUse(bool value);
- void changeTitlePosition(HgMediawall::LabelPosition);
void changeTitleFont(const HbFontSpec &);
- void changeDescriptionPosition(HgMediawall::LabelPosition);
void changeDescriptionFont(const HbFontSpec &);
void changeWidgetHeight(int);
void changeWidgetWidth(int);
void changeReflectionsEnabled(bool);
+ void changeEffect3dEnabled(bool);
void changeItemSizePolicy(HgWidget::ItemSizePolicy);
void toggleScrollDirection();
@@ -71,7 +70,7 @@
void showOptions();
void hideOptions();
void orientationChanged(Qt::Orientation);
-
+
void startItemSizeChange();
void itemSizeDialogClosed();
void updateItemSizeAndSpacing();
@@ -79,7 +78,8 @@
void startItemPosChange();
void updateItemPos();
void itemPosDialogClosed();
-
+ void useCustomLayout();
+
void resetOptions();
void resetModel();
void activated(/*HbListWidgetItem *item*/);
@@ -100,13 +100,13 @@
private: // data
- HgWidget* mWidget;
- QGraphicsLinearLayout* mLayout;
- HgWidgetTestDataModel* mModel;
+ HgWidget *mWidget;
+ QGraphicsLinearLayout *mLayout;
+ HgWidgetTestDataModel *mModel;
HgTestWidgetType mWidgetType;
- HbListWidget* mListWidget;
+ HbListWidget *mListWidget;
bool mToggleOrientation;
- QItemSelectionModel* mSelectionModel;
+ QItemSelectionModel *mSelectionModel;
HgFlipWidget* mFlipWidget;
QModelIndex mFlippedIndex;
HbLabel* mFrontItem;
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/src/buffermanager.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/src/buffermanager.cpp Thu May 27 13:59:05 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 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"
@@ -11,9 +11,10 @@
*
* Contributors:
*
-* Description:
+* Description:
*
*/
+
#include "buffermanager.h"
#include <qglobal.h>
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgcoverflowwidget.cpp Fri May 14 16:57:01 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2010 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: Another view for test application.
-*
-*/
-#include "hgcoverflowwidget.h"
-#include "trace.h"
-
-#include <qgraphicslinearlayout.h>
-#include <qgraphicssceneresizeevent>
-
-
-
-HgCoverflowWidget::HgCoverflowWidget(QGraphicsItem *parent) : HgMediawall(parent),
-mTextPositionsDirty(false)
-{
- mTitleLabel = new HbLabel("Title", this);
- mTitleLabel->setAlignment(Qt::AlignCenter);
- mDescLabel = new HbLabel("Description", this);
- mDescLabel->setAlignment(Qt::AlignCenter);
-}
-
-HgCoverflowWidget::~HgCoverflowWidget()
-{
-
-}
-
-void HgCoverflowWidget::frontItemChanged ( const QModelIndex & current, const QModelIndex & previous )
-{
- if (!this->model())
- return;
-
- QVariant variant = this->model()->data(current, Qt::DisplayRole);
- QStringList texts = variant.toStringList();
- HbLabel* labels[2];
- labels[0] = mTitleLabel;
- labels[1] = mDescLabel;
- int n = texts.size() > 2 ? 2 : texts.size();
- for (int i = 0; i < n; i++)
- labels[i]->setPlainText(texts[i]);
-
- mTextPositionsDirty = true;
-}
-
-void HgCoverflowWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
-{
- HgMediawall::resizeEvent(event);
-
- mTextPositionsDirty = true;
-
- QObject::connect(selectionModel(), SIGNAL(currentChanged(const QModelIndex&, const QModelIndex&)),
- this, SLOT(frontItemChanged(const QModelIndex&, const QModelIndex&)));
-}
-
-void HgCoverflowWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
-{
- HgMediawall::paint(painter, option, widget);
-
- if (mTextPositionsDirty)
- {
- QModelIndex index = this->currentIndex();
-
- if (index.isValid())
- {
- QRectF bounds;
-
- QPointF halfSize = QPointF(itemSize().width()/2, itemSize().height()/2);
- bounds.setTopLeft(rect().center() + frontItemPositionDelta() - halfSize);
- bounds.setBottomRight(rect().center() + frontItemPositionDelta() + halfSize);
-
- mTitleLabel->resize(QSizeF(size().width(), mTitleLabel->minimumSize().height()));
- mTitleLabel->setPos(QPointF(bounds.center().x() - size().width()/2,
- bounds.top() - 40));
- mDescLabel->resize(QSizeF(size().width(), mDescLabel->minimumSize().height()));
- mDescLabel->setPos(QPointF(bounds.center().x() - size().width()/2,
- bounds.bottom() + 40 - mDescLabel->minimumSize().height()));
-
- frontItemChanged(index, index);
-
- mTextPositionsDirty = false;
- }
-
- }
-
-}
-
-void HgCoverflowWidget::updateTextPositions()
-{
- mTextPositionsDirty = true;
-}
-
-
-
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgcoveritem.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgcoveritem.cpp Thu May 27 13:59:05 2010 +0300
@@ -32,10 +32,10 @@
setHorizontalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
}
-void HgListWidget::leftGesture(int value)
+/*void HgListWidget::leftGesture(int value)
{
if (value > 30) {
emit close();
}
}
-
+*/
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgselectiondialog.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgselectiondialog.cpp Thu May 27 13:59:05 2010 +0300
@@ -36,9 +36,10 @@
setDismissPolicy(HbDialog::NoDismiss);
setTimeout(HbDialog::NoTimeout);
setHeadingWidget(new HbLabel(title, this));
- setPrimaryAction(new HbAction(primaryText, this));
- primaryAction()->setDisabled(true);
- setSecondaryAction(new HbAction("Cancel", this));
+ HbAction *action = new HbAction(primaryText, this);
+ addAction(action);
+ action->setDisabled(true);
+ addAction(new HbAction("Cancel", this));
connect(content->selectionModel(),
SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp Thu May 27 13:59:05 2010 +0300
@@ -32,11 +32,10 @@
static const QString WIDGET_HEIGHT = "Widget height";
static const QString WIDGET_WIDTH = "Widget width";
static const QString LOW_RES_IMAGES = "Use low res images";
-static const QString TITLE_POSITION = "Title position";
static const QString TITLE_FONT = "Title font";
-static const QString DESCRIPTION_POSITION = "Description position";
static const QString DESCRIPTION_FONT = "Description font";
static const QString REFLECTIONS_ENABLED = "Reflections enabled";
+static const QString EFFECT3D_ENABLED = "Grid 3d effects enabled";
static const QString ITEM_SIZE_POLICY = "Item size policy";
enum DataFormItems {
@@ -47,11 +46,10 @@
ItemWidgetHeight,
ItemWidgetWidth,
ItemLowResImages,
- ItemTitlePosition,
ItemTitleFont,
- ItemDescriptionPosition,
ItemDescriptionFont,
ItemReflectionEnabled,
+ ItemEffect3dEnabled,
ItemItemSizePolicy
};
@@ -99,18 +97,10 @@
item->setContentWidgetData(QString("additionalText"), QString("yes"));
item = mModel->appendDataFormItem(
- HbDataFormModelItem::ComboBoxItem, TITLE_POSITION);
- item->setContentWidgetData(QString("items"), QStringList("Hidden") << "Above" << "Below");
-
- item = mModel->appendDataFormItem(
HbDataFormModelItem::ComboBoxItem, TITLE_FONT);
item->setContentWidgetData(QString("items"), QStringList("Primary") << "Secondary" << "Title" << "Primary small" << "Digital");
item = mModel->appendDataFormItem(
- HbDataFormModelItem::ComboBoxItem, DESCRIPTION_POSITION);
- item->setContentWidgetData(QString("items"), QStringList("Hidden") << "Above" << "Below");
-
- item = mModel->appendDataFormItem(
HbDataFormModelItem::ComboBoxItem, DESCRIPTION_FONT);
item->setContentWidgetData(QString("items"), QStringList("Primary") << "Secondary" << "Title" << "Primary small" << "Digital");
@@ -120,6 +110,11 @@
item->setContentWidgetData(QString("additionalText"), QString("yes"));
item = mModel->appendDataFormItem(
+ HbDataFormModelItem::ToggleValueItem, EFFECT3D_ENABLED);
+ item->setContentWidgetData(QString("text"), QString("no"));
+ item->setContentWidgetData(QString("additionalText"), QString("yes"));
+
+ item = mModel->appendDataFormItem(
HbDataFormModelItem::ToggleValueItem, ITEM_SIZE_POLICY);
item->setContentWidgetData(QString("text"), QString("User defined"));
item->setContentWidgetData(QString("additionalText"), QString("Automatic"));
@@ -236,25 +231,6 @@
settings.setValue(SETT_LOW_RES_IMAGES, value);
emit lowResImageUseChanged(value);
}
- else if (item->data(HbDataFormModelItem::LabelRole).toString() == TITLE_POSITION) {
- int index = item->contentWidgetData(QString("currentIndex")).toInt();
- HgMediawall::LabelPosition position = HgMediawall::PositionNone;
- switch (index) {
- case 0:
- position = HgMediawall::PositionNone;
- break;
- case 1:
- position = HgMediawall::PositionAboveImage;
- break;
- case 2:
- position = HgMediawall::PositionBelowImage;
- break;
- default: break;
- }
-
- settings.setValue(SETT_TITLE_POSITION, position);
- emit titlePositionChanged(position);
- }
else if (item->data(HbDataFormModelItem::LabelRole).toString() == TITLE_FONT) {
int index = item->contentWidgetData(QString("currentIndex")).toInt();
HbFontSpec::Role role = HbFontSpec::Undefined;
@@ -279,25 +255,6 @@
settings.setValue(SETT_TITLE_FONT, role);
emit titleFontChanged(HbFontSpec(role));
}
- else if (item->data(HbDataFormModelItem::LabelRole).toString() == DESCRIPTION_POSITION) {
- int index = item->contentWidgetData(QString("currentIndex")).toInt();
- HgMediawall::LabelPosition position = HgMediawall::PositionNone;
- switch (index) {
- case 0:
- position = HgMediawall::PositionNone;
- break;
- case 1:
- position = HgMediawall::PositionAboveImage;
- break;
- case 2:
- position = HgMediawall::PositionBelowImage;
- break;
- default: break;
- }
-
- settings.setValue(SETT_DESCRIPTION_POSITION, position);
- emit descriptionPositionChanged(position);
- }
else if (item->data(HbDataFormModelItem::LabelRole).toString() == DESCRIPTION_FONT) {
int index = item->contentWidgetData(QString("currentIndex")).toInt();
HbFontSpec::Role role = HbFontSpec::Undefined;
@@ -328,6 +285,12 @@
settings.setValue(SETT_REFLECTIONS_ENABLED, value);
emit reflectionsEnabledChanged(value);
}
+ else if (item->data(HbDataFormModelItem::LabelRole).toString() == EFFECT3D_ENABLED) {
+ QVariant data = item->contentWidgetData(QString("text"));
+ bool value = data.toString() == "yes";
+ settings.setValue(SETT_EFFECT3D_ENABLED, value);
+ emit effect3dEnabledChanged(value);
+ }
else if (item->data(HbDataFormModelItem::LabelRole).toString() == ITEM_SIZE_POLICY) {
QVariant data = item->contentWidgetData(QString("text"));
HgWidget::ItemSizePolicy value = (data.toString() == "Automatic" ? HgWidget::ItemSizeAutomatic : HgWidget::ItemSizeUserDefined);
@@ -340,12 +303,8 @@
{
HbAbstractViewItem *item = mForm->itemByIndex(mModel->index(ItemLowResImages, 0));
if (item) item->setEnabled(value);
- item = mForm->itemByIndex(mModel->index(ItemTitlePosition, 0));
- if (item) item->setEnabled(value);
item = mForm->itemByIndex(mModel->index(ItemTitleFont, 0));
if (item) item->setEnabled(value);
- item = mForm->itemByIndex(mModel->index(ItemDescriptionPosition, 0));
- if (item) item->setEnabled(value);
item = mForm->itemByIndex(mModel->index(ItemDescriptionFont, 0));
if (item) item->setEnabled(value);
item = mForm->itemByIndex(mModel->index(ItemReflectionEnabled, 0));
@@ -467,28 +426,6 @@
item->setContentWidgetData(QString("additionalText"), value.toBool() ? "no" : "yes");
}
- item = mModel->itemFromIndex(mModel->index(ItemTitlePosition, 0));
- value = settings.value(SETT_TITLE_POSITION);
- if (item && value.isValid()) {
- int index(0);
- switch (value.toInt()) {
- case HgMediawall::PositionNone:
- index = 0;
- break;
- case HgMediawall::PositionAboveImage:
- index = 1;
- break;
- case HgMediawall::PositionBelowImage:
- index = 2;
- break;
- default: break;
- }
- item->setContentWidgetData(QString("currentIndex"), index);
- }
- else if (item) {
- item->setContentWidgetData(QString("currentIndex"), 1);
- }
-
item = mModel->itemFromIndex(mModel->index(ItemTitleFont, 0));
value = settings.value(SETT_TITLE_FONT);
if (item && value.isValid()) {
@@ -514,25 +451,6 @@
item->setContentWidgetData(QString("currentIndex"), index);
}
- item = mModel->itemFromIndex(mModel->index(ItemDescriptionPosition, 0));
- value = settings.value(SETT_DESCRIPTION_POSITION);
- if (item && value.isValid()) {
- int index(0);
- switch (value.toInt()) {
- case HgMediawall::PositionNone:
- index = 0;
- break;
- case HgMediawall::PositionAboveImage:
- index = 1;
- break;
- case HgMediawall::PositionBelowImage:
- index = 2;
- break;
- default: break;
- }
- item->setContentWidgetData(QString("currentIndex"), index);
- }
-
item = mModel->itemFromIndex(mModel->index(ItemDescriptionFont, 0));
value = settings.value(SETT_DESCRIPTION_FONT);
if (item && value.isValid()) {
@@ -565,6 +483,13 @@
item->setContentWidgetData(QString("additionalText"), value.toBool() ? "no" : "yes");
}
+ item = mModel->itemFromIndex(mModel->index(ItemEffect3dEnabled, 0));
+ value = settings.value(SETT_EFFECT3D_ENABLED);
+ if (item && value.isValid()) {
+ item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no");
+ item->setContentWidgetData(QString("additionalText"), value.toBool() ? "no" : "yes");
+ }
+
item = mModel->itemFromIndex(mModel->index(ItemItemSizePolicy, 0));
value = settings.value(SETT_ITEM_SIZE_POLICY);
if (item && value.isValid()) {
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgettestview.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgettestview.cpp Thu May 27 13:59:05 2010 +0300
@@ -35,15 +35,14 @@
#include "hgwidgettestdatamodel.h"
#include "hgflipwidget.h"
#include "hgitemsizedialog.h"
-#include "hgcoverflowwidget.h"
#include "trace.h"
#include "hgcoveritem.h"
#include <hgwidgets/hggrid.h>
#include <hgwidgets/hgmediawall.h>
-
+#include <hbstyleloader.h>
static const int GRIDBUFFERSIZE(400);
-static const int COVERFLOWBUFFERSIZE(150);
+static const int COVERFLOWBUFFERSIZE(100);
HgWidgetTestView::HgWidgetTestView(QGraphicsItem *parent) :
HbView(parent),
@@ -89,6 +88,7 @@
menu()->addAction("Simulate orientation switch", this, SLOT(orientationChanged()));
menu()->addAction("Edit item size", this, SLOT(startItemSizeChange()));
menu()->addAction("Edit item pos", this, SLOT(startItemPosChange()));
+ menu()->addAction("use custom layout", this, SLOT(useCustomLayout()));
HbMenu *modelChangeSubMenu = menu()->addMenu("Change model");
modelChangeSubMenu->addAction("Remove items", this, SLOT(openDeleteItemsDialog()));
@@ -140,9 +140,13 @@
setItemVisible(Hb::AllItems, orientation() != Qt::Horizontal);
break;
case HgWidgetTBone:
+ {
setItemVisible(Hb::AllItems, true);
// mModel->setThumbnailSize(ThumbnailManager::ThumbnailMedium);
mListWidget = new HbListWidget;
+ mListWidget->setMinimumHeight(360);
+ mListWidget->setMaximumHeight(360);
+ mListWidget->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Ignored));
mLayout->addItem(mListWidget);
/*mListWidget->addItem( "List item 1");
mListWidget->addItem( "List item 2");
@@ -153,13 +157,13 @@
connect(mediawall, SIGNAL(animationAboutToEnd(QModelIndex)),
SLOT(animationAboutToEnd(QModelIndex)));
}
+ }
break;
default:
break;
}
HANDLE_ERROR_NULL(mWidget);
- mWidget->setModel(mModel);
connect(mWidget, SIGNAL(activated(QModelIndex)), SLOT(openDialog(QModelIndex)));
connect(mWidget, SIGNAL(longPressed(QModelIndex, QPointF)), SLOT(openView(QModelIndex)));
QList<HbMainWindow *> mainWindows = hbInstance->allMainWindows();
@@ -179,20 +183,16 @@
void HgWidgetTestView::animationAboutToEnd(const QModelIndex& targetIndex)
{
FUNC_LOG;
-
- QVariant texts = mModel->data(targetIndex, Qt::DisplayRole);
+
+ QVariant texts = mModel->silentData(targetIndex, Qt::DisplayRole);
if (texts.canConvert<QStringList>()) {
QStringList strList = texts.toStringList();
if (strList.count() > 0) {
- if( mListWidget->count() >= 5 ) {
- //delete the last itme in the list and insert the new row to the beginning of the list
- HbListWidgetItem* delItem = mListWidget->takeItem(4);
- if (delItem) {
- delete delItem;
- delItem = 0;
- }
+ if( mListWidget->count() == 1 ) {
+ mListWidget->setText(0,strList.at(0));
+ } else {
+ mListWidget->insertItem(0, strList.at(0));
}
- mListWidget->insertItem(0, strList.at(0));
}
}
}
@@ -238,16 +238,6 @@
}
}
-void HgWidgetTestView::changeTitlePosition(HgMediawall::LabelPosition position)
-{
- FUNC_LOG;
-
- HgMediawall *mediawall = qobject_cast<HgMediawall *>(mWidget);
- if (mediawall && mediawall->titlePosition() != position) {
- mediawall->setTitlePosition(position);
- }
-}
-
void HgWidgetTestView::changeTitleFont(const HbFontSpec &fontSpec)
{
FUNC_LOG;
@@ -258,16 +248,6 @@
}
}
-void HgWidgetTestView::changeDescriptionPosition(HgMediawall::LabelPosition position)
-{
- FUNC_LOG;
-
- HgMediawall *mediawall = qobject_cast<HgMediawall *>(mWidget);
- if (mediawall && mediawall->descriptionPosition() != position) {
- mediawall->setDescriptionPosition(position);
- }
-}
-
void HgWidgetTestView::changeDescriptionFont(const HbFontSpec &fontSpec)
{
FUNC_LOG;
@@ -288,7 +268,8 @@
mLayout->getContentsMargins(&left, &top, &right, &bottom);
if (mWidgetType == HgWidgetTBone) {
- mListWidget->setPreferredSize(mListWidget->preferredSize().width(), height-value);
+ mListWidget->setMinimumHeight(height-value);
+ mListWidget->setMaximumHeight(height-value);
mLayout->setContentsMargins(left, 0, right, 0);
}
else {
@@ -321,6 +302,13 @@
wall->enableReflections(enabled);
}
+void HgWidgetTestView::changeEffect3dEnabled(bool enabled)
+{
+ HgGrid* grid = qobject_cast<HgGrid*>(mWidget);
+ if (grid)
+ grid->setEffect3dEnabled(enabled);
+}
+
void HgWidgetTestView::changeItemSizePolicy(HgMediawall::ItemSizePolicy policy)
{
FUNC_LOG;
@@ -346,6 +334,7 @@
mAnimationGroup->clear();
delete mDialog;
mDialog = 0;
+ mModel->setData(mFlippedIndex, true, Qt::UserRole+1);
}
void HgWidgetTestView::openDialog(const QModelIndex& index)
@@ -404,16 +393,19 @@
return;
}
- HbDialog dlg;
- dlg.setTimeout(HbPopup::NoTimeout);
- dlg.setDismissPolicy(HbPopup::TapInside);
- dlg.setPrimaryAction(new HbAction("Close"));
+ HbDialog* dlg = new HbDialog();
+ dlg->setAttribute(Qt::WA_DeleteOnClose);
+ dlg->setTimeout(HbPopup::NoTimeout);
+ dlg->setDismissPolicy(HbPopup::TapAnywhere);
+ dlg->setModal(false);
+ dlg->setBackgroundFaded(false);
+ dlg->addAction(new HbAction("Close",dlg));
if (texts.canConvert<QStringList>())
{
QStringList strList = texts.toStringList();
if (strList.count() > 0)
{
- dlg.setHeadingWidget(new HbLabel(strList.at(0)));
+ dlg->setHeadingWidget(new HbLabel(strList.at(0)));
}
}
if (image.canConvert<QImage>())
@@ -422,9 +414,9 @@
QImage realImage(image.value<QImage>());
QPixmap pixmap = QPixmap::fromImage( realImage );
content->setIcon(HbIcon(pixmap));
- dlg.setContentWidget(content);
+ dlg->setContentWidget(content);
}
- dlg.exec();
+ dlg->show();
}
void HgWidgetTestView::startAnimation(const QModelIndex& index)
@@ -489,6 +481,8 @@
endRect.moveTo(endRect.topRight());
animation->setEndValue(endRect);
+ mModel->setData(mFlippedIndex, false, Qt::UserRole+1);
+
mAnimationGroup->addAnimation(animation);
mAnimationGroup->start();
}
@@ -517,6 +511,8 @@
HbMainWindow *primaryWindow = mainWindows[0];
primaryWindow->addView(view);
primaryWindow->setCurrentView(view);
+ // For photos simulation
+ primaryWindow->setOrientation(Qt::Horizontal, false);
}
}
}
@@ -532,13 +528,15 @@
HbView *currentView = primaryWindow->currentView();
primaryWindow->setCurrentView(this);
primaryWindow->removeView(currentView);
+ // For photos simulation
+ primaryWindow->unsetOrientation(false);
}
}
void HgWidgetTestView::openDeleteItemsDialog()
{
FUNC_LOG;
- HANDLE_ERROR_NULL(mWidget);
+/* HANDLE_ERROR_NULL(mWidget);
HgWidget *widget = copyWidget();
HANDLE_ERROR_NULL(widget);
@@ -559,6 +557,7 @@
}
mWidget->show();
+ */
}
void HgWidgetTestView::openMoveItemsDialog()
@@ -566,7 +565,7 @@
FUNC_LOG;
HANDLE_ERROR_NULL(mWidget);
- HgWidget *widget = copyWidget();
+ /* HgWidget *widget = copyWidget();
HANDLE_ERROR_NULL(widget);
HgSelectionDialog *dlg =
new HgSelectionDialog("Select items to move", "Move to...", widget); // Takes ownership of widget
@@ -599,12 +598,13 @@
}
}
mWidget->show();
+ */
}
void HgWidgetTestView::openAddItemsDialog()
{
FUNC_LOG;
- HANDLE_ERROR_NULL(mWidget);
+/* HANDLE_ERROR_NULL(mWidget);
HgWidget *widget = copyWidget();
HANDLE_ERROR_NULL(widget);
@@ -624,6 +624,7 @@
}
mWidget->show();
+*/
}
void HgWidgetTestView::showOptions()
@@ -657,6 +658,8 @@
SLOT(changeDescriptionFont(HbFontSpec)));
connect(view, SIGNAL(reflectionsEnabledChanged(bool)),
SLOT(changeReflectionsEnabled(bool)));
+ connect(view, SIGNAL(effect3dEnabledChanged(bool)),
+ SLOT(changeEffect3dEnabled(bool)));
connect(view, SIGNAL(itemSizePolicyChanged(HgWidget::ItemSizePolicy)),
SLOT(changeItemSizePolicy(HgWidget::ItemSizePolicy)));
@@ -722,21 +725,11 @@
changeModelImageType(ImageTypeQImage);
}
- value = settings.value(SETT_TITLE_POSITION);
- if (value.isValid()) {
- changeTitlePosition(static_cast<HgMediawall::LabelPosition>(value.toInt()));
- }
-
value = settings.value(SETT_TITLE_FONT);
if (value.isValid()) {
changeTitleFont(HbFontSpec(static_cast<HbFontSpec::Role>(value.toInt())));
}
- value = settings.value(SETT_DESCRIPTION_POSITION);
- if (value.isValid()) {
- changeDescriptionPosition(static_cast<HgMediawall::LabelPosition>(value.toInt()));
- }
-
value = settings.value(SETT_DESCRIPTION_FONT);
if (value.isValid()) {
changeDescriptionFont(HbFontSpec(static_cast<HbFontSpec::Role>(value.toInt())));
@@ -787,8 +780,7 @@
}
HgWidget* widget = 0;
- HgMediawall* temp = 0;
-
+
switch (type) {
case HgWidgetGrid:
mModel->setThumbnailSize(ThumbnailManager::ThumbnailMedium);
@@ -797,20 +789,18 @@
break;
case HgWidgetCoverflow:
{
- mModel->setThumbnailSize(ThumbnailManager::ThumbnailLarge);
+ mModel->setThumbnailSize(ThumbnailManager::ThumbnailMedium);
mModel->setBuffer(COVERFLOWBUFFERSIZE, COVERFLOWBUFFERSIZE/3);
- widget = new HgMediawall();
- temp = (HgMediawall*)widget;
- temp->setDescriptionPosition(HgMediawall::PositionAboveImage);
- break;
+ HgMediawall *mediaWall = new HgMediawall;
+ // mediaWall->setItemSize(QSizeF(4, 3)); // Sets aspect ratio
+ // mediaWall->enableReflections(true);
+ widget = mediaWall;
}
+ break;
case HgWidgetTBone:
- mModel->setThumbnailSize(ThumbnailManager::ThumbnailLarge);
+ mModel->setThumbnailSize(ThumbnailManager::ThumbnailMedium);
mModel->setBuffer(COVERFLOWBUFFERSIZE, COVERFLOWBUFFERSIZE/3);
- widget = new HgMediawall();
- temp = (HgMediawall*)widget;
- temp->setDescriptionPosition(HgMediawall::PositionAboveImage);
- temp->enableReflections(false);
+ widget = new HgMediawall;
break;
default:
break;
@@ -821,11 +811,10 @@
widget->setModel(mModel);
widget->setSelectionModel(mSelectionModel);
widget->setLongPressEnabled(true);
- widget->scrollTo(widget->currentIndex());
QImage defaultImage(":/images/default.svg");
widget->setDefaultImage(defaultImage);
-
+
return widget;
}
@@ -840,8 +829,6 @@
HgMediawall *original = qobject_cast<HgMediawall *>(mWidget);
HgMediawall *copy = qobject_cast<HgMediawall *>(widget);
if (original && copy) {
- copy->setTitlePosition(original->titlePosition());
- copy->setDescriptionPosition(original->descriptionPosition());
copy->setTitleFontSpec(original->titleFontSpec());
copy->setDescriptionFontSpec(original->descriptionFontSpec());
}
@@ -929,7 +916,7 @@
mAnimationGroup->clear();
- if (orientation == Qt::Horizontal && mWidgetType == HgWidgetCoverflow ) {
+ if (orientation == Qt::Horizontal && (mWidgetType == HgWidgetCoverflow || mWidgetType == HgWidgetGrid )) {
setItemVisible(Hb::AllItems, false);
}
else if (orientation == Qt::Horizontal && mWidgetType == HgWidgetTBone) {
@@ -940,10 +927,9 @@
initWidget(HgWidgetTBone);
setItemVisible(Hb::AllItems, true);
}
-
- HgCoverflowWidget* wall = qobject_cast<HgCoverflowWidget*>(mWidget);
- if (wall)
- wall->updateTextPositions();
+ else if (orientation == Qt::Vertical && mWidgetType == HgWidgetGrid) {
+ setItemVisible(Hb::AllItems, true);
+ }
}
void HgWidgetTestView::resizeEvent(QGraphicsSceneResizeEvent *event)
{
@@ -988,6 +974,18 @@
QObject::connect(mItemSizeDialog, SIGNAL(closed()), this, SLOT(itemSizeDialogClosed()));
}
+void HgWidgetTestView::useCustomLayout()
+{
+ HgMediawall* wall = qobject_cast<HgMediawall*>(mWidget);
+ if (wall) {
+ mWidgetType = HgWidgetNone;
+ initWidget(HgWidgetCoverflow);
+ HbStyleLoader::registerFilePath(":/test/hgmediawall.css");
+ HbStyleLoader::registerFilePath(":/test/hgmediawall_color.css");
+ HbStyleLoader::registerFilePath(":/test/hgmediawall.widgetml");
+ }
+}
+
void HgWidgetTestView::startItemPosChange()
{
if (mItemPosDialog)
@@ -1019,15 +1017,6 @@
mWidget->setItemSize(mItemSizeDialog->itemSize());
mWidget->setItemSpacing(mItemSizeDialog->itemSpacing());
-
- HgCoverflowWidget* wall = qobject_cast<HgCoverflowWidget*>(mWidget);
- if (wall)
- {
- wall->updateTextPositions();
- }
-
- mWidget->update();
-
}
void HgWidgetTestView::updateItemPos()
@@ -1041,8 +1030,6 @@
QSizeF s = mItemPosDialog->itemSize();
wall->setFrontItemPositionDelta(QPointF(s.width(), s.height()));
-// wall->updateTextPositions();
- mWidget->update();
}
void HgWidgetTestView::itemSizeDialogClosed()
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/src/main.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/src/main.cpp Thu May 27 13:59:05 2010 +0300
@@ -25,10 +25,11 @@
app.setApplicationName("HgWidgetTest");
HbMainWindow mainWindow;
- // mainWindow.setOptimizationFlags( QGraphicsView::DontSavePainterState ); If this is used, menu is invisible
mainWindow.viewport()->grabGesture(Qt::PanGesture);
mainWindow.viewport()->grabGesture(Qt::TapGesture);
mainWindow.viewport()->grabGesture(Qt::TapAndHoldGesture);
+ mainWindow.viewport()->grabGesture(Qt::PinchGesture);
+ mainWindow.viewport()->setAttribute(Qt::WA_AcceptTouchEvents,true);
HgWidgetTestView *view = new HgWidgetTestView;
mainWindow.addView(view);
--- a/ganeswidgets/tsrc/unit/unittest_ganeswidgets.cpp Fri May 14 16:57:01 2010 +0300
+++ b/ganeswidgets/tsrc/unit/unittest_ganeswidgets.cpp Thu May 27 13:59:05 2010 +0300
@@ -31,23 +31,15 @@
Q_DECLARE_METATYPE(QItemSelection)
Q_DECLARE_METATYPE(QModelIndex)
-static const QPointF grid_portrait_pos0(70, 30);
-static const QPointF grid_portrait_pos1(180, 30);
-static const QPointF grid_portrait_pos2(280, 30);
-static const QPointF grid_portrait_pos3(70, 120);
-static const QPointF grid_portrait_pos4(180, 120);
-static const QPointF grid_portrait_pos5(280, 120);
-static const QPointF grid_portrait_pos6(70, 200);
-static const QPointF grid_portrait_pos7(180, 200);
-static const QPointF grid_portrait_pos8(280, 200);
-
-// These work with 360x640 resolution
-static const QPointF expected_label_pos_above_alone(180, 144);
-static const QPointF expected_label_pos_above_top(180, 132);
-static const QPointF expected_label_pos_above_bottom(180, 163);
-static const QPointF expected_label_pos_below_alone(180, 324);
-static const QPointF expected_label_pos_below_top(180, 312);
-static const QPointF expected_label_pos_below_bottom(180, 342);
+static const QPointF grid_portrait_pos0(60, 60);
+static const QPointF grid_portrait_pos1(180, 60);
+static const QPointF grid_portrait_pos2(300, 60);
+static const QPointF grid_portrait_pos3(60, 180);
+static const QPointF grid_portrait_pos4(180, 180);
+static const QPointF grid_portrait_pos5(300, 180);
+static const QPointF grid_portrait_pos6(60, 300);
+static const QPointF grid_portrait_pos7(180, 300);
+static const QPointF grid_portrait_pos8(300, 300);
static const int default_delay(1500);
@@ -88,7 +80,6 @@
void test_addItemsCoverFlow();
void test_removeItemsCoverFlow();
void test_moveItemsCoverFlow();
- void test_labelPositionsCoverFlow();
void test_labelFontSpecsCoverFlow();
void test_resetModelCoverFlow();
void test_resetModelGrid();
@@ -96,8 +87,6 @@
private:
void pan( Qt::Orientation, TBool begin );
- bool checkLabelAt(HbMainWindow *window, const QPointF &pos, const QString &expectedText);
- HbLabel *findLabelAt(QGraphicsItem *parent, const QPointF &pos);
private:
@@ -847,6 +836,8 @@
mWindow->viewport()->grabGesture(Qt::PanGesture);
mWindow->viewport()->grabGesture(Qt::TapGesture); // Add TapAndHoldGesture once it's working
mWidget = new HgGrid( Qt::Vertical);
+ mWidget->setItemSizePolicy(HgWidget::ItemSizeUserDefined);
+ mWidget->setItemSize(QSizeF(120, 120));
TestModel model;
model.generateItems(50);
@@ -1936,92 +1927,6 @@
mWindow = 0;
}
-void TestGanesWidgets::test_labelPositionsCoverFlow()
-{
- mWindow = new HbMainWindow;
- mMediawall = new HgMediawall();
-
- TestModel model;
- model.generateItems(50);
- mWindow->addView(mMediawall);
- mMediawall->setModel(&model);
- mWindow->show();
-
- mMediawall->setTitlePosition(HgMediawall::PositionNone);
- mMediawall->setDescriptionPosition(HgMediawall::PositionNone);
- QVERIFY(mMediawall->titlePosition() == HgMediawall::PositionNone);
- QVERIFY(mMediawall->descriptionPosition() == HgMediawall::PositionNone);
-
- // This updates the title and description label. But how to test they are in correct positions?
- mMediawall->setCurrentIndex(model.index(1, 0));
- QTest::qWait(1000);
-
- mMediawall->setDescriptionPosition(HgMediawall::PositionAboveImage);
- QVERIFY(mMediawall->titlePosition() == HgMediawall::PositionNone);
- QVERIFY(mMediawall->descriptionPosition() == HgMediawall::PositionAboveImage);
- mMediawall->setCurrentIndex(model.index(2, 0));
- QTest::qWait(1000);
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_above_alone, "Secondary 2"));
-
- mMediawall->setDescriptionPosition(HgMediawall::PositionBelowImage);
- QVERIFY(mMediawall->titlePosition() == HgMediawall::PositionNone);
- QVERIFY(mMediawall->descriptionPosition() == HgMediawall::PositionBelowImage);
- mMediawall->setCurrentIndex(model.index(3, 0));
- QTest::qWait(1000);
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_below_alone, "Secondary 3"));
-
- mMediawall->setTitlePosition(HgMediawall::PositionAboveImage);
- QVERIFY(mMediawall->titlePosition() == HgMediawall::PositionAboveImage);
- QVERIFY(mMediawall->descriptionPosition() == HgMediawall::PositionBelowImage);
- mMediawall->setCurrentIndex(model.index(4, 0));
- QTest::qWait(1000);
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_above_alone, "Primary 4"));
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_below_alone, "Secondary 4"));
-
- mMediawall->setDescriptionPosition(HgMediawall::PositionAboveImage);
- QVERIFY(mMediawall->titlePosition() == HgMediawall::PositionAboveImage);
- QVERIFY(mMediawall->descriptionPosition() == HgMediawall::PositionAboveImage);
- mMediawall->setCurrentIndex(model.index(5, 0));
- QTest::qWait(1000);
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_above_top, "Primary 5"));
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_above_bottom, "Secondary 5"));
-
- mMediawall->setDescriptionPosition(HgMediawall::PositionNone);
- QVERIFY(mMediawall->titlePosition() == HgMediawall::PositionAboveImage);
- QVERIFY(mMediawall->descriptionPosition() == HgMediawall::PositionNone);
- mMediawall->setCurrentIndex(model.index(6, 0));
- QTest::qWait(1000);
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_above_alone, "Primary 6"));
-
- mMediawall->setTitlePosition(HgMediawall::PositionBelowImage);
- QVERIFY(mMediawall->titlePosition() == HgMediawall::PositionBelowImage);
- QVERIFY(mMediawall->descriptionPosition() == HgMediawall::PositionNone);
- mMediawall->setCurrentIndex(model.index(7, 0));
- QTest::qWait(1000);
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_below_alone, "Primary 7"));
-
- mMediawall->setDescriptionPosition(HgMediawall::PositionAboveImage);
- QVERIFY(mMediawall->titlePosition() == HgMediawall::PositionBelowImage);
- QVERIFY(mMediawall->descriptionPosition() == HgMediawall::PositionAboveImage);
- mMediawall->setCurrentIndex(model.index(8, 0));
- QTest::qWait(1000);
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_above_alone, "Secondary 8"));
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_below_alone, "Primary 8"));
-
- mMediawall->setDescriptionPosition(HgMediawall::PositionBelowImage);
- QVERIFY(mMediawall->titlePosition() == HgMediawall::PositionBelowImage);
- QVERIFY(mMediawall->descriptionPosition() == HgMediawall::PositionBelowImage);
- mMediawall->setCurrentIndex(model.index(9, 0));
- QTest::qWait(1000);
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_below_top, "Primary 9"));
- QVERIFY(checkLabelAt(mWindow, expected_label_pos_below_bottom, "Secondary 9"));
-
- QTest::qWait(2000);
-
- delete mWindow;
- mWindow = 0;
-}
-
void TestGanesWidgets::test_labelFontSpecsCoverFlow()
{
mWindow = new HbMainWindow;
@@ -2109,42 +2014,6 @@
}
-bool TestGanesWidgets::checkLabelAt(HbMainWindow *window, const QPointF &pos, const QString &expectedText)
-{
- HbLabel *label = findLabelAt(window->currentView(), pos);
- if (label) {
- if (label->plainText() == expectedText) {
- return true;
- }
- else {
- qDebug() << "Label text did not match: expected" << expectedText << "got" << label->plainText();
- return false;
- }
- }
- qDebug() << "Label not found at pos" << pos;
- return false;
-}
-
-HbLabel *TestGanesWidgets::findLabelAt(QGraphicsItem *parent, const QPointF &pos)
-{
- QList<QGraphicsItem *> subItems = parent->childItems();
- int count = subItems.count();
- for (int i = 0; i < count; i++) {
- QGraphicsItem *item = subItems.at(i);
- QRectF itemRect(item->pos(), item->boundingRect().size());
- if (itemRect.contains(pos)) {
- HbLabel *label = qgraphicsitem_cast<HbLabel *>(subItems.at(i));
- if (label) {
- return label;
- }
- else {
- return findLabelAt(subItems.at(i), pos);
- }
- }
- }
- return NULL;
-}
-
#ifdef _UNITTEST_GANESWIDGETS_LOG_TO_C_
int main (int argc, char* argv[])
{
--- a/hgcacheproxymodel/inc/hgbuffermanager.h Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/inc/hgbuffermanager.h Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 1 %
+* Version : %version: 3 %
*/
#ifndef HGBUFFERMANAGER_H_
#define HGBUFFERMANAGER_H_
@@ -34,9 +34,13 @@
void setPosition( int aIndex );
void resetBuffer( int aPosition, int aTotalCount);
- void itemCountChanged( int aIndex, bool aRemoved, int aNewTotalCount );
void resizeCache(int newSize, int newTreshold);
+ void aboutToRemoveItem(int pos);
+ void removedItem(int pos);
+ void aboutToInsertItem(int pos);
+ void insertedItem(int pos);
+
private:
void calculate();
--- a/hgcacheproxymodel/src/hgbuffermanager.cpp Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/src/hgbuffermanager.cpp Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 1 %
+* Version : %version: 4 %
*/
#include "hgbuffermanager.h"
#include <hgwidgets/hgcacheproxymodel.h>
@@ -208,14 +208,68 @@
calculate();
}
-void HgBufferManager::itemCountChanged( int aIndex,
- bool aRemoved,
- int aNewTotalCount )
-{
- Q_UNUSED(aIndex);
- Q_UNUSED(aRemoved);
- //release all, to make sure that no old items are skipped
- mObserver->release(0, aNewTotalCount);
- resetBuffer(mBufferPosition + (mBufferSize / 2), aNewTotalCount);
+void HgBufferManager::aboutToRemoveItem(int pos)
+{
+ if(pos < 0 || pos >= mTotalCount ){
+ return;
+ }
+
+ if ( pos >= mBufferPosition && pos < mBufferPosition + mBufferSize ){
+ mObserver->release(pos, pos);
+ }
}
+
+void HgBufferManager::removedItem(int pos)
+{
+ if(pos < 0 || pos >= mTotalCount ){
+ return;
+ }
+
+ mTotalCount--;
+ if( mTotalCount >= mBufferSize ){
+ if (pos < mBufferPosition){ //before buffer pos is >=0
+ mBufferPosition--;
+ } else if (pos >= mBufferPosition && pos < mBufferPosition + mBufferSize){
+ if( mBufferPosition + mBufferSize <= mTotalCount ){
+ // Requested from the end
+ mObserver->request( mBufferPosition + mBufferSize - 1,
+ mBufferPosition + mBufferSize - 1 );
+ }else if( mBufferPosition > 0 ){
+ // Move buffer and request from the beginning
+ mBufferPosition--;
+ mObserver->request( mBufferPosition,
+ mBufferPosition );
+ }
+ }
+ }
+}
+
+void HgBufferManager::aboutToInsertItem(int pos)
+{
+ if(pos < 0 || pos >= mTotalCount ){
+ return;
+ }
+
+ if ( pos >= mBufferPosition && pos < mBufferPosition + mBufferSize ){
+ if( mBufferPosition + mBufferSize < mTotalCount ){
+ // Release from the end of the buffer
+ mObserver->release(mBufferPosition + mBufferSize - 1, mBufferPosition + mBufferSize - 1);
+ }
+ }
+}
+
+void HgBufferManager::insertedItem(int pos)
+{
+ if(pos < 0 || pos >= mTotalCount ){
+ return;
+ }
+
+ mTotalCount++;
+ if ( pos >= mBufferPosition && pos < mBufferPosition + mBufferSize ){
+ mObserver->request(pos, pos);
+ }else if (pos<mBufferPosition){ //if we have inserted item before buffer, we should move buffer.
+ mBufferPosition++;
+ }
+}
+
//eof
--- a/hgcacheproxymodel/src/hgcacheproxymodel.cpp Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/src/hgcacheproxymodel.cpp Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 7 %
+* Version : %version: 10 %
*/
#include <QList>
#include <QAbstractItemModel>
@@ -251,9 +251,9 @@
void HgCacheProxyModel::sort(int column, Qt::SortOrder order)
{
mSupressBM = true;
- cleanupForBMReset();
+ sourceModelAboutToBeReset();
mSortFilterProxyModel->sort(column, order);
- resetBM();
+ sourceModelReset();
}
QModelIndex HgCacheProxyModel::buddy(const QModelIndex &index) const
@@ -282,9 +282,9 @@
{
if (sortCaseSensitivity() != cs){
mSupressBM = true;
- cleanupForBMReset();
+ sourceModelAboutToBeReset();
mSortFilterProxyModel->setSortCaseSensitivity(cs);
- resetBM();
+ sourceModelReset();
}
}
@@ -297,9 +297,9 @@
{
if (isSortLocaleAware() != on){
mSupressBM = true;
- cleanupForBMReset();
+ sourceModelAboutToBeReset();
mSortFilterProxyModel->setSortLocaleAware(on);
- resetBM();
+ sourceModelReset();
}
}
@@ -322,9 +322,9 @@
{
if (dynamicSortFilter() != enable){
mSupressBM = true;
- cleanupForBMReset();
+ sourceModelAboutToBeReset();
mSortFilterProxyModel->setDynamicSortFilter(enable);
- resetBM();
+ sourceModelReset();
}
}
@@ -337,9 +337,9 @@
{
if (sortRole() != role){
mSupressBM = true;
- cleanupForBMReset();
+ sourceModelAboutToBeReset();
mSortFilterProxyModel->setSortRole(role);
- resetBM();
+ sourceModelReset();
}
}
@@ -352,9 +352,9 @@
{
if (filterRegExp() != regExp){
mSupressBM = true;
- cleanupForBMReset();
+ sourceModelAboutToBeReset();
mSortFilterProxyModel->setFilterRegExp(regExp);
- resetBM();
+ sourceModelReset();
}
}
@@ -367,9 +367,9 @@
{
if (filterKeyColumn() != column){
mSupressBM = true;
- cleanupForBMReset();
+ sourceModelAboutToBeReset();
mSortFilterProxyModel->setFilterKeyColumn(column);
- resetBM();
+ sourceModelReset();
}
}
@@ -382,9 +382,9 @@
{
if ( filterCaseSensitivity() != cs){
mSupressBM = true;
- cleanupForBMReset();
+ sourceModelAboutToBeReset();
mSortFilterProxyModel->setFilterCaseSensitivity(cs);
- resetBM();
+ sourceModelReset();
}
}
@@ -397,9 +397,9 @@
{
if ( filterRole() != role ){
mSupressBM = true;
- cleanupForBMReset();
+ sourceModelAboutToBeReset();
mSortFilterProxyModel->setFilterRole(role);
- resetBM();
+ sourceModelReset();
}
}
@@ -452,7 +452,7 @@
list.append(idx);
}
}
- if (mDataProviderModel)
+ if (mDataProviderModel && list.count()>0)
mDataProviderModel->request(list, mSupressBM);
TX_EXIT
}
@@ -482,20 +482,6 @@
return mSortFilterProxyModel->mapFromSource( mDataProviderModel->index(myIndex, 0) ).row();
}
-void HgCacheProxyModel::cleanupForBMReset()
-{
- releaseAll();
-}
-
-void HgCacheProxyModel::resetBM()
-{
- if (mBufferManager){
- mCurrentPos = 0;
- mBufferManager->resetBuffer( mCurrentPos, count() );
- }
- mSupressBM = false;
-}
-
void HgCacheProxyModel::releaseAll()
{
if ( mDataProviderModel ){
@@ -579,8 +565,9 @@
QModelIndex begin = index( topLeft.row(), topLeft.column() );
QModelIndex end = index( bottomRight.row(), bottomRight.column() );
- if (begin.isValid() && end.isValid() && !mSupressBM)
+ if (begin.isValid() && end.isValid() && !mSupressBM){
emit dataChanged(begin, end);
+ }
TX_EXIT
}
@@ -640,7 +627,9 @@
TX_ENTRY
if (mBufferManager && !mSupressBM){
beginInsertRows(parent, start, end);
-// mBufferManager->aboutToInsertItems(start, end);
+ for ( int i=start; i <=end; i++){
+ mBufferManager->aboutToInsertItem(i);
+ }
}
TX_EXIT
}
@@ -658,7 +647,9 @@
TX_ENTRY
if (mBufferManager && !mSupressBM){
beginRemoveRows(parent, start, end);
-// mBufferManager->aboutToRemoveItems(start, end);
+ for ( int i=start; i <=end; i++){
+ mBufferManager->aboutToRemoveItem(i);
+ }
}
TX_EXIT
}
@@ -669,7 +660,9 @@
Q_UNUSED(parent);
Q_UNUSED(end);
if (mBufferManager && !mSupressBM){
- mBufferManager->itemCountChanged(start, false, count());
+ for ( int i=start; i <=end; i++){
+ mBufferManager->insertedItem(i);
+ }
endInsertRows();
}
TX_EXIT
@@ -694,7 +687,9 @@
Q_UNUSED(parent);
Q_UNUSED(end);
if (mBufferManager && !mSupressBM){
- mBufferManager->itemCountChanged(start, true, count());
+ for ( int i=start; i <=end; i++){
+ mBufferManager->removedItem(i);
+ }
endRemoveRows();
}
TX_EXIT
@@ -713,8 +708,9 @@
end = index(mapFromDataProviderIndex(to),0);
}
- if (begin.isValid() && end.isValid() && !mSupressBM)
+ if (begin.isValid() && end.isValid() && !mSupressBM){
emit dataChanged(begin, end );
+ }
}
//eof
--- a/hgcacheproxymodel/src/hgdataprovidermodel.cpp Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/src/hgdataprovidermodel.cpp Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 6 %
+* Version : %version: 9 %
*/
#include <e32debug.h>
#include <QVariant>
@@ -149,6 +149,10 @@
void HgDataProviderModel::clearCache()
{
+ for ( int i=0; i<count(); i++){
+ releasePixmap(i);
+ }
+
qDeleteAll( mCache->begin(), mCache->end() );
mCache->clear();
}
@@ -162,7 +166,7 @@
{
bool change(false);
if (list && list->count() && pos >=0 && pos<count() && mCache->at(pos)) {
- while(list->count()){
+ while(list->count()>0){
QPair< QVariant, int > pair = list->takeFirst();
change = update(pos, pair.first, pair.second, true)|change;
}
@@ -239,10 +243,8 @@
void HgDataProviderModel::doInsertItem(int pos, QList< QPair< QVariant, int > >* list, bool silent)
{
- if (pos >mCache->count()){
- pos = mCache->count();
- } else if (pos <0){
- pos = 0;
+ if (pos >mCache->count() || pos <0){
+ return;
}
if ( !silent){
@@ -267,9 +269,9 @@
void HgDataProviderModel::removeItems(int pos, int size)
{
- if (pos >mCache->count())
+ if (pos >=mCache->count()){
return;
- else if (pos <0){
+ } else if (pos <0){
size = size + pos; //pos <0
pos = 0;
}
--- a/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mydataprovider.cpp Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mydataprovider.cpp Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 1 %
+* Version : %version: 5 %
*/
#include <QList>
#include "hglogger.h"
@@ -37,7 +37,8 @@
mThumbnailRequestIndex(-1),
mThumbnailRequestID(-1),
mThumbnailsize(ThumbnailManager::ThumbnailMedium),
-mMDSLoadInProgress(false)
+mMDSLoadInProgress(false),
+mMode(0)
{
// TX_ENTRY
Q_UNUSED(parent);
@@ -68,6 +69,14 @@
// TX_EXIT
}
+void MyDataProvider::changeMode(int mode)
+{
+ if(mMode!=mode){
+ mMode = mode;
+ resetModel();
+ }
+}
+
void MyDataProvider::doRequestData(QList<int> list, bool silent)
{
TX_ENTRY
@@ -221,9 +230,15 @@
CMdENamespaceDef& namespaceDef = session->GetDefaultNamespaceDefL();
- CMdEObjectDef& objectDef = namespaceDef.GetObjectDefL(_L("Image"));
-
- CMdEObjectQuery* imageQuery = session->NewObjectQueryL( namespaceDef, objectDef, this );
+ CMdEObjectQuery* imageQuery;
+ if ( mMode == 0){
+ CMdEObjectDef& objectDef = namespaceDef.GetObjectDefL(_L("Image"));
+ imageQuery = session->NewObjectQueryL( namespaceDef, objectDef, this );
+ } else {
+ CMdEObjectDef& objectDef = namespaceDef.GetObjectDefL(_L("Audio"));
+ imageQuery = session->NewObjectQueryL( namespaceDef, objectDef, this );
+ }
+
CleanupStack::PushL( imageQuery );
imageQuery->SetResultMode( EQueryResultModeId );
imageQuery->FindL( );
@@ -235,4 +250,17 @@
TX_EXIT
}
+void MyDataProvider::testRemoveItem(int pos)
+{
+ TX_ENTRY
+ removeItem(pos);
+ TX_EXIT
+}
+void MyDataProvider::testInsertItem(int pos, QList< QPair< QVariant, int > >* data)
+{
+ TX_ENTRY
+ insertItem(pos, data, false);
+ TX_EXIT
+}
+
--- a/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mydataprovider.h Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mydataprovider.h Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 1 %
+* Version : %version: 4 %
*/
#ifndef MYDATAPROVIDER2_H
#define MYDATAPROVIDER2_H
@@ -41,6 +41,7 @@
MyDataProvider(QObject *parent = 0);
~MyDataProvider();
void changeIconSize(ThumbnailManager::ThumbnailSize aThumbnailsize);
+ void changeMode(int mode); // 0 for Images, 1 for Audio
//from MMdESessionObserver and MMdEQueryObserver
virtual void HandleSessionOpened(CMdESession& aSession, TInt aError);
@@ -62,7 +63,11 @@
private:
void getNextThumbnail();
void readMDSData();
-
+
+public:
+ void testRemoveItem(int pos);
+ void testInsertItem(int pos, QList< QPair< QVariant, int > >* data);
+
private:
HbIcon* mDefaultIcon;
CActiveSchedulerWait* mScheduler;
@@ -73,6 +78,7 @@
int mThumbnailRequestID;
ThumbnailManager::ThumbnailSize mThumbnailsize;
bool mMDSLoadInProgress;
+ int mMode;
};
#endif // MYDATAPROVIDER2_H
--- a/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mywindow.cpp Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mywindow.cpp Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 1 %
+* Version : %version: 5 %
*/
#include "mywindow.h"
#include <hbmenu.h>
@@ -29,21 +29,58 @@
#include <QCoreApplication>
#include <hbgridview.h>
#include <hbinstance.h>
+#include <HbInputDialog>
#include <QFileSystemWatcher>
#include <hgwidgets/hgcacheproxymodel.h>
#include "mydataprovider.h"
#include "hglogger.h"
+const int KGridViewCommand = 1;
+const int KListViewCommand = 2;
-const QStringList KViewNames = (QStringList() << "GridView" << "ListView" );
+const int KSort1Command = 1101;
+const int KSort2Command = 1102;
+const int KSort3Command = 1103;
+const int KSortCaseSensitiveCommand = 1104;
+const int KSortCaseInsensitiveCommand = 1105;
+const int KDisableFilterCommand = 1200;
+const int KFilter1Command = 1201;
+const int KFilter2Command = 1202;
+const int KTogleDynamicCommand = 1000;
+const int KTogleSortTestCommand = 1001;
+const int KTogleFilterTestCommand = 1002;
+
+const int KInsert0Command = 2100;
+const int KInsert50Command = 2101;
+const int KInsert101Command = 2102;
+const int KInsert257Command = 2103;
+const int KInsert1000Command = 2104;
+const int KInsertEndCommand = 2105;
+const int KInsertEnd10Command = 2106;
+const int KInsertCustomCommand = 2107;
+const int KRemove0Command = 2200;
+const int KRemove50Command = 2201;
+const int KRemove101Command = 2202;
+const int KRemove257Command = 2203;
+const int KRemove1000Command = 2204;
+const int KRemoveLastCommand = 2205;
+const int KRemoveEnd10Command = 2206;
+const int KRemoveCustomCommand = 2207;
+const int KShowImagesCommand = 2300;
+const int KShowAudioCommand = 2301;
+
+const int KResetCommand = 10000;
MyWindow::MyWindow()
: HbMainWindow(),
mView(0),
mModel(0),
mMyDataProvider(0),
- mTimer(new QTimer(this))
+ mSortTestTimer(new QTimer(this)),
+ mSortTestVal(-1),
+ mFilterTestTimer(new QTimer(this)),
+ mFilterTestVal(-1)
{
mMainView = new HbView();
addView( mMainView );
@@ -54,10 +91,11 @@
mModel = new HgCacheProxyModel(this);
mModel->setDataProvider(mMyDataProvider, 120, 20);
- connect(mTimer, SIGNAL(timeout()), this, SLOT(timeout()));
+ connect(mSortTestTimer, SIGNAL(timeout()), this, SLOT(sortTestTimeout()));
+ connect(mSortTestTimer, SIGNAL(timeout()), this, SLOT(filterTestTimeout()));
HbAction action;
- action.setData ( QVariant(1) ); //select Grid
+ action.setData ( QVariant(KGridViewCommand) ); //select Grid
processAction(&action);
}
@@ -71,147 +109,353 @@
HbMenu* mainMenu = new HbMenu( );
connect(mainMenu, SIGNAL(triggered(HbAction*)),this, SLOT(processAction(HbAction*)));
- HbMenu *viewSubMenu = mainMenu->addMenu("Change view");
- QString temporaryString;
- int i(0);
- foreach (temporaryString , KViewNames) {
- HbAction* subAction = viewSubMenu->addAction(temporaryString);
- subAction->setData (QVariant(++i));
- }
+ addChangeViewMenu(mainMenu);
+ addCacheProxyModelMenu(mainMenu);
+ addDataProviderMenu(mainMenu);
- HbMenu *sortSubMenu = mainMenu->addMenu("Sort");
+ HbAction* action = mainMenu->addAction("Reset");
+ action->setData(QVariant(KResetCommand));
+
+ return mainMenu;
+}
+
+void MyWindow::addChangeViewMenu(HbMenu* parent)
+{
+ HbMenu *viewSubMenu = parent->addMenu("Change view");
+ HbAction* action = viewSubMenu->addAction("GridView");
+ action->setData(QVariant(KGridViewCommand));
+ action = viewSubMenu->addAction("ListView");
+ action->setData(QVariant(KListViewCommand));
+}
+
+void MyWindow::addCacheProxyModelMenu(HbMenu* parent)
+{
+
+ HbMenu *cpSubMenu = parent->addMenu("CacheProxyModel");
+
+ HbMenu *sortSubMenu = cpSubMenu->addMenu("Sort");
HbAction* action = sortSubMenu->addAction("Sort1");
- action->setData(QVariant(101));
+ action->setData(QVariant(KSort1Command));
action = sortSubMenu->addAction("Sort2");
- action->setData(QVariant(102));
+ action->setData(QVariant(KSort2Command));
action = sortSubMenu->addAction("Sort3");
- action->setData(QVariant(103));
+ action->setData(QVariant(KSort3Command));
HbMenu *sort4SubMenu = sortSubMenu->addMenu("Sort4 (String)");
action = sort4SubMenu->addAction("CaseSensitive");
- action->setData(QVariant(104));
+ action->setData(QVariant(KSortCaseSensitiveCommand));
action = sort4SubMenu->addAction("CaseInsensitive");
- action->setData(QVariant(105));
+ action->setData(QVariant(KSortCaseInsensitiveCommand));
- HbMenu *filterSubMenu = mainMenu->addMenu("Filter");
+ HbMenu *filterSubMenu = cpSubMenu->addMenu("Filter");
action = filterSubMenu->addAction("Disable filter");
- action->setData(QVariant(201));
+ action->setData(QVariant(KDisableFilterCommand));
action = filterSubMenu->addAction("Filter ITEM* (Case Sensitive)");
- action->setData(QVariant(202));
+ action->setData(QVariant(KFilter1Command));
action = filterSubMenu->addAction("Filter ITEM1*(Case Insensitive)");
- action->setData(QVariant(203));
+ action->setData(QVariant(KFilter2Command));
+
+ action = cpSubMenu->addAction("Enable dynamic Sort/Filter");
+ action->setData(QVariant(KTogleDynamicCommand));
+
+ action = cpSubMenu->addAction("Start Sort Test");
+ action->setData(QVariant(KTogleSortTestCommand));
+
+ action = cpSubMenu->addAction("Start Filter Test");
+ action->setData(QVariant(KTogleFilterTestCommand));
+
+
+}
+
+void MyWindow::addDataProviderMenu(HbMenu* parent)
+{
+ HbMenu *dpSubMenu = parent->addMenu("DataProvider");
- action = mainMenu->addAction("Reset");
- action->setData(QVariant(1000));
- action = mainMenu->addAction("Enable dynamic Sort/Filter");
- action->setData(QVariant(1001));
+ HbMenu *insertSubMenu = dpSubMenu->addMenu("Insert Item");
+ HbAction* action = insertSubMenu->addAction("at 0");
+ action->setData(QVariant(KInsert0Command));
+ action = insertSubMenu->addAction("at 50");
+ action->setData(QVariant(KInsert50Command));
+ action = insertSubMenu->addAction("at 101");
+ action->setData(QVariant(KInsert101Command));
+ action = insertSubMenu->addAction("at 257");
+ action->setData(QVariant(KInsert257Command));
+ action = insertSubMenu->addAction("at 1000");
+ action->setData(QVariant(KInsert1000Command));
+ action = insertSubMenu->addAction("at end");
+ action->setData(QVariant(KInsertEndCommand));
+ action = insertSubMenu->addAction("at end-10");
+ action->setData(QVariant(KInsertEnd10Command));
+ action = insertSubMenu->addAction("at ...");
+ action->setData(QVariant(KInsertCustomCommand));
+
+ HbMenu *removeSubMenu = dpSubMenu->addMenu("Remove Item");
+ action = removeSubMenu->addAction("at 0");
+ action->setData(QVariant(KRemove0Command));
+ action = removeSubMenu->addAction("at 50");
+ action->setData(QVariant(KRemove50Command));
+ action = removeSubMenu->addAction("at 101");
+ action->setData(QVariant(KRemove101Command));
+ action = removeSubMenu->addAction("at 257");
+ action->setData(QVariant(KRemove257Command));
+ action = removeSubMenu->addAction("at 1000");
+ action->setData(QVariant(KRemove1000Command));
+ action = removeSubMenu->addAction("last");
+ action->setData(QVariant(KRemoveLastCommand));
+ action = removeSubMenu->addAction("at end-10");
+ action->setData(QVariant(KRemoveEnd10Command));
+ action = removeSubMenu->addAction("at ...");
+ action->setData(QVariant(KRemoveCustomCommand));
- action = mainMenu->addAction("Test");
- action->setData(QVariant(1002));
+ action = dpSubMenu->addAction("Show Images");
+ action->setData(QVariant(KShowImagesCommand));
+ action = dpSubMenu->addAction("Show Audio");
+ action->setData(QVariant(KShowAudioCommand));
- action = mainMenu->addAction("Stop Test");
- action->setData(QVariant(1003));
-
- return mainMenu;
}
+
void MyWindow::processAction( HbAction* action )
{
int command = action->data().toInt();
- if ( command == 1) {
- HbGridView* view = new HbGridView();
- if ( orientation() == Qt::Horizontal ) {
- view->setColumnCount( 5 );
- view->setRowCount( 3 );
- }else {
- view->setColumnCount( 3 );
- view->setRowCount( 5 );
- }
-// view->setTextVisible(false);
- view->setUniformItemSizes( true );
- view->setItemRecycling( true );
- //this could be done to change mode, for images it doesn't make sence, becouse images thumbnails are created by default only for medium and fullsize
-// AbstractDataProvider *data = mModel->DataProvider();
-// MyDataProvider *prov = static_cast<MyDataProvider*>(data); //of course we have already poiter to that - mMyDataProvider, but it is example how to get it from model
-// prov->changeIconSize(ThumbnailManager::ThumbnailMedium);
- view->setModel(mModel);
- mMainView->setWidget( view );
- mView = view;
- } else if (command == 2) {
- HbListView* view = new HbListView();
- view->setUniformItemSizes( true );
- view->setItemRecycling( true );
- //this could be done to change mode, for images it doesn't make sence, becouse images thumbnails are created by default only for medium and fullsize
-// AbstractDataProvider *data = mModel->DataProvider();
-// MyDataProvider *prov = static_cast<MyDataProvider*>(data); //of course we have already poiter to that - mMyDataProvider, but it is example how to get it from model
-// prov->changeIconSize(ThumbnailManager::ThumbnailSmall);
- view->setModel(mModel);
- mMainView->setWidget( view );
- mView = view;
- } else if (command == 101) { //sort by KSort1Role
- mModel->setSortRole(Qt::UserRole+2);
- mModel->sort(0);
- } else if (command == 102) { //sort by KSort2Role
- mModel->setSortRole(Qt::UserRole+3);
- mModel->sort(0);
- } else if (command == 103) { //sort by KSort3Role
- mModel->setSortRole(Qt::UserRole+4);
- mModel->sort(0);
- } else if (command == 104) { //sort by DisplayRole CaseSensitive
- mModel->setSortRole(Qt::DisplayRole);
- mModel->setSortCaseSensitivity(Qt::CaseSensitive);
- mModel->sort(0);
- } else if (command == 105) { //sort by DisplayRole CaseInsensitive
- mModel->setSortRole(Qt::DisplayRole);
- mModel->setSortCaseSensitivity(Qt::CaseInsensitive);
- mModel->sort(0);
- } else if (command == 201) { //disable filter
- QRegExp reg = QRegExp();
- mModel->setFilterRegExp(reg);
- } else if (command == 202) { //Filter ITEM* (Case Sensitive)
- QRegExp reg = QRegExp("ITEM*", Qt::CaseSensitive, QRegExp::Wildcard);
- mModel->setFilterCaseSensitivity(Qt::CaseSensitive);
- mModel->setFilterRegExp(reg);
- } else if (command == 203) { //Filter ITEM1*(Case Insensitive)
- QRegExp reg = QRegExp("ITEM1*", Qt::CaseInsensitive, QRegExp::Wildcard);
- mModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
- mModel->setFilterRegExp(reg);
- } else if (command == 1000) { //reset
- mMyDataProvider->resetModel();
- } else if (command == 1001) { //reset
- bool current = !mModel->dynamicSortFilter();
- mModel->setDynamicSortFilter(current);
- if (current){
- action->setText("Disable dynamic Sort/Filter");
- }else{
- action->setText("Enable dynamic Sort/Filter");
+
+ switch (command){
+ case KGridViewCommand : {
+ HbGridView* view = new HbGridView();
+ if ( orientation() == Qt::Horizontal ) {
+ view->setColumnCount( 5 );
+ view->setRowCount( 3 );
+ }else {
+ view->setColumnCount( 3 );
+ view->setRowCount( 5 );
+ }
+ // view->setTextVisible(false);
+ view->setUniformItemSizes( true );
+ view->setItemRecycling( true );
+ view->setModel(mModel);
+ mMainView->setWidget( view );
+ mView = view;
+ break;
+ }
+ case KListViewCommand : {
+ HbListView* view = new HbListView();
+ view->setUniformItemSizes( true );
+ view->setItemRecycling( true );
+ view->setModel(mModel);
+ mMainView->setWidget( view );
+ mView = view;
+ break;
+ }
+ case KSort1Command : {
+ mModel->setSortRole(Qt::UserRole+2);
+ mModel->sort(0);
+ break;
+ }
+ case KSort2Command : {
+ mModel->setSortRole(Qt::UserRole+3);
+ mModel->sort(0);
+ break;
+ }
+ case KSort3Command : {
+ mModel->setSortRole(Qt::UserRole+4);
+ mModel->sort(0);
+ break;
+ }
+ case KSortCaseSensitiveCommand : {
+ mModel->setSortRole(Qt::DisplayRole);
+ mModel->setSortCaseSensitivity(Qt::CaseSensitive);
+ mModel->sort(0);
+ break;
+ }
+ case KSortCaseInsensitiveCommand : {
+ mModel->setSortRole(Qt::DisplayRole);
+ mModel->setSortCaseSensitivity(Qt::CaseInsensitive);
+ mModel->sort(0);
+ break;
+ }
+ case KDisableFilterCommand : {
+ QRegExp reg = QRegExp();
+ mModel->setFilterRegExp(reg);
+ break;
+ }
+ case KFilter1Command : {
+ QRegExp reg = QRegExp("ITEM*", Qt::CaseSensitive, QRegExp::Wildcard);
+ mModel->setFilterCaseSensitivity(Qt::CaseSensitive);
+ mModel->setFilterRegExp(reg);
+ break;
+ }
+ case KFilter2Command : {
+ QRegExp reg = QRegExp("ITEM1*", Qt::CaseInsensitive, QRegExp::Wildcard);
+ mModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
+ mModel->setFilterRegExp(reg);
+ break;
+ }
+ case KTogleDynamicCommand : {
+ bool current = !mModel->dynamicSortFilter();
+ mModel->setDynamicSortFilter(current);
+ if (current){
+ action->setText("Disable dynamic Sort/Filter");
+ }else{
+ action->setText("Enable dynamic Sort/Filter");
+ }
+ break;
+ }
+ case KTogleSortTestCommand : {
+ if (mSortTestVal == -1){
+ mSortTestVal = 500;
+ action->setText("Stop Sort Test");
+ sortTestTimeout();
+ }else{
+ mSortTestVal = -1;
+ action->setText("Start Sort Test");
+ }
+ break;
+ }
+ case KTogleFilterTestCommand : {
+ if (mFilterTestVal == -1){
+ mFilterTestVal = 500;
+ action->setText("Stop Filter Test");
+ sortTestTimeout();
+ }else{
+ mFilterTestVal = -1;
+ action->setText("Start Filter Test");
+ }
+ break;
}
- } else if (command == 1002) {
- mTestVal = 500;
- timeout();
- } else if (command == 1003) {
- mTestVal = -1;
+ case KInsert0Command : {
+ QList< QPair< QVariant, int > >* data = new QList< QPair< QVariant, int > >();
+ data->append( QPair< QVariant, int >(QString("NEW ITEM!!!!"), Qt::DisplayRole) );
+ mMyDataProvider->testInsertItem(0, data);
+ delete data;
+ break;
+ }
+ case KInsert50Command : {
+ QList< QPair< QVariant, int > >* data = new QList< QPair< QVariant, int > >();
+ data->append( QPair< QVariant, int >(QString("NEW ITEM!!!!"), Qt::DisplayRole) );
+ mMyDataProvider->testInsertItem(50, data);
+ delete data;
+ break;
+ }
+ case KInsert101Command : {
+ QList< QPair< QVariant, int > >* data = new QList< QPair< QVariant, int > >();
+ data->append( QPair< QVariant, int >(QString("NEW ITEM!!!!"), Qt::DisplayRole) );
+ mMyDataProvider->testInsertItem(101, data);
+ delete data;
+ break;
+ }
+ case KInsert257Command : {
+ QList< QPair< QVariant, int > >* data = new QList< QPair< QVariant, int > >();
+ data->append( QPair< QVariant, int >(QString("NEW ITEM!!!!"), Qt::DisplayRole) );
+ mMyDataProvider->testInsertItem(257, data);
+ delete data;
+ break;
+ }
+ case KInsert1000Command : {
+ QList< QPair< QVariant, int > >* data = new QList< QPair< QVariant, int > >();
+ data->append( QPair< QVariant, int >(QString("NEW ITEM!!!!"), Qt::DisplayRole) );
+ mMyDataProvider->testInsertItem(1000, data);
+ delete data;
+ break;
+ }
+ case KInsertEndCommand : {
+ QList< QPair< QVariant, int > >* data = new QList< QPair< QVariant, int > >();
+ data->append( QPair< QVariant, int >(QString("NEW ITEM!!!!"), Qt::DisplayRole) );
+ mMyDataProvider->testInsertItem(mMyDataProvider->rowCount(QModelIndex()), data);
+ delete data;
+ break;
+ }
+ case KInsertEnd10Command : {
+ QList< QPair< QVariant, int > >* data = new QList< QPair< QVariant, int > >();
+ data->append( QPair< QVariant, int >(QString("NEW ITEM!!!!"), Qt::DisplayRole) );
+ mMyDataProvider->testInsertItem(mMyDataProvider->rowCount(QModelIndex())-10, data);
+ delete data;
+ break;
+ }
+ case KInsertCustomCommand : {
+ int val = HbInputDialog::getInteger( QString("Insert at position:"));
+ QList< QPair< QVariant, int > >* data = new QList< QPair< QVariant, int > >();
+ data->append( QPair< QVariant, int >(QString("NEW ITEM!!!!"), Qt::DisplayRole) );
+ mMyDataProvider->testInsertItem(val, data);
+ break;
+ }
+ case KRemove0Command : {
+ mMyDataProvider->testRemoveItem(0);
+ break;
+ }
+ case KRemove50Command : {
+ mMyDataProvider->testRemoveItem(50);
+ break;
+ }
+ case KRemove101Command : {
+ mMyDataProvider->testRemoveItem(101);
+ break;
+ }
+ case KRemove257Command : {
+ mMyDataProvider->testRemoveItem(257);
+ break;
+ }
+ case KRemove1000Command : {
+ mMyDataProvider->testRemoveItem(1000);
+ break;
+ }
+ case KRemoveLastCommand : {
+ mMyDataProvider->testRemoveItem(mMyDataProvider->rowCount(QModelIndex())-1);
+ break;
+ }
+ case KRemoveEnd10Command : {
+ mMyDataProvider->testRemoveItem(mMyDataProvider->rowCount(QModelIndex()) - 10);
+ break;
+ }
+ case KRemoveCustomCommand : {
+ int val = HbInputDialog::getInteger( QString("Remove from position:"));
+ mMyDataProvider->testRemoveItem(val);
+ break;
+ }
+ case KShowImagesCommand : {
+ mMyDataProvider->changeIconSize(ThumbnailManager::ThumbnailMedium);
+ mMyDataProvider->changeMode(0);
+ break;
+ }
+ case KShowAudioCommand : {
+ mMyDataProvider->changeIconSize(ThumbnailManager::ThumbnailSmall);
+ mMyDataProvider->changeMode(1);
+ break;
+ }
+ case KResetCommand : {
+ mMyDataProvider->resetModel();
+ break;
+ }
+ default: {
+ break;
+ }
}
}
-void MyWindow::setIndex(int /*index*/)
-{
- update();
+void MyWindow::sortTestTimeout()
+{
+ if (mSortTestVal>0){
+ HbAction action;
+ action.setData ( QVariant(KSort1Command + mSortTestVal%(KSortCaseInsensitiveCommand - KSort1Command + 1) ) );
+ processAction(&action);
+ mSortTestVal--;
+ if (mSortTestVal==0){
+ mSortTestVal = 500;
+ }
+ mSortTestTimer->start(2000);
+ }
}
-void MyWindow::timeout()
-{
- HbAction action;
- action.setData ( QVariant(101 + mTestVal%4) );
- processAction(&action);
-
-
- if (mTestVal>=0){
- mTestVal--;
- if (mTestVal==0){
- mTestVal = 500;
+void MyWindow::filterTestTimeout()
+{
+ if (mFilterTestVal>0){
+ HbAction action;
+ action.setData ( QVariant(KDisableFilterCommand + mFilterTestVal%(KFilter2Command - KDisableFilterCommand + 1 ) ) );
+ processAction(&action);
+ mFilterTestVal--;
+ if (mFilterTestVal==0){
+ mFilterTestVal = 500;
}
- mTimer->start(2000);
+ mFilterTestTimer->start(2000);
}
}
--- a/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mywindow.h Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mywindow.h Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 1 %
+* Version : %version: 4 %
*/
#ifndef CONTENTWIDGET_H
#define CONTENTWIDGET_H
@@ -55,22 +55,28 @@
~MyWindow();
private slots:
- void processAction ( HbAction* action );
- void setIndex(int index);
- void timeout();
+ void processAction( HbAction* action );
+ void sortTestTimeout();
+ void filterTestTimeout();
private:
HbMenu *createMainMenu();
+ void addChangeViewMenu(HbMenu* parent);
+ void addCacheProxyModelMenu(HbMenu* parent);
+ void addDataProviderMenu(HbMenu* parent);
+
private:
HbAbstractItemView* mView;
HgCacheProxyModel *mModel;
MyDataProvider *mMyDataProvider;
HbView* mMainView;
- int mTestVal;
- QTimer *mTimer;
-
+ QTimer *mSortTestTimer;
+ int mSortTestVal;
+
+ QTimer *mFilterTestTimer;
+ int mFilterTestVal;
};
#endif // CONTENTWIDGET_H
--- a/hgcacheproxymodel/tsrc/unit/bmhelper.cpp Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/tsrc/unit/bmhelper.cpp Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 1 %
+* Version : %version: 5 %
*/
#include "bmhelper.h"
#include <QDebug>
@@ -30,10 +30,24 @@
void BMHelper::release(int start, int end)
{
+ if ((start <0 && end <0) || (start >=mBuffer.size() && end >=mBuffer.size() ) )
+ return;
+
if ( start<0)
start = 0;
- if (end>mBuffer.size() - 1)
- end = mBuffer.size() - 1;
+ if (end>mBuffer.size())
+ end = mBuffer.size();
+
+ if ( start > end){
+ int t = start;
+ start = end;
+ end = t;
+ }
+
+ if ( start<0)
+ start = 0;
+ if (end>=mBuffer.size())
+ end = mBuffer.size()-1;
for ( int i = start; i <= end; i++){
if (mBuffer.value(i) == true){
@@ -47,10 +61,25 @@
void BMHelper::request(int start, int end, HgRequestOrder order)
{
Q_UNUSED(order);
+
+ if ((start <0 && end <0) || (start >=mBuffer.size() && end >=mBuffer.size() ) )
+ return;
+
if ( start<0)
start = 0;
- if (end>mBuffer.size() - 1)
- end = mBuffer.size() - 1;
+ if (end>=mBuffer.size())
+ end = mBuffer.size()-1;
+
+ if ( start > end){
+ int t = start;
+ start = end;
+ end = t;
+ }
+ if ( start<0)
+ start = 0;
+ if (end>=mBuffer.size())
+ end = mBuffer.size()-1;
+
for ( int i = start; i <= end; i++){
if (mBuffer.value(i) == false){
@@ -64,40 +93,47 @@
bool BMHelper::isIntergal(int bufferSize)
{
int c = mBuffer.count(true);
- bool res = (bufferSize == c);
+ bool res = (c == mBuffer.count())||(bufferSize == c);
+
+
if (res){ ///check integrity ( if all items from first true, to size are true;
int f = mBuffer.indexOf(true);
for ( int i =0; i < mBuffer.count(); i++){
- if (mBuffer[i] != (i>=f && i < f+bufferSize) ){
+ if (mBuffer[i] != (i>=f && i < f+c) ){
res = false;
break;
}
}
} else {
- qWarning()<<QString("isIntergal mBuffer.count(true)=%1 bufferSize=%2").arg(c).arg(bufferSize);
+ QString arr;
+ QString item = "%1,";
+ for ( int i =0; i < mBuffer.count(); i++){
+ if(mBuffer[i]){
+ arr+=item.arg(i);
+ }
+ }
+ qWarning()<<QString("isIntergal mBuffer.count(true)=%1 bufferSize=%2 visible:%3").arg(c).arg(bufferSize).arg(arr);
}
return res;
}
+int BMHelper::totalSize()
+{
+ return mBuffer.count();
+}
-void BMHelper::itemCountChanged( int aIndex, bool aRemoved, int aNewTotalCount )
+void BMHelper::remove(int pos)
{
- Q_UNUSED(aRemoved);
-
- if ( aIndex < 0)
- aIndex = 0;
- if ( aIndex > mBuffer.count())
- aIndex = mBuffer.count()-1;
-
- if ((mBuffer.count() - aNewTotalCount)>0){
- while (mBuffer.count()!=aNewTotalCount){
- if (aIndex > mBuffer.count() )
- aIndex = mBuffer.count() -1;
- mBuffer.removeAt(aIndex);
- }
- } else if ((mBuffer.count() - aNewTotalCount)<0){
- while (mBuffer.count()!=aNewTotalCount){
- mBuffer.insert(aIndex, false);
- }
+ if ( pos <0 || pos > mBuffer.count()){
+ return;
}
+ mBuffer.removeAt(pos);
}
+
+void BMHelper::insert(int pos)
+{
+ if ( pos <0 || pos > mBuffer.count()){
+ return;
+ }
+ mBuffer.insert(pos, false);
+}
--- a/hgcacheproxymodel/tsrc/unit/bmhelper.h Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/tsrc/unit/bmhelper.h Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 1 %
+* Version : %version: 2 %
*/
#ifndef BUFFERMANAGERHELPER_H
#define BUFFERMANAGERHELPER_H
@@ -30,9 +30,12 @@
virtual void request(int start, int end, HgRequestOrder order = HgRequestOrderAscending);
bool isIntergal(int bufferSize);
- void itemCountChanged( int aIndex, bool aRemoved, int aNewTotalCount );
+ int totalSize();
void resizeCache(int newSize);
+ void remove(int pos);
+ void insert(int pos);
+
private:
QList< bool > mBuffer;
--- a/hgcacheproxymodel/tsrc/unit/dataproviderhelper.cpp Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/tsrc/unit/dataproviderhelper.cpp Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 3 %
+* Version : %version: 5 %
*/
#include "dataproviderhelper.h"
#include <QtDebug>
@@ -252,6 +252,11 @@
return createIcon(index, aPixmap);
}
+void DataProviderHelper::testUpdateIcon(int pos, QVariant icon, bool silent)
+{
+ updateIcon(pos, icon, silent);
+}
+
void DataProviderHelper::testEmitDataChanged(QModelIndex from,QModelIndex to)
{
emit dataChanged(from,to);
--- a/hgcacheproxymodel/tsrc/unit/dataproviderhelper.h Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/tsrc/unit/dataproviderhelper.h Thu May 27 13:59:05 2010 +0300
@@ -48,6 +48,7 @@
void testRemoveItems(int pos, int size = 1);
void testRemoveItem(int pos);
void testInsertItem(int pos, QPair< QVariant, int > item, bool silent);
+ void testUpdateIcon(int pos, QVariant icon, bool silent = false);
QList< QPair< int, int > > getObserverDataUpdated();
--- a/hgcacheproxymodel/tsrc/unit/test_hgcacheproxydatamodel.cpp Fri May 14 16:57:01 2010 +0300
+++ b/hgcacheproxymodel/tsrc/unit/test_hgcacheproxydatamodel.cpp Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 5 %
+* Version : %version: 8 %
*/
#include <QtTest/QtTest>
#include <hgwidgets/hgcacheproxymodel.h>
@@ -155,10 +155,22 @@
totalsize = 100;
bufferSize = 200;
bmh = new BMHelper(totalsize);
- bm = new HgBufferManager(bmh, bufferSize, 40, -20, totalsize);
+ bm = new HgBufferManager(bmh, bufferSize, 40, 2*bufferSize, totalsize);
+ bufferSize = 300;
+ bm->resizeCache(bufferSize, 20);
+ bm->setPosition(5);
+ QVERIFY(bmh->isIntergal(bufferSize));
+ bm->setPosition(5000);
+ QVERIFY(bmh->isIntergal(bufferSize));
delete bmh;
delete bm;
+ bmh = new BMHelper(totalsize);
+ bm = new HgBufferManager(bmh, bufferSize, 40, -10, totalsize);
+ delete bmh;
+ delete bm;
+
+
totalsize = 1000;
bufferSize = 100;
bmh = new BMHelper(totalsize);
@@ -294,111 +306,141 @@
int bufferSize = 100;
bmh = new BMHelper(totalsize);
bm = new HgBufferManager(bmh, bufferSize, 40, 0, totalsize);
- totalsize--;
- bmh->itemCountChanged(0, true, totalsize);
- bm->itemCountChanged(0, true, totalsize);
+ bm->aboutToRemoveItem(0);
+ bmh->remove(0);
+ bm->removedItem(0);
QVERIFY(bmh->isIntergal(bufferSize));
+ totalsize--;
+ QCOMPARE(bmh->totalSize(), totalsize);
- totalsize--;
- bmh->itemCountChanged(150, true, totalsize);
- bm->itemCountChanged(150, true, totalsize);
+ bm->aboutToRemoveItem(150);
+ bmh->remove(150);
+ bm->removedItem(150);
QVERIFY(bmh->isIntergal(bufferSize));
+ totalsize--;
+ QCOMPARE(bmh->totalSize(), totalsize);
- totalsize--;
bm->setPosition(100);
- bmh->itemCountChanged(150, true, totalsize);
- bm->itemCountChanged(150, true, totalsize);
+ bm->aboutToRemoveItem(150);
+ bmh->remove(150);
+ bm->removedItem(150);
QVERIFY(bmh->isIntergal(bufferSize));
+ totalsize--;
+ QCOMPARE(bmh->totalSize(), totalsize);
- totalsize--;
bm->setPosition(891);
- bmh->itemCountChanged(150, true, totalsize);
- bm->itemCountChanged(150, true, totalsize);
+ bm->aboutToRemoveItem(150);
+ bmh->remove(150);
+ bm->removedItem(150);
QVERIFY(bmh->isIntergal(bufferSize));
-
totalsize--;
+ QCOMPARE(bmh->totalSize(), totalsize);
+
+ bm->setPosition(0);
+ bm->aboutToRemoveItem(150);
+ bmh->remove(150);
+ bm->removedItem(150);
+ QVERIFY(bmh->isIntergal(bufferSize));
+ totalsize--;
+ QCOMPARE(bmh->totalSize(), totalsize);
+
bm->setPosition(900);
- bmh->itemCountChanged(890, true, totalsize);
- bm->itemCountChanged(890, true, totalsize);
+ bm->aboutToRemoveItem(890);
+ bmh->remove(890);
+ bm->removedItem(890);
QVERIFY(bmh->isIntergal(bufferSize));
-
totalsize--;
+ QCOMPARE(bmh->totalSize(), totalsize);
+
bm->setPosition(totalsize);
- bmh->itemCountChanged(totalsize, true, totalsize);
- bm->itemCountChanged(totalsize, true, totalsize);
+ bm->aboutToRemoveItem(totalsize);
+ bmh->remove(totalsize);
+ bm->removedItem(totalsize);
QVERIFY(bmh->isIntergal(bufferSize));
+// totalsize--;//no item remove since totalsize is outside
+ QCOMPARE(bmh->totalSize(), totalsize);
+ bm->setPosition(totalsize);
+ bm->aboutToRemoveItem(totalsize-1);
+ bmh->remove(totalsize-1);
+ bm->removedItem(totalsize-1);
+ QVERIFY(bmh->isIntergal(bufferSize));
totalsize--;
+ QCOMPARE(bmh->totalSize(), totalsize);
+
bm->setPosition(totalsize+200);
- bmh->itemCountChanged(totalsize+200, true, totalsize);
- bm->itemCountChanged(totalsize+200, true, totalsize);
+ bm->aboutToRemoveItem(totalsize+200);
+ bmh->remove(totalsize+200);
+ bm->removedItem(totalsize+200);
QVERIFY(bmh->isIntergal(bufferSize));
+// totalsize--; //no item remove since totalsize+200 is outside
+ QCOMPARE(bmh->totalSize(), totalsize);
+
+ bm->aboutToRemoveItem(-20);
+ bmh->remove(-20);
+ bm->removedItem(-20);
+ QVERIFY(bmh->isIntergal(bufferSize));
+// totalsize--; //no item remove since totalsize+200 is outside
+ QCOMPARE(bmh->totalSize(), totalsize);
- totalsize= totalsize - 10;
- bm->setPosition(0);
- bmh->itemCountChanged(0, true, totalsize);
- bm->itemCountChanged(0, true, totalsize);
- QVERIFY(bmh->isIntergal(bufferSize));
-
- totalsize= totalsize - 10;
- bm->setPosition(totalsize);
- bmh->itemCountChanged(totalsize, true, totalsize);
- bm->itemCountChanged(totalsize, true, totalsize);
- QVERIFY(bmh->isIntergal(bufferSize));
+ //insert
- totalsize= totalsize - 10;
- bm->setPosition(totalsize/2);
- bmh->itemCountChanged(totalsize/2, true, totalsize);
- bm->itemCountChanged(totalsize/2, true, totalsize);
+ bm->setPosition(0);
+ bm->aboutToInsertItem(0);
+ bmh->insert(0);
+ bm->insertedItem(0);
QVERIFY(bmh->isIntergal(bufferSize));
-
totalsize++;
- bm->setPosition(0);
- bmh->itemCountChanged(0, false, totalsize);
- bm->itemCountChanged(0, false, totalsize);
- QVERIFY(bmh->isIntergal(bufferSize));
+ QCOMPARE(bmh->totalSize(), totalsize);
- totalsize++;
- bmh->itemCountChanged(50, false, totalsize);
- bm->itemCountChanged(50, false, totalsize);
+ bm->aboutToInsertItem(50);
+ bmh->insert(50);
+ bm->insertedItem(50);
QVERIFY(bmh->isIntergal(bufferSize));
+ totalsize++;
+ QCOMPARE(bmh->totalSize(), totalsize);
- totalsize++;
bm->setPosition(100);
- bmh->itemCountChanged(80, false, totalsize);
- bm->itemCountChanged(80, false, totalsize);
+ bm->aboutToInsertItem(80);
+ bmh->insert(80);
+ bm->insertedItem(80);
QVERIFY(bmh->isIntergal(bufferSize));
+ totalsize++;
+ QCOMPARE(bmh->totalSize(), totalsize);
- totalsize++;
bm->setPosition(500);
- bmh->itemCountChanged(480, false, totalsize);
- bm->itemCountChanged(480, false, totalsize);
+ bm->aboutToInsertItem(80);
+ bmh->insert(80);
+ bm->insertedItem(80);
QVERIFY(bmh->isIntergal(bufferSize));
-
- totalsize++;
- bm->setPosition(totalsize-20);
- bmh->itemCountChanged(totalsize, false, totalsize);
- bm->itemCountChanged(totalsize, false, totalsize);
- QVERIFY(bmh->isIntergal(bufferSize));
+ totalsize++;
+ QCOMPARE(bmh->totalSize(), totalsize);
- totalsize=totalsize+10;
- bm->setPosition(totalsize-20);
- bmh->itemCountChanged(totalsize, false, totalsize);
- bm->itemCountChanged(totalsize, false, totalsize);
+ bm->setPosition(500);
+ bm->aboutToInsertItem(480);
+ bmh->insert(480);
+ bm->insertedItem(480);
QVERIFY(bmh->isIntergal(bufferSize));
+ totalsize++;
+ QCOMPARE(bmh->totalSize(), totalsize);
- totalsize=totalsize+10;
- bm->setPosition(20);
- bmh->itemCountChanged(totalsize, false, totalsize);
- bm->itemCountChanged(totalsize, false, totalsize);
+ bm->setPosition(totalsize-20);
+ bm->aboutToInsertItem(totalsize);
+ bmh->insert(totalsize);
+ bm->insertedItem(totalsize);
QVERIFY(bmh->isIntergal(bufferSize));
-
- totalsize=totalsize+10;
- bm->setPosition(totalsize/2-20);
- bmh->itemCountChanged(totalsize, false, totalsize);
- bm->itemCountChanged(totalsize, false, totalsize);
- QVERIFY(bmh->isIntergal(bufferSize));
+ totalsize++;
+ QCOMPARE(bmh->totalSize(), totalsize);
+
+ bm->setPosition(totalsize-20);
+ bm->aboutToInsertItem(totalsize+20);
+ bmh->insert(totalsize+20);
+ bm->insertedItem(totalsize+20);
+ QVERIFY(bmh->isIntergal(bufferSize));
+// totalsize++; //no insert
+ QCOMPARE(bmh->totalSize(), totalsize);
+
}
void TestCacheProxy::testBM_ResizeCache()
@@ -623,11 +665,13 @@
dph->testUpdate(0, &list, false); //update shouldn't change - no item
dph->testUpdate(-1, &list, true); //update shouldn't change - no item
+ dph->testUpdate(-1, s, Qt::DisplayRole, true); //update shouldn't change - no item
+ dph->testUpdateIcon(-1, s);
dph->testUpdate(120000, &list, false); //update shouldn't change - no item
res = dph->data(idx, Qt::DisplayRole);
QVERIFY(res.isValid() == false);
QVERIFY(dph->getObserverDataUpdated().count() == 0);
-
+
dph->testNewItem(&list, false);
QList< QPair< int, int > > resList = dph->getSignalRowsAboutToBeInserted();
QVERIFY(resList.count() == 1);
@@ -637,6 +681,13 @@
QVERIFY(resList.count() == 1);
QVERIFY(resList[0].first == 0); //for item 0
QVERIFY(resList[0].second == 0); //for item 0
+
+ dph->testUpdateIcon(0, s, false);
+ dph->testUpdateIcon(0, s, true);
+ res = dph->data(idx, Qt::DecorationRole);
+ QCOMPARE(res.isValid(), true);
+ QVERIFY(res == s);
+ QCOMPARE(dph->getSignalDataUpdated().count(), 1);
QVERIFY(dph->rowCount() == 1);
@@ -743,22 +794,34 @@
dph->getSignalRowsInserted();
dph->getSignalRowsRemoved();
- dph->testInsertItem(-10, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with -10 puts it at begining
+ dph->testInsertItem(0, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with 0 puts at begining
resList = dph->getSignalRowsInserted();
- QVERIFY(resList.count() == 1);
+ QVERIFY(resList.count() == 1);
QVERIFY(resList[0].first == 0);
QVERIFY(resList[0].second == 0);
+
+ dph->getSignalRowsInserted();
+ dph->getSignalRowsRemoved();
+ dph->testInsertItem(-10, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with -10 not adds to collection
+ resList = dph->getSignalRowsInserted();
+ QVERIFY(resList.count() == 0);
dph->testRemoveItem(-10);
resList = dph->getSignalRowsRemoved();
QVERIFY(resList.count() == 0);
-
+
dph->getSignalRowsInserted();
dph->getSignalRowsRemoved();
- dph->testInsertItem(100000, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with beyond range puts it at end
+ dph->testInsertItem(dph->rowCount(), QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert at dph->rowCount() puts at end
resList = dph->getSignalRowsInserted();
QVERIFY(resList.count() == 1);
QVERIFY(resList[0].first == dph->rowCount()-1);
- QVERIFY(resList[0].second == dph->rowCount()-1);
+ QVERIFY(resList[0].second == dph->rowCount()-1);
+
+ dph->getSignalRowsInserted();
+ dph->getSignalRowsRemoved();
+ dph->testInsertItem(100000, QPair< QVariant, int >(QString(""), Qt::DisplayRole), false); //insert with beyond range not adds to collection
+ resList = dph->getSignalRowsInserted();
+ QVERIFY(resList.count() == 0);
dph->testRemoveItem(100000);
resList = dph->getSignalRowsRemoved();
QVERIFY(resList.count() == 0);
@@ -769,9 +832,12 @@
QCOMPARE(it.contains(Qt::DisplayRole), true);
QVariant r2 = it[Qt::DisplayRole];
QCOMPARE(r2.isValid(), true);
+
+ idx = dph->index(-10,0);
+ it = dph->itemData(idx);
+
res = dph->data(idx, Qt::DisplayRole);
- QCOMPARE(res.isValid(), true);
- QCOMPARE(res.toString(), r2.toString());
+ QCOMPARE(res.isValid(), false);
}
@@ -838,13 +904,21 @@
cp->setDataProvider(dph);
QVERIFY(cp->DataProvider() == dph);
+
+ QList< QPair< QVariant, int > > list;
+ QString s = "NEWITEM";
+ list.append( QPair< QVariant, int >(s, Qt::DisplayRole) );
+ dph->testNewItem(&list, false);
+
+ dph->testRemoveItems(0, 1);//should remove item
+
}
void TestCacheProxy::testCP_SignalsForward()
{
cp = new HgCacheProxyModel();
cph = new CacheProxyHelper(cp);
- dph = new DataProviderHelper(200);
+ dph = new DataProviderHelper(200);
cp->setDataProvider(dph, 50, 20);
QList< QPair< int, int > > resList = cph->getSignalDataChanged();
@@ -884,8 +958,8 @@
QVERIFY(cph->getSignalModelAboutToBeReset() == true);
QVERIFY(cph->getSignalModelReset() == true);
QVERIFY(cp->columnCount() == 1);
- QVERIFY(cp->rowCount() == 1000);
-
+ QVERIFY(cp->rowCount() == 1000);
+
}
void TestCacheProxy::testCP_ResizeCache()
@@ -893,6 +967,7 @@
cp = new HgCacheProxyModel();
cph = new CacheProxyHelper(cp);
dph = new DataProviderHelper(200);
+ cp->resizeCache(100, 20);
cp->setDataProvider(dph, 50, 20);
dph->getLastRelease();
dph->getLastRequest();
@@ -971,8 +1046,26 @@
res = cp->data(idx, v);
QCOMPARE(res.isValid(), true);
QCOMPARE(res.toInt(), v);
+
+ dph->getLastRelease();
+ dph->getLastRequest();
+ cp->release(0, 100);
+ QCOMPARE(dph->getLastRelease().count(), 101);
+ cp->release(-10, 0);
+ QCOMPARE(dph->getLastRelease().count(), 1);
+ cp->release(10, -10);
+ QCOMPARE(dph->getLastRelease().count(), 11);
+ cp->request(0, 100);
+ QCOMPARE(dph->getLastRequest().count(), 101);
+ cp->request(-10, 0);
+ QCOMPARE(dph->getLastRequest().count(), 1);
+ cp->request(-10, 10, HgBufferManagerObserver::HgRequestOrderDescending);
+ QCOMPARE(dph->getLastRequest().count(), 11);
+
+ cp->setDataProvider(NULL, 50, 20);
+ res = cp->data(idx, v);
+ QCOMPARE(res.isValid(), false);
-
}
void TestCacheProxy::testCP_Sort()
@@ -984,6 +1077,7 @@
cp->setSortRole(Qt::UserRole+2);
QCOMPARE(cp->sortRole(), Qt::UserRole+2);
+ cp->setSortRole(Qt::UserRole+2);
cp->sort(0, Qt::AscendingOrder);
QCOMPARE(cp->sortColumn(), 0);
QCOMPARE(cp->sortOrder(), Qt::AscendingOrder);
@@ -1007,6 +1101,9 @@
cp->setSortRole(Qt::DisplayRole);
cp->setSortCaseSensitivity(Qt::CaseSensitive);
QCOMPARE(cp->sortCaseSensitivity(), Qt::CaseSensitive);
+ cp->setSortCaseSensitivity(Qt::CaseSensitive);
+ cp->setSortCaseSensitivity(Qt::CaseInsensitive);
+ cp->setSortCaseSensitivity(Qt::CaseSensitive);
cp->sort(0, Qt::AscendingOrder);
idx = cp->index(10, 0);
@@ -1022,12 +1119,14 @@
cp->setSortLocaleAware(true);
QCOMPARE(cp->isSortLocaleAware(), true);
+ cp->setSortLocaleAware(true);
cp->setSortLocaleAware(false);
QCOMPARE(cp->isSortLocaleAware(), false);
QString s = QString("AAA");
cp->setDynamicSortFilter(true);
QCOMPARE(cp->dynamicSortFilter(), true);
+ cp->setDynamicSortFilter(true);
cp->setSortRole(Qt::DisplayRole);
cp->setSortCaseSensitivity(Qt::CaseSensitive);
dph->testInsertItem(10, QPair< QVariant, int >(s, Qt::DisplayRole), false);
@@ -1055,8 +1154,12 @@
cp->setFilterRegExp(regexp);
QVERIFY(cp->filterRegExp() == regexp);
+ cp->setFilterRegExp(regexp);
cp->setFilterCaseSensitivity(Qt::CaseSensitive);
QCOMPARE(cp->filterCaseSensitivity(), Qt::CaseSensitive);
+ cp->setFilterCaseSensitivity(Qt::CaseSensitive);
+ cp->setFilterCaseSensitivity(Qt::CaseInsensitive);
+ cp->setFilterCaseSensitivity(Qt::CaseSensitive);
idx = cp->index(1, 0);
res = cp->data(idx, Qt::DisplayRole);
@@ -1065,10 +1168,12 @@
cp->setFilterKeyColumn(1);
QCOMPARE(cp->filterKeyColumn (), 1);
+ cp->setFilterKeyColumn(1);
cp->setFilterKeyColumn(0);
cp->setFilterRole(Qt::UserRole+1);
QCOMPARE(cp->filterRole(), Qt::UserRole+1);
+ cp->setFilterRole(Qt::UserRole+1);
cp->setFilterRole(Qt::DisplayRole);
regexp = QRegExp("ITEM*", Qt::CaseInsensitive, QRegExp::Wildcard);
@@ -1076,6 +1181,7 @@
QVERIFY(cp->filterRegExp() == regexp);
cp->setFilterCaseSensitivity(Qt::CaseInsensitive);
QCOMPARE(cp->filterCaseSensitivity(), Qt::CaseInsensitive);
+ cp->setFilterCaseSensitivity(Qt::CaseInsensitive);
idx = cp->index(1, 0);
res = cp->data(idx, Qt::DisplayRole);
--- a/hgwidgets_plat/ganeswidgets_api/inc/hggrid.h Fri May 14 16:57:01 2010 +0300
+++ b/hgwidgets_plat/ganeswidgets_api/inc/hggrid.h Thu May 27 13:59:05 2010 +0300
@@ -25,11 +25,15 @@
class HG_WIDGETS_EXPORT HgGrid : public HgWidget
{
Q_OBJECT
+ Q_PROPERTY(bool effect3dEnabled READ effect3dEnabled WRITE setEffect3dEnabled )
public:
explicit HgGrid(Qt::Orientation scrollDirection, QGraphicsItem *parent = 0 );
virtual ~HgGrid();
+ bool effect3dEnabled() const;
+ void setEffect3dEnabled(bool effect3dEnabled);
+
protected:
HgGrid(Qt::Orientation scrollDirection, HgGridPrivate &dd, QGraphicsItem *parent);
--- a/hgwidgets_plat/ganeswidgets_api/inc/hgmediawall.h Fri May 14 16:57:01 2010 +0300
+++ b/hgwidgets_plat/ganeswidgets_api/inc/hgmediawall.h Thu May 27 13:59:05 2010 +0300
@@ -25,8 +25,6 @@
class HG_WIDGETS_EXPORT HgMediawall : public HgWidget
{
Q_OBJECT
- Q_PROPERTY(LabelPosition titlePosition READ titlePosition WRITE setTitlePosition)
- Q_PROPERTY(LabelPosition descriptionPosition READ descriptionPosition WRITE setDescriptionPosition)
Q_PROPERTY(HbFontSpec titleFontSpec READ titleFontSpec WRITE setTitleFontSpec)
Q_PROPERTY(HbFontSpec descriptionFontSpec READ descriptionFontSpec WRITE setDescriptionFontSpec)
Q_PROPERTY(QPointF frontItemPositionDelta READ frontItemPositionDelta WRITE setFrontItemPositionDelta)
@@ -38,16 +36,6 @@
explicit HgMediawall(QGraphicsItem *parent = 0 );
virtual ~HgMediawall();
- enum LabelPosition {
- PositionNone = 0,
- PositionAboveImage,
- PositionBelowImage
- };
-
- void setTitlePosition(LabelPosition position);
- LabelPosition titlePosition() const;
- void setDescriptionPosition(LabelPosition position);
- LabelPosition descriptionPosition() const;
void setTitleFontSpec(const HbFontSpec &fontSpec);
HbFontSpec titleFontSpec() const;
void setDescriptionFontSpec(const HbFontSpec &fontSpec);
--- a/hgwidgets_plat/ganeswidgets_api/inc/hgwidgets.h Fri May 14 16:57:01 2010 +0300
+++ b/hgwidgets_plat/ganeswidgets_api/inc/hgwidgets.h Thu May 27 13:59:05 2010 +0300
@@ -53,7 +53,7 @@
enum HgDataRole
{
- HgVisibilityRole = Qt::UserRole + 1
+ HgVisibilityRole = Qt::UserRole + 1
};
enum IndexFeedbackPolicy {
@@ -61,15 +61,15 @@
IndexFeedbackSingleCharacter,
IndexFeedbackThreeCharacter,
IndexFeedbackString
- };
-
+ };
+
enum ScrollBarPolicy {
ScrollBarAsNeeded = Qt::ScrollBarAsNeeded,
ScrollBarAlwaysOff = Qt::ScrollBarAlwaysOff,
ScrollBarAlwaysOn = Qt::ScrollBarAlwaysOn,
ScrollBarAutoHide
};
-
+
enum ItemSizePolicy {
ItemSizeAutomatic,
ItemSizeUserDefined
@@ -112,23 +112,23 @@
bool getItemOutline(const QModelIndex& index, QPolygonF& points);
Qt::Orientation scrollDirection() const;
-
+
QList<QModelIndex> getVisibleItemIndices() const;
void setIndexFeedbackPolicy( IndexFeedbackPolicy policy);
IndexFeedbackPolicy indexFeedbackPolicy() const;
-
+
void setDefaultImage(QImage defaultImage);
void setItemSizePolicy(ItemSizePolicy policy);
ItemSizePolicy itemSizePolicy() const;
-
+
void setItemSize(const QSizeF& size);
QSizeF itemSize() const;
-
+
void setItemSpacing(const QSizeF& spacing);
QSizeF itemSpacing() const;
-
+
signals:
void activated(const QModelIndex &index);
void longPressed(const QModelIndex &index, const QPointF &coords);
@@ -138,7 +138,7 @@
void aboutToChangeOrientation();
void orientationChanged(Qt::Orientation orientation);
-
+
protected slots:
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
@@ -150,7 +150,7 @@
bool eventFilter(QObject *obj,QEvent *event);
bool event(QEvent *event);
-
+
private:
Q_DECLARE_PRIVATE_D(p_ptr, HgWidget)
Q_DISABLE_COPY(HgWidget)
@@ -164,6 +164,7 @@
Q_PRIVATE_SLOT(d_func(), void _q_moveRows(const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow))
Q_PRIVATE_SLOT(d_func(), void _q_groovePressed(qreal, Qt::Orientation))
Q_PRIVATE_SLOT(d_func(), void _q_modelReset())
+ Q_PRIVATE_SLOT(d_func(), void _q_updateCurrentItem(const QModelIndex ¤t, const QModelIndex &previous))
};
#endif //HGWIDGET_H
--- a/hgwidgets_plat/hgcacheproxymodel_api/inc/hgcacheproxymodel.h Fri May 14 16:57:01 2010 +0300
+++ b/hgwidgets_plat/hgcacheproxymodel_api/inc/hgcacheproxymodel.h Thu May 27 13:59:05 2010 +0300
@@ -13,7 +13,7 @@
*
* Description:
*
-* Version : %version: 5 %
+* Version : %version: 6 %
*/
#ifndef HGCACHEPROXYMODEL_H_
@@ -126,8 +126,6 @@
QModelIndex mapToSource(int row, int col) const;
int mapToDataProviderIndex(int myIndex) const;
int mapFromDataProviderIndex(int myIndex) const;
- void cleanupForBMReset();
- void resetBM();
void releaseAll();
void setBufferPosition(int pos) const;