diff -r f7ac710697a9 -r 06ff229162e9 src/hbwidgets/itemviews/hblistviewitem.cpp --- a/src/hbwidgets/itemviews/hblistviewitem.cpp Mon May 03 12:48:33 2010 +0300 +++ b/src/hbwidgets/itemviews/hblistviewitem.cpp Fri May 14 16:09:54 2010 +0300 @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include #include @@ -416,20 +416,13 @@ if (item) { styleOption.index = i; styleOption.content = d->mStringList.at(i); + styleOption.multilineSecondaryTextSupported = d->isMultilineSupported(); - int minimumLines = 1; - int maximumLines = 1; - if ( i == 1 - && d->isMultilineSupported()) { + if (i == 1) { // criteria of secondary text in middle column is fullfilled - minimumLines = sd->mMinimumSecondaryTextRowCount; - maximumLines = sd->mMaximumSecondaryTextRowCount; - } - // must always set some value to limit count of lines, - // because by default HbTextItem gives text as much as space it wants - styleOption.minimumLines = minimumLines; - styleOption.maximumLines = maximumLines; - + styleOption.minimumLines = sd->mMinimumSecondaryTextRowCount; + styleOption.maximumLines = sd->mMaximumSecondaryTextRowCount; + } style()->updatePrimitive(item, d->displayPrimitive(), &styleOption); } } @@ -518,7 +511,7 @@ HB_SDD(HbListViewItem); if (style != sd->mStretchingStyle) { sd->mStretchingStyle = style; - if (d->isLandscape()) { + if (d->isLandscape()) { // secondary text multiline change! d->updateCloneItems(false); d->repolishCloneItems(); @@ -543,7 +536,8 @@ Sets the graphics size as a \a size. This method will change the used graphics size for all view items. - \note When graphics size HbListViewItem::Thumbnail is set, multiline secondary texts are not supported. + \note When graphics size HbListViewItem::Thumbnail or HbListViewItem::WideThumbnail is set, + multiline secondary texts are not supported. \sa graphicsSize \sa setSecondaryTextRowCount @@ -552,7 +546,8 @@ { HB_SDD(HbListViewItem); if (size != sd->mGraphicsSize) { - bool thumbnailChange = (size == Thumbnail) | (sd->mGraphicsSize == Thumbnail); + bool thumbnailChange = (size == Thumbnail) | (sd->mGraphicsSize == Thumbnail) + | (size == WideThumbnail) | (sd->mGraphicsSize == WideThumbnail); sd->mGraphicsSize = size; if ( thumbnailChange && !d->isStretching()) { @@ -564,30 +559,38 @@ } /*! - Returns the secondary text item maximum and minimum row counts. + Returns secondary text item maximum and minimum row counts. + The default maximum row count is 1 and minimum row count is 1. - The default maximum row count is 1 and minimum row count is 1. + \note This function does not return values from .css although they were effective. \sa setSecondaryTextRowCount */ void HbListViewItem::getSecondaryTextRowCount(int &minimum, int &maximum) const { HB_SDD(const HbListViewItem); - minimum = sd->mMinimumSecondaryTextRowCount; - maximum = sd->mMaximumSecondaryTextRowCount; + minimum = 1; + maximum = 1; + if (sd->mMinimumSecondaryTextRowCount != -1) { + minimum = sd->mMinimumSecondaryTextRowCount; + maximum = sd->mMaximumSecondaryTextRowCount; + } } /*! Sets the secondary text item \a maximum row count and \a minimum row count. - This method will change these values for all view items. - \note If HbListViewItem::GraphicsSize is HbListViewItem::Thumbnail or HbListViewItem::StretchingStyle - is HbListViewItem::StretchLandscape in landscape mode only one row secondary text is supported. \a minimum and - \a maximum are applied only when graphics size is not HbListViewItem::Thumbnail and - stretching style is not HbListViewItem::StretchLandscape in landscape mode. + Default value is 1 for both minimum and maximum line counts. + If default values are used wrapping mode, minimum and maximum line counts are read from .css file. + When non default value are set by this function, wrapping mode of text item is + automatically set to Hb::TextWordWrap. - \note If Qt::TextFormat is Qt::RichText, multiline secondary texts are note supported. + \note \a minimum and \a maximum are applied only when graphics size is not HbListViewItem::Thumbnail or + HbListViewItem::WideThumbnail and + stretching style is not HbListViewItem::StretchLandscape in landscape mode. Otherwise only one row secondary text is used. + + \note If Qt::TextFormat is Qt::RichText, multiline secondary texts are not supported. \sa setTextFormat \sa secondaryTextRowCount @@ -624,8 +627,7 @@ */ void HbListViewItem::polish(HbStyleParameters& params) { - HB_SDD(HbListViewItem); - + Q_D( HbListViewItem ); setProperty("icon-1", (bool)d->mDecorationRoleItems.value(0)); setProperty("icon-2", (bool)d->mDecorationRoleItems.value(1)); @@ -633,7 +635,6 @@ setProperty("text-2", (bool)d->mDisplayRoleTextItems.value(1)); setProperty("text-3", (bool)d->mDisplayRoleTextItems.value(2)); - setProperty("maximumSecondaryTextRowCount", sd->mMaximumSecondaryTextRowCount); if (itemView() && itemView()->selectionMode() != HbListView::NoSelection) { setProperty("selectionMode", true); } else {