diff options
Diffstat (limited to 'src/renderdialog.cc')
-rw-r--r-- | src/renderdialog.cc | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/src/renderdialog.cc b/src/renderdialog.cc new file mode 100644 index 0000000..9dc1c05 --- /dev/null +++ b/src/renderdialog.cc @@ -0,0 +1,98 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/*************************************************************************** + * renderdialog.cc + * + * Thu Sep 20 17:32:11 CEST 2018 + * Copyright 2018 Bent Bisballe Nyeng + * deva@aasimon.org + ****************************************************************************/ + +/* + * This file is part of DrumGizmo. + * + * DrumGizmo is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * DrumGizmo is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with DrumGizmo; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ +#include "renderdialog.h" + +#include <QPushButton> +#include <QVBoxLayout> + +RenderDialog::RenderDialog(QWidget* parent, Project& project) + : QDialog(parent) + , project(project) + , renderer(project) +{ + setLayout(new QVBoxLayout()); + + auto btn = new QPushButton(this); + btn->setText("Click me"); + connect(btn, SIGNAL(clicked()), this, SLOT(render())); + //connect(btn, SIGNAL(clicked()), this, SLOT(close())); + layout()->addWidget(btn); + + bar1 = new QProgressBar(this); + connect(&renderer, SIGNAL(progressStart(int)), + bar1, SLOT(setMaximum(int))); + layout()->addWidget(bar1); + + bar2 = new QProgressBar(this); + connect(&renderer, SIGNAL(progressRenderStart(int)), + bar2, SLOT(setMaximum(int))); + connect(&renderer, SIGNAL(progressRenderTask(int)), + bar2, SLOT(setValue(int))); + layout()->addWidget(bar2); + + tasks = new QListWidget(this); +// connect(&renderer, SIGNAL(progressTask(QString)), +// tasks, SLOT(addItem(QString))); + layout()->addWidget(tasks); + + connect(&renderer, SIGNAL(progressTask(QString)), + this, SLOT(progressTask(QString))); + connect(&renderer, SIGNAL(progressRenderFinished(int)), + this, SLOT(progressRenderFinished(int))); +} + +void RenderDialog::render() +{ + bar1->setValue(1); + renderer.render(); +} + +void RenderDialog::progressStart(int total) +{ +} + +void RenderDialog::progressTask(QString text) +{ + tasks->addItem(text); +} + +void RenderDialog::progressRenderStart(int tasktotal) +{ +} + +void RenderDialog::progressRenderTask(int subtask) +{ +} + +void RenderDialog::progressRenderFinished(int success) +{ + bar1->setValue(bar1->value() + 1); +} + +void RenderDialog::progressFinished(int success) +{ +} |