здравствуйте сделал простенький проект
tableview и две кнопки pushbutton
отображаю стандартный qfilesystemmodel в tablewview
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
model1=new QFileSystemModel;
model1->setFilter(QDir::AllDirs | QDir::Files);
model1->setRootPath(QDir::currentPath());
ui->tableView->setModel(model1);
}
MainWindow::~MainWindow()
{
delete ui;
}
//КЛик по кнопке монтировать
void MainWindow::on_pushButton_clicked()
{
int k=system(QString("mount /mnt/sdb1").toLocal8Bit().data());
if (k==0)
{
QMessageBox msg;
msg.setText(QString::fromLocal8Bit("смонтировано"));
msg.exec();
ui->tableView->setRootIndex(model1->index("/mnt/sdb1"));
}
}
//Клик по кнопке размонтировать
void MainWindow::on_pushButton_2_clicked()
{
int k=system(QString("umount /mnt/sdb1").toLocal8Bit().data());
if (k==0)
{
QMessageBox msg;
msg.setText(QString::fromLocal8Bit("размонтировано"));
msg.exec();
ui->tableView->setRootIndex(model1->index("/"));
}
}
//переход в каталог по двойному клику
void MainWindow::on_tableView_Doubleclicked(const QModelIndex &index)
{
if (model1->fileInfo(index).isDir())
{
if (model1->fileInfo(index).isReadable())
{
ui->tableView->setRootIndex(index);
}
}
}
Смысл в том что когда я монтирую устройство tableview переходит в каталог с примонтированным устройством (/mnt/sdb1)
когда я размонтирую устройство переходит в корневой каталог ("/")
Ну и соответственно когда я кликаю двойным нажатие мыши по папке он заходит в папку.
Проблема заключается в следующем:
Допустим я делаю вот так.
1) Запускаю прогу
2) жму кнопку монтировать --устройство примонтировалось отобразилось сообщение смонтировано и tableview перешел в каталог /mnt/sdb1
3) потом жму размонтировать--- устройство размонтировалось отобразилось сообщение размонтировано и tableview перешел в каталог /--корень
4) жму снова кнопку монтировать---устройство примонтировалось отобразилось сообщение смонтировано и tableview перешел в каталог /mnt/sdb1 НО все содержимое флешки не отображается видно только папку с .. и с . хотя на флешке есть и папки и файлы.
Так что проблема собственно что при повторном монтировании не отображается содержимое /mnt/sdb1 хотя стандартный менеджер операционки видит все каталоги и папки на ней даже после повторного монтирования...
что можно сделать?