18 #include "exportmoviedialog.h"
19 #include "ui_exportmovieoptions.h"
22 ExportMovieDialog::ExportMovieDialog(
QWidget *parent, Mode mode, FileType fileType) :
24 ui(new Ui::ExportMovieOptions)
26 ui->setupUi(getOptionsGroupBox());
28 if (fileType == FileType::GIF) {
30 ui->exporterGroupBox->hide();
34 connect(
this, &ExportMovieDialog::filePathsChanged,
this, &ExportMovieDialog::onFilePathsChanged);
37 ExportMovieDialog::~ExportMovieDialog()
42 void ExportMovieDialog::setCamerasInfo(
const std::vector<std::pair<QString, QSize>> camerasInfo)
44 if ( ui->cameraCombo->count() > 0 )
46 ui->cameraCombo->clear();
49 for (
const std::pair<QString, QSize>& camera : camerasInfo)
51 ui->cameraCombo->addItem( camera.first, camera.second );
55 connect( ui->cameraCombo, indexChanged,
this, &ExportMovieDialog::updateResolutionCombo );
57 updateResolutionCombo( 0 );
60 void ExportMovieDialog::updateResolutionCombo(
int index )
62 QSize camSize = ui->cameraCombo->itemData( index ).toSize();
67 ui->widthSpinBox->setValue( camSize.
width() );
68 ui->heightSpinBox->setValue( camSize.
height() );
71 void ExportMovieDialog::setDefaultRange(
int startFrame,
int endFrame,
int endFrameWithSounds)
74 mEndFrameWithSounds = endFrameWithSounds;
79 ui->startSpinBox->setValue( startFrame );
80 ui->endSpinBox->setValue( endFrame );
85 QString ExportMovieDialog::getSelectedCameraName()
87 return ui->cameraCombo->currentText();
90 QSize ExportMovieDialog::getExportSize()
92 return QSize( ui->widthSpinBox->value(), ui->heightSpinBox->value() );
95 bool ExportMovieDialog::getTransparency()
const
97 return ui->transparencyCheckBox->isChecked() && supportsTransparency(getFilePath());
100 int ExportMovieDialog::getStartFrame()
102 return ui->startSpinBox->value();
105 int ExportMovieDialog::getEndFrame()
107 return ui->endSpinBox->value();
110 bool ExportMovieDialog::getLoop()
112 return ui->loopCheckBox->isChecked();
115 void ExportMovieDialog::frameCheckboxClicked(
bool checked)
117 int e = (checked) ? mEndFrameWithSounds : mEndFrame;
118 ui->endSpinBox->setValue(e);
121 void ExportMovieDialog::onFilePathsChanged(
QStringList filePaths)
124 bool canLoop = supportsLooping(filePath);
125 ui->loopCheckBox->setEnabled(canLoop);
128 ui->loopCheckBox->setChecked(
false);
130 ui->transparencyCheckBox->setEnabled(supportsTransparency(filePath));
133 bool ExportMovieDialog::supportsLooping(
QString filePath)
const
139 bool ExportMovieDialog::supportsTransparency(
QString filePath)
const
QString tr(const char *sourceText, const char *disambiguation, int n)
bool endsWith(const QString &s, Qt::CaseSensitivity cs) const const
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
void currentIndexChanged(int index)