diff --git a/src/databaseview.cpp b/src/databaseview.cpp index dd9dd2f..f6bdc41 100644 --- a/src/databaseview.cpp +++ b/src/databaseview.cpp @@ -319,9 +319,12 @@ DataBaseView::DataBaseView(Database *database, QWidget *parent) : QWidget(parent m_model = new FITSFileModel(m_database, this); QSettings settings; - m_tableView->setModel(m_model); m_model->setColumns(settings.value("databaseview/selectedColumns", DEFAULT_COLUMNS).toStringList()); - m_tableView->horizontalHeader()->restoreState(settings.value("databaseview/header").toByteArray()); + m_tableView->setModel(m_model); + QTimer::singleShot(200, [this](){ + QSettings settings; + m_tableView->horizontalHeader()->restoreState(settings.value("databaseview/header").toByteArray()); + }); QHBoxLayout *hlayout = new QHBoxLayout(); layout->addLayout(hlayout); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2e85a6a..64df7e1 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -576,16 +576,23 @@ void MainWindow::loadFile(const QString &path) if(!path.isEmpty()) { QFileInfo info(path); - m_ringList->setFile(info.canonicalFilePath()); - updateWindowTitle(); - if(info.isDir()) - _lastDir = info.absolutePath(); + if(info.exists() && info.isReadable()) + { + m_ringList->setFile(info.canonicalFilePath()); + updateWindowTitle(); + if(info.isDir()) + _lastDir = info.absolutePath(); + else + _lastDir = info.canonicalPath(); + QSettings settings; + settings.setValue("mainwindow/lastdir", _lastDir); + if(settings.value("settings/bestfit", false).toBool()) + m_image->bestFit(); + } else - _lastDir = info.canonicalPath(); - QSettings settings; - settings.setValue("mainwindow/lastdir", _lastDir); - if(settings.value("settings/bestfit", false).toBool()) - m_image->bestFit(); + { + qWarning() << "File doesn't exist or is not readable"; + } } }