int TreeView::setExpanded(lua_State * L) // ( const QModelIndex & index, bool expanded ) { QTreeView* obj = QtObject<QTreeView>::check( L, 1); QModelIndex* index = QtValue<QModelIndex>::check( L, 2 ); obj->setExpanded( *index, Util::toBool( L, 3 ) ); return 0; }
void TreeCtrl::handleExpand(Root::Action & t) { QTreeView* tv = wnd(); QModelIndex i = tv->currentIndex(); ENABLED_IF( t, i.isValid() && ! tv->isExpanded( i ) ); tv->setExpanded( i, true ); }
bool RichTextDelegate::editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) { if (event->type() == QEvent::MouseButtonPress) { QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event); if (mouseEvent->button() == Qt::LeftButton && mouseEvent->x() - option.rect.left() < 18 && model->hasChildren(index)) { QTreeView *tree = static_cast<QTreeView *>(parent()); tree->setExpanded(index, !tree->isExpanded(index)); return true; } } return false; }
QObject* FileSystemTab::component(Jerboa::Plugin::ComponentType type, QObject* parent) { switch(type) { case Jerboa::Plugin::WidgetUsedWithPlaylist: { QFileSystemModel* model = new FileSystemModelWithToolTip(parent); model->setRootPath("/"); model->setFilter(QDir::AllEntries | QDir::NoDotAndDotDot | QDir::AllDirs); model->setNameFilterDisables(false); QStringList musicGlobs; musicGlobs << "*.aac" << "*.aiff" << "*.ape" << "*.au" << "*.cdda" << "*.flac" << "*.m4a" << "*.mp3" << "*.oga" << "*.ogg" << "*.ogm" << "*.wav" << "*.wma" ; model->setNameFilters(musicGlobs); QTreeView* view = new QTreeView(qobject_cast<QWidget*>(parent)); view->setWindowTitle("Files"); view->setModel(model); view->setHeaderHidden(true); for(int i = 1; i < model->columnCount(); ++i) { view->setColumnHidden(i, true); } QString path = QDesktopServices::storageLocation(QDesktopServices::MusicLocation); if(path.isEmpty() || !QDir(path).exists()) { path = QDesktopServices::storageLocation(QDesktopServices::HomeLocation); } const QModelIndex index(model->index(QSettings().value("collection/directory", path).toString())); for(QModelIndex iterator(index); iterator.isValid(); iterator = iterator.parent()) { view->setExpanded(iterator, true); } view->setDragDropMode(QAbstractItemView::DragOnly); view->selectionModel()->select(index, QItemSelectionModel::ClearAndSelect); view->setSelectionMode(QAbstractItemView::ExtendedSelection); connect( view, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(addPathToPlaylist(QModelIndex)) ); QTimer* timer = new QTimer(this); connect( timer, SIGNAL(timeout()), this, SLOT(scrollToSelection()) ); timer->setSingleShot(true); timer->start(1000); m_view = view; return view; } default: return Jerboa::Plugin::component(type, parent); } }