mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-07 20:13:24 +00:00
Keep last open dives directory
Last open dives directory is stored in settings, so no need to walk through all subdirectories all the time. Signed-off-by: Helio Chissini de Castro <helio@kde.org>
This commit is contained in:
parent
3677f4e5ea
commit
1262a7c0bc
1 changed files with 18 additions and 1 deletions
|
@ -86,10 +86,27 @@ void MainWindow::on_actionNew_triggered()
|
||||||
|
|
||||||
void MainWindow::on_actionOpen_triggered()
|
void MainWindow::on_actionOpen_triggered()
|
||||||
{
|
{
|
||||||
QString filename = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::homePath(), filter());
|
QSettings settings;
|
||||||
|
QString lastDir = QDir::homePath();
|
||||||
|
|
||||||
|
settings.beginGroup("FileDialog");
|
||||||
|
if (settings.contains("LastDir")) {
|
||||||
|
if(QDir::setCurrent(settings.value("LastDir").toString())) {
|
||||||
|
lastDir = settings.value("LastDir").toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
settings.endGroup();
|
||||||
|
|
||||||
|
QString filename = QFileDialog::getOpenFileName(this, tr("Open File"), lastDir, filter());
|
||||||
if (filename.isEmpty())
|
if (filename.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Keep last open dir
|
||||||
|
QFileInfo fileInfo(filename);
|
||||||
|
settings.beginGroup("FileDialog");
|
||||||
|
settings.setValue("LastDir",fileInfo.dir().path());
|
||||||
|
settings.endGroup();
|
||||||
|
|
||||||
// Needed to convert to char*
|
// Needed to convert to char*
|
||||||
QByteArray fileNamePtr = filename.toLocal8Bit();
|
QByteArray fileNamePtr = filename.toLocal8Bit();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue