Files
oak-editor/app/dialog/export/exportvideotab.h
T
itsmattkc a0b6bb842d ColorManager is now specific to the Project
OCIO config was set on a per-project basis, but we were using a singleton for
the ColorManager that would break if more than one project was ever open.
Now the ColorManager belongs to the Project and is always accessed through the
Project.
2019-12-17 15:18:07 +11:00

69 lines
1.6 KiB
C++

#ifndef EXPORTVIDEOTAB_H
#define EXPORTVIDEOTAB_H
#include <QCheckBox>
#include <QComboBox>
#include <QWidget>
#include "common/rational.h"
#include "render/colormanager.h"
#include "widget/slider/integerslider.h"
class ExportVideoTab : public QWidget
{
Q_OBJECT
public:
ExportVideoTab(ColorManager* color_manager, QWidget* parent = nullptr);
QComboBox* codec_combobox() const;
IntegerSlider* width_slider() const;
IntegerSlider* height_slider() const;
QCheckBox* maintain_aspect_checkbox() const;
QComboBox* scaling_method_combobox() const;
QCheckBox* image_sequence_checkbox() const;
void show_image_sequence_section(bool visible);
void set_frame_rate(const rational& frame_rate);
QString CurrentOCIODisplay();
QString CurrentOCIOView();
QString CurrentOCIOLook();
signals:
void DisplayChanged(const QString& display);
void ViewChanged(const QString& view);
void LookChanged(const QString& look);
private:
QWidget* SetupResolutionSection();
QWidget* SetupColorSection();
QWidget* SetupCodecSection();
QComboBox* codec_combobox_;
QComboBox* frame_rate_combobox_;
QCheckBox* maintain_aspect_checkbox_;
QComboBox* scaling_method_combobox_;
QCheckBox* image_sequence_checkbox_;
QLabel* image_sequence_label_;
IntegerSlider* width_slider_;
IntegerSlider* height_slider_;
QComboBox* display_combobox_;
QComboBox* views_combobox_;
QComboBox* looks_combobox_;
QList<rational> frame_rates_;
ColorManager* color_manager_;
private slots:
void ColorDisplayChanged();
void ColorViewChanged();
void ColorLookChanged();
};
#endif // EXPORTVIDEOTAB_H