int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QLabel *title = new QLabel("Some items from the directory model", window); title->setBackgroundRole(QPalette::Base); title->setMargin(8); layout->addWidget(title); //! [0] QFileSystemModel *model = new QFileSystemModel; QModelIndex parentIndex = model->index(QDir::currentPath()); int numRows = model->rowCount(parentIndex); //! [0] //! [1] for (int row = 0; row < numRows; ++row) { QModelIndex index = model->index(row, 0, parentIndex); //! [1] //! [2] QString text = model->data(index, Qt::DisplayRole).toString(); // Display the text in a widget. //! [2] QLabel *label = new QLabel(text, window); layout->addWidget(label); //! [3] } //! [3] window->setWindowTitle("A simple model example"); window->show(); return app.exec(); }
void MainWindow::populate() { QFileSystemModel *model = new QFileSystemModel; model->setRootPath(QDir::homePath()); QModelIndex index = model->index(QDir::homePath()); ui->treeView->setModel(model); ui->treeView->expand(index); ui->treeView->scrollTo(index); ui->treeView->setCurrentIndex(index); ui->treeView->setColumnWidth(0, 128); ui->treeView->hideColumn(1); ui->horizontalSlider->setValue(36); ui->horizontalSlider_2->setValue(36); ui->treeView_2->setModel(model); ui->treeView_2->expand(index); ui->treeView_2->scrollTo(index); ui->treeView_2->setCurrentIndex(index); }
void TagEditor::chooseDir(){ static QString dir; QFileDialog dialog; dialog.setFileMode(QFileDialog::Directory); dialog.setOption(QFileDialog::ShowDirsOnly, true); if(!dir.isEmpty()){ dialog.setDirectory( dir ); } if( dialog.exec() ){ QStringList d = dialog.selectedFiles(); dir = d[0]; QFileSystemModel *m =static_cast<QFileSystemModel*>(TreeView->model()); TreeView->setRootIndex(m->index(dir)); treeViewLabel->setText(dir); startupFolder = dir; } }
int main(int argc, char *argv[]) { QApplication app(argc, argv); QSplitter splitter; QTreeView *tree = new QTreeView(&splitter); QListView *list = new QListView(&splitter); QFileSystemModel *model = new QFileSystemModel(&app); model->setRootPath(QDir::root().path()); tree->setModel(model); list->setModel(model); list->setRootIndex(model->index(".")); splitter.show(); return app.exec(); }
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); } }
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const { QFileSystemModel *model = dynamic_cast<QFileSystemModel*>(sourceModel()); QModelIndex index = model->index(source_row, 0, source_parent); return model->isDir(index) ? true : false; }