Add copy, move and index action to File tree
This commit is contained in:
+14
-1
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user