diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2018-09-28 18:23:58 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2018-09-28 18:23:58 +0200 |
commit | 946ffeb346eadd4a962d999d79c0e6d6f05190bd (patch) | |
tree | 7f647a09ba816b1563b3d856e6e25852de750749 | |
parent | 8040f48974d88c6d30dff720a2ffb27e0cf54814 (diff) |
Integrate export path into render dialog.
-rw-r--r-- | src/audioextractor.cc | 2 | ||||
-rw-r--r-- | src/renderdialog.cc | 37 | ||||
-rw-r--r-- | 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 <QPushButton> #include <QVBoxLayout> +#include <QHBoxLayout> +#include <QLineEdit> +#include <QFileDialog> +#include <QLabel> + +#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; |