79 lines
1.8 KiB
C++
79 lines
1.8 KiB
C++
|
#include "DialogSaveAnimation.h"
|
|||
|
#include "ui_DialogSaveAnimation.h"
|
|||
|
#include "AnimationToolBar.h"
|
|||
|
#include "PythonModule/PyAgent.h"
|
|||
|
#include <QFileDialog>
|
|||
|
|
|||
|
namespace Post
|
|||
|
{
|
|||
|
SaveAnimationDialog::SaveAnimationDialog(AnimationToolBar *toolBar, QWidget *parent) : QDialog(parent),
|
|||
|
_ui(new Ui::SaveAnimationDialog),
|
|||
|
_animation(toolBar)
|
|||
|
{
|
|||
|
_ui->setupUi(this);
|
|||
|
_fps = -1;
|
|||
|
_id = -1;
|
|||
|
}
|
|||
|
|
|||
|
SaveAnimationDialog::~SaveAnimationDialog()
|
|||
|
{
|
|||
|
delete _ui;
|
|||
|
}
|
|||
|
|
|||
|
void SaveAnimationDialog::getAnimationInfo(int &id, QString &file, int &fps)
|
|||
|
{
|
|||
|
id = _id;
|
|||
|
file = _file;
|
|||
|
fps = _fps;
|
|||
|
}
|
|||
|
|
|||
|
void SaveAnimationDialog::init()
|
|||
|
{
|
|||
|
QString path;
|
|||
|
int fps = 15;
|
|||
|
_animation->getAviSetting(path, fps);
|
|||
|
_ui->rateSpinBox->setValue(fps);
|
|||
|
_ui->pathLineEdit->setText(path);
|
|||
|
}
|
|||
|
|
|||
|
void SaveAnimationDialog::accept()
|
|||
|
{
|
|||
|
QString file = _ui->pathLineEdit->text().trimmed();
|
|||
|
int fps = _ui->rateSpinBox->value();
|
|||
|
auto id = _animation->getCurrentObjectID();
|
|||
|
|
|||
|
if (file.isEmpty() || (id == -1))
|
|||
|
return;
|
|||
|
|
|||
|
// _animation->setAviSetting(file, fps);
|
|||
|
// _animation->on_RunAnimation();
|
|||
|
|
|||
|
// QString code = QString("PostProcess.savePostAnimation(%1,'%2',%3)").arg(id).arg(file).arg(fps);
|
|||
|
// Py::PythonAgent::getInstance()->submit(code);
|
|||
|
|
|||
|
_id = id;
|
|||
|
_fps = fps;
|
|||
|
_file = file;
|
|||
|
|
|||
|
QDialog::accept();
|
|||
|
this->close();
|
|||
|
}
|
|||
|
|
|||
|
void SaveAnimationDialog::reject()
|
|||
|
{
|
|||
|
QDialog::reject();
|
|||
|
this->close();
|
|||
|
}
|
|||
|
|
|||
|
void SaveAnimationDialog::on_selectPushButton_clicked()
|
|||
|
{
|
|||
|
QString filePath = _ui->pathLineEdit->text().trimmed();
|
|||
|
if (filePath.isEmpty())
|
|||
|
filePath = qApp->applicationDirPath();
|
|||
|
|
|||
|
QString path = QFileDialog::getSaveFileName(this, tr("Select File"), filePath, "AVI files(*.avi)");
|
|||
|
if (path.isEmpty())
|
|||
|
return;
|
|||
|
_ui->pathLineEdit->setText(path);
|
|||
|
}
|
|||
|
}
|