37 lines
1000 B
C++
37 lines
1000 B
C++
#include "filesystemwidget.h"
|
|
#include <QSettings>
|
|
#include <QVBoxLayout>
|
|
|
|
FilesystemWidget::FilesystemWidget(QAbstractItemModel *model, QWidget *parent) : QWidget(parent)
|
|
, m_model(model)
|
|
{
|
|
m_listView = new QListView(this);
|
|
m_listView->setModel(model);
|
|
|
|
QVBoxLayout *layout = new QVBoxLayout(this);
|
|
layout->addWidget(m_listView);
|
|
|
|
setLayout(layout);
|
|
|
|
connect(m_listView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(fileClicked(QModelIndex)));
|
|
}
|
|
|
|
void FilesystemWidget::setDir(const QString &dir)
|
|
{
|
|
//m_model->setRootPath(dir);
|
|
//m_treeView->setRootIndex(m_model->index(m_model->rootPath()));
|
|
}
|
|
|
|
void FilesystemWidget::selectFile(int row)
|
|
{
|
|
QModelIndex index = m_model->index(row, 0);
|
|
m_listView->selectionModel()->clearSelection();
|
|
m_listView->selectionModel()->select(index, QItemSelectionModel::SelectCurrent);
|
|
m_listView->scrollTo(index);
|
|
}
|
|
|
|
void FilesystemWidget::fileClicked(const QModelIndex &index)
|
|
{
|
|
emit fileSelected(index.row());
|
|
}
|