diff -r e4c884866116 -r 6a40edd41841 logsui/logsapp/src/logsdetailsview.cpp --- a/logsui/logsapp/src/logsdetailsview.cpp Fri Sep 17 08:29:34 2010 +0300 +++ b/logsui/logsapp/src/logsdetailsview.cpp Mon Oct 04 00:17:41 2010 +0300 @@ -35,6 +35,8 @@ #include #include #include +#include + Q_DECLARE_METATYPE(LogsDetailsModel*) @@ -321,7 +323,6 @@ Q_ASSERT_X(mListView != 0, "logs [UI] ", "couldn't find list widget !!"); mListView->setItemRecycling(true); - LOGS_QDEBUG( "logs [UI] <- LogsDetailsView::initListWidget() " ); } @@ -432,7 +433,7 @@ // ----------------------------------------------------------------------------- // LogsDetailsViewItem::LogsDetailsViewItem() -: HbListViewItem(0) + : HbListViewItem(0), mLayout(0) { } @@ -470,7 +471,42 @@ void LogsDetailsViewItem::updateChildItems() { HbListViewItem::updateChildItems(); + + QVariant customData = modelIndex().data(LogsDetailsModel::RoleDuplicatesSeparator); + if (customData.isValid() && customData.toBool()) { + LOGS_QDEBUG( "logs [UI] -> LogsDetailsViewItem::updateChildItems(), groupbox" ); + HbGroupBox* groupBox = new HbGroupBox(this); + groupBox->setHeading(modelIndex().data(Qt::DisplayRole).toString()); + //groupBox->setCollapsable(true); + + HbWidget* content = new HbWidget(); + content->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + content->setMaximumHeight(0); + groupBox->setContentWidget(content); + groupBox->setCollapsed(true); + + connect(groupBox, SIGNAL(toggled(bool)), this, SLOT(groupBoxClicked(bool))); + + if (!mLayout) { + mLayout = new QGraphicsLinearLayout(Qt::Horizontal, 0); + mLayout->setContentsMargins(0,0,0,0); + } + + mLayout->addItem(layout()); + mLayout->addItem(groupBox); + mLayout->setItemSpacing(0,0); + setLayout(mLayout); + } } - - +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void LogsDetailsViewItem::groupBoxClicked(bool collapsed) +{ + LOGS_QDEBUG_2( "logs [UI] -> LogsDetailsViewItem::groupBoxClicked(): ", collapsed ); + QAbstractItemModel* model = const_cast (modelIndex().model()); + model->setData(modelIndex(), QVariant(collapsed)); + LOGS_QDEBUG( "logs [UI] <- LogsDetailsViewItem::groupBoxClicked()" ); +}