Add database indexing of FITS files

This commit is contained in:
2022-04-09 12:40:40 +02:00
parent 46a4715ce5
commit 04e2cfa290
6 changed files with 174 additions and 5 deletions
+20 -4
View File
@@ -51,6 +51,12 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
m_filesystem = new FilesystemWidget(m_ringList, this);
connect(m_filesystem, SIGNAL(fileSelected(int)), this, SLOT(loadFile(int)));
m_database = new Database(this);
if(!m_database->init())
QMessageBox::critical(this, tr("Can't open DB"), tr("Can't open SQLITE database"));
m_databaseView = new DataBaseView(m_database, this);
QDockWidget *stretchDock = new QDockWidget(tr("Stretch"), this);
stretchDock->setWidget(m_stretchPanel);
stretchDock->setObjectName("strechDock");
@@ -61,6 +67,12 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
filesystemDock->setObjectName("filesystemDock");
addDockWidget(Qt::LeftDockWidgetArea, filesystemDock);
QDockWidget *databaseViewDock = new QDockWidget(tr("FITS files database"), this);
databaseViewDock->setWidget(m_databaseView);
databaseViewDock->setObjectName("databaseViewDock");
databaseViewDock->hide();
addDockWidget(Qt::RightDockWidgetArea, databaseViewDock);
setWindowTitle(tr("Tenmon"));
connect(m_ringList, SIGNAL(pixmapLoaded(Image*)), this, SLOT(pixmapLoaded(Image*)));
@@ -118,14 +130,11 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
analyzeMenu->addActions({statsAction, peakAction, starAction});
menuBar()->addMenu(analyzeMenu);
m_database = new Database(this);
if(!m_database->init())
QMessageBox::critical(this, tr("Can't open DB"), tr("Can't open SQLITE database"));
QMenu *dockMenu = new QMenu(tr("Docks"), this);
dockMenu->addAction(infoDock->toggleViewAction());
dockMenu->addAction(stretchDock->toggleViewAction());
dockMenu->addAction(filesystemDock->toggleViewAction());
dockMenu->addAction(databaseViewDock->toggleViewAction());
menuBar()->addMenu(dockMenu);
setupSigterm();
@@ -267,6 +276,13 @@ void MainWindow::loadFile(int row)
m_ringList->loadFile(row);
}
void MainWindow::indexDir()
{
QString dir = QFileDialog::getExistingDirectory(this, tr("Index directory"), _lastDir);
if(!dir.isEmpty())
m_database->indexDir(dir);
}
void MainWindow::saveAs()
{
QString file = QFileDialog::getSaveFileName(this, tr("Save as"), _lastDir, tr("Images (*.jpg *.png *.JPG *.PNG)"));