From 946ffeb346eadd4a962d999d79c0e6d6f05190bd Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Fri, 28 Sep 2018 18:23:58 +0200 Subject: Integrate export path into render dialog. --- src/audioextractor.cc | 2 +- src/renderdialog.cc | 37 ++++++++++++++++++++++++++++++++++++- src/renderdialog.h | 3 +++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/audioextractor.cc b/src/audioextractor.cc index 50f2947..ed1aa5a 100644 --- a/src/audioextractor.cc +++ b/src/audioextractor.cc @@ -69,7 +69,7 @@ void AudioExtractor::exportSelections() for(auto audiofile_id : audiofile_ids) { const auto& audiofile = instrument.getAudioFile(audiofile_id); - QString file = audiofile.getFile(); + QString file = audiofile.getAbsoluteFile(); SF_INFO sf_info; audiodata[idx].fh = sf_open(file.toStdString().c_str(), SFM_READ, &sf_info); diff --git a/src/renderdialog.cc b/src/renderdialog.cc index 9dc1c05..873e610 100644 --- a/src/renderdialog.cc +++ b/src/renderdialog.cc @@ -28,13 +28,34 @@ #include #include +#include +#include +#include +#include + +#include "project.h" RenderDialog::RenderDialog(QWidget* parent, Project& project) : QDialog(parent) , project(project) , renderer(project) { - setLayout(new QVBoxLayout()); + auto vl = new QVBoxLayout(); + setLayout(vl); + + layout()->addWidget(new QLabel(tr("Export path:"))); + + { + auto hl = new QHBoxLayout(); + export_path = new QLineEdit(this); + export_path->setText(project.getExportPath()); + auto btn = new QPushButton(tr("...")); + btn->setMaximumWidth(32); + connect(btn, SIGNAL(clicked()), this, SLOT(chooseExportPath())); + hl->addWidget(export_path); + hl->addWidget(btn); + vl->addLayout(hl); + } auto btn = new QPushButton(this); btn->setText("Click me"); @@ -96,3 +117,17 @@ void RenderDialog::progressRenderFinished(int success) void RenderDialog::progressFinished(int success) { } + +void RenderDialog::chooseExportPath() +{ + QString path = + QFileDialog::getExistingDirectory( + this, tr("Choose export directory."), + project.getExportPath(), QFileDialog::ShowDirsOnly); + + if(path != "") + { + export_path->setText(path); + project.setExportPath(path); + } +} diff --git a/src/renderdialog.h b/src/renderdialog.h index 84f0b30..eb1e531 100644 --- a/src/renderdialog.h +++ b/src/renderdialog.h @@ -53,10 +53,13 @@ private slots: void progressFinished(int success); + void chooseExportPath(); + private: Project& project; ProjectRenderer renderer; + QLineEdit* export_path; QProgressBar* bar1; QProgressBar* bar2; -- cgit v1.2.3