+ fillList();
+ slotUpdateDisplay();
+ connect(m_view.profiles_list, SIGNAL(currentIndexChanged(int)), this, SLOT(slotUpdateDisplay()));
+ connect(m_view.button_create, SIGNAL(clicked()), this, SLOT(slotCreateProfile()));
+ connect(m_view.button_save, SIGNAL(clicked()), this, SLOT(slotSaveProfile()));
+ connect(m_view.button_delete, SIGNAL(clicked()), this, SLOT(slotDeleteProfile()));
+ connect(m_view.button_default, SIGNAL(clicked()), this, SLOT(slotSetDefaultProfile()));
+
+ connect(m_view.description, SIGNAL(textChanged(QString)), this, SLOT(slotProfileEdited()));
+ connect(m_view.frame_num, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.frame_den, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.aspect_num, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.aspect_den, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.display_num, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.display_den, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.progressive, SIGNAL(stateChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.size_h, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.size_w, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+}
+
+
+ProfilesDialog::ProfilesDialog(QString profilePath, QWidget * parent) :
+ QDialog(parent),
+ m_profileIsModified(false),
+ m_isCustomProfile(true),
+ m_customProfilePath(profilePath)
+{
+ m_view.setupUi(this);
+
+ // Fill colorspace list (see mlt_profile.h)
+ m_view.colorspace->addItem(getColorspaceDescription(601), 601);
+ m_view.colorspace->addItem(getColorspaceDescription(709), 709);
+ m_view.colorspace->addItem(getColorspaceDescription(240), 240);
+ m_view.colorspace->addItem(getColorspaceDescription(0), 0);
+
+ QStringList profilesFilter;
+ profilesFilter << "*";
+
+ m_view.button_save->setIcon(KIcon("document-save"));
+ m_view.button_save->setToolTip(i18n("Save profile"));
+ m_view.button_create->setHidden(true);
+ m_view.profiles_list->setHidden(true);
+ m_view.button_delete->setHidden(true);
+ m_view.button_default->setHidden(true);
+ m_view.description->setEnabled(false);
+
+ slotUpdateDisplay(profilePath);
+ connect(m_view.button_save, SIGNAL(clicked()), this, SLOT(slotSaveProfile()));
+
+ connect(m_view.description, SIGNAL(textChanged(QString)), this, SLOT(slotProfileEdited()));
+ connect(m_view.frame_num, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.frame_den, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.aspect_num, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.aspect_den, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.display_num, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.display_den, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.progressive, SIGNAL(stateChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.size_h, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+ connect(m_view.size_w, SIGNAL(valueChanged(int)), this, SLOT(slotProfileEdited()));
+}
+
+void ProfilesDialog::slotProfileEdited()
+{
+ m_profileIsModified = true;
+}
+
+void ProfilesDialog::fillList(const QString &selectedProfile)
+{
+ // List the Mlt profiles
+ m_view.profiles_list->clear();
+ QMap <QString, QString> profilesInfo = ProfilesDialog::getProfilesInfo();
+ QMapIterator<QString, QString> i(profilesInfo);
+ while (i.hasNext()) {
+ i.next();
+ m_view.profiles_list->addItem(i.key(), i.value());
+ }