Let the application remember in which directory lies the last open file.

That directory is used to load new files.
This commit is contained in:
Laurent Rineau 2008-07-18 13:49:02 +00:00
parent 9e64a530f6
commit acf4ea73d5
1 changed files with 14 additions and 7 deletions

View File

@ -151,15 +151,19 @@ void MainWindow::updateViewerBBox()
void MainWindow::open(QString filename)
{
int index = scene->open(filename);
if(index >= 0) {
setCurrentFile(filename);
selectPolyhedron(index);
QFileInfo fileinfo(filename);
if(fileinfo.isFile() && fileinfo.isReadable()) {
int index = scene->open(filename);
if(index >= 0) {
QSettings settings;
settings.setValue("OFF open directory",
fileinfo.absoluteDir().absolutePath());
setCurrentFile(filename);
selectPolyhedron(index);
}
}
}
void MainWindow::selectPolyhedron(int i)
{
treeView->selectionModel()->select(scene->createSelection(i),
@ -286,10 +290,13 @@ void MainWindow::closeEvent(QCloseEvent *event)
void MainWindow::on_actionLoadPolyhedron_triggered()
{
QSettings settings;
QString directory = settings.value("OFF open directory",
QDir::current().dirName()).toString();
QStringList filenames =
QFileDialog::getOpenFileNames(this,
tr("Load polyhedron..."),
QString(),
directory,
tr("OFF files (*.off)\n"
"All files (*)"));
if(!filenames.isEmpty()) {