summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2018-09-28 18:23:58 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2018-09-28 18:23:58 +0200
commit946ffeb346eadd4a962d999d79c0e6d6f05190bd (patch)
tree7f647a09ba816b1563b3d856e6e25852de750749
parent8040f48974d88c6d30dff720a2ffb27e0cf54814 (diff)
Integrate export path into render dialog.
-rw-r--r--src/audioextractor.cc2
-rw-r--r--src/renderdialog.cc37
-rw-r--r--src/renderdialog.h3
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;