Esempio n. 1
0
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();
}
Esempio n. 2
0
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);
}
Esempio n. 3
0
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;
    }
}
Esempio n. 4
0
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();
}
Esempio n. 5
0
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);
	}
}
Esempio n. 6
0
 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;
 }