#include "qremamain.h" #include "ui_qremamain.h" QRemaMain::QRemaMain(QWidget *parent) : QMainWindow(parent), ui(new Ui::QRemaMain) { ui->setupUi(this); QString mPath = QDir::homePath() + "/remmina"; qDebug() << "Profile Path: "<< mPath ; dirModel = new QFileSystemModel(this); // Set filter dirModel->setFilter(QDir::NoDotAndDotDot | QDir::AllDirs); // QFileSystemModel requires root path dirModel->setRootPath(mPath); QSortFilterProxyModel *proxyDirModel = new QSortFilterProxyModel(this); proxyDirModel->setSourceModel(dirModel); // Attach the model to the view ui->treeView->setModel(dirModel); ui->treeView->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents); ui->treeView->setHeaderHidden(true); ui->treeView->setColumnHidden(1, true); ui->treeView->setColumnHidden(2, true); ui->treeView->setColumnHidden(3, true); ui->treeView->setRootIndex(dirModel->index(mPath)); // FILES //GKeyFile *keyFile = g_key_file_new(); fileModel = new QFileSystemModel(this); // Set filter fileModel->setFilter(QDir::Files | QDir::NoDotAndDotDot); // QFileSystemModel requires root path fileModel->setRootPath(mPath); // Only remmina files fileModel->setNameFilters(QStringList()<<"*.remmina"); // Attach the model to the view ui->listView->setModel(fileModel); ui->listView->setViewMode(QListView::IconMode); ui->listView->setIconSize(QSize(64, 64)); ui->listView->setResizeMode(QListView::Adjust); ui->listView->setRootIndex(fileModel->index(mPath)); } QRemaMain::~QRemaMain() { delete ui; } void QRemaMain::on_treeView_clicked(const QModelIndex &index) { // TreeView clicked // 1. We need to extract path // 2. Set that path into our ListView // Get the full path of the item that's user clicked on QString mPath = dirModel->fileInfo(index).absoluteFilePath(); ui->listView->setRootIndex(fileModel->setRootPath(mPath)); } void QRemaMain::on_listView_doubleClicked(const QModelIndex &index) { QString sPath = fileModel->fileInfo(index).absoluteFilePath(); QDesktopServices::openUrl(QUrl::fromLocalFile(sPath)); } void QRemaMain::on_action_Add_triggered() { }