From 8b8759facbf6270eebe6516025082e2fba524b7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Du=C5=A1an=20Poizl?= Date: Mon, 13 Apr 2026 13:30:54 +0200 Subject: [PATCH] Delay restoring state of database header --- src/databaseview.cpp | 7 +++++-- src/mainwindow.cpp | 25 ++++++++++++++++--------- 2 files changed, 21 insertions(+), 11 deletions(-) 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"; + } } }