Add copy, move and index action to File tree

This commit is contained in:
2022-05-09 18:14:10 +02:00
parent c971a919ec
commit b84d8127ad
4 changed files with 41 additions and 1 deletions
+14 -1
View File
@@ -57,6 +57,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
m_filetree = new Filetree(this);
connect(m_filetree, &Filetree::fileSelected, this, static_cast<void (MainWindow::*)(const QString &)>(&MainWindow::loadFile));
connect(m_filetree, &Filetree::copyFiles, [this](const QString &path){ copyOrMove(true, path); });
connect(m_filetree, &Filetree::moveFiles, [this](const QString &path){ copyOrMove(false, path); });
connect(m_filetree, &Filetree::indexDirectory, this, static_cast<void (MainWindow::*)(const QString &)>(&MainWindow::indexDir));
m_database = new Database(this);
if(!m_database->init())
@@ -269,6 +272,11 @@ void MainWindow::closeEvent(QCloseEvent *event)
void MainWindow::copyOrMove(bool copy)
{
QString dest = QFileDialog::getExistingDirectory(this, tr("Select destination"), _lastDir);
copyOrMove(copy, dest);
}
void MainWindow::copyOrMove(bool copy, const QString &dest)
{
QDir dir(dest);
if(!dest.isEmpty() && dir.exists())
{
@@ -313,8 +321,8 @@ void MainWindow::copyOrMove(bool copy)
#endif
progress.setValue(i++);
}
m_database->clearMarkedFiles();
}
m_database->clearMarkedFiles();
}
void MainWindow::socketNotify()
@@ -366,6 +374,11 @@ void MainWindow::loadFile(int row)
void MainWindow::indexDir()
{
QString dir = QFileDialog::getExistingDirectory(this, tr("Index directory"), _lastDir);
indexDir(dir);
}
void MainWindow::indexDir(const QString &dir)
{
if(!dir.isEmpty())
{
QProgressDialog progressDialog(tr("Indexing FITS files"), tr("Cancel"), 0, 1, this);