void UBFeaturesWidget::currentSelected(const QModelIndex ¤t) { if (current.isValid()) { QSortFilterProxyModel *model = dynamic_cast<QSortFilterProxyModel *>( featuresListView->model() ); /*QString name = model->data(current).toString(); QString path = model->data(current, Qt::UserRole).toString(); eUBLibElementType type = (eUBLibElementType)model->data(current, Qt::UserRole + 1).toInt();*/ UBFeature feature = model->data(current, Qt::UserRole + 1).value<UBFeature>(); if ( feature.isFolder() ) { QString newPath = feature.getFullVirtualPath(); //pathViewer->addPathElement( feature.getThumbnail(), newPath ); controller->setCurrentElement( feature ); model->setFilterFixedString( newPath ); model->invalidate(); switchToListView(); featuresPathModel->setPath( newPath ); featuresPathModel->invalidate(); if ( feature.getType() == FEATURE_FAVORITE ) { mActionBar->setCurrentState( IN_FAVORITE ); } else if (feature.getType() == FEATURE_TRASH) { mActionBar->setCurrentState( IN_TRASH ); } else { mActionBar->setCurrentState( IN_FOLDER ); } } else if ( feature.getType() == FEATURE_SEARCH ) { webView->showElement( feature ); switchToWebView(); } else { featureProperties->showElement( feature ); switchToProperties(); mActionBar->setCurrentState( IN_PROPERTIES ); } } }