/***
Olive - Non-Linear Video Editor
Copyright (C) 2020 Olive Team
Modifications Copyright (C) 2025 mikesolar
This program 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 3 of the License, or
(at your option) any later version.
This program 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 this program. If not, see .
***/
#ifndef OAK_PROJECTPROPERTIESDIALOG_H
#define OAK_PROJECTPROPERTIESDIALOG_H
#include
#include
#include
#include
#include
#include
#include "widget/path/pathwidget.h"
struct OakEngineProject;
namespace olive
{
class ProjectPropertiesDialog : public QDialog {
Q_OBJECT
public:
ProjectPropertiesDialog(OakEngineProject *p, QWidget *parent);
public slots:
virtual void accept() override;
private:
bool verify_path_and_warn_if_bad(const QString &path);
OakEngineProject *working_project_;
QLineEdit *ocio_filename_;
QComboBox *default_input_colorspace_;
QComboBox *reference_space_;
bool ocio_config_is_valid_;
QString ocio_config_error_;
PathWidget *custom_cache_path_;
static const int k_disk_cache_radio_count = 3;
QRadioButton *disk_cache_radios_[k_disk_cache_radio_count];
private slots:
void browse_for_ocio_config();
void ocio_filename_updated();
void open_disk_cache_settings();
};
}
#endif // OAK_PROJECTPROPERTIESDIALOG_H