}
connect(m_view.clip_force_framerate, SIGNAL(toggled(bool)), this, SLOT(slotModified()));
connect(m_view.clip_framerate, SIGNAL(valueChanged(double)), this, SLOT(slotModified()));
+ m_view.clip_progressive->addItem(i18n("Interlaced"), 0);
+ m_view.clip_progressive->addItem(i18n("Progressive"), 1);
if (props.contains("force_progressive")) {
m_view.clip_force_progressive->setChecked(true);
m_view.clip_progressive->setEnabled(true);
- m_view.clip_progressive->setValue(props.value("force_progressive").toInt());
+ m_view.clip_progressive->setCurrentIndex(props.value("force_progressive").toInt());
}
connect(m_view.clip_force_progressive, SIGNAL(toggled(bool)), this, SLOT(slotModified()));
- connect(m_view.clip_progressive, SIGNAL(valueChanged(int)), this, SLOT(slotModified()));
+ connect(m_view.clip_progressive, SIGNAL(currentIndexChanged(int)), this, SLOT(slotModified()));
m_view.clip_fieldorder->addItem(i18n("Bottom first"), 0);
m_view.clip_fieldorder->addItem(i18n("Top first"), 1);
m_view.clip_aproperties->setItemDelegate(del2);
m_view.clip_aproperties->setStyleSheet(QString("QTreeWidget { background-color: transparent;}"));
m_view.clip_vproperties->setStyleSheet(QString("QTreeWidget { background-color: transparent;}"));
-
- if (props.contains("videocodec"))
- new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Video codec") << props.value("videocodec"));
- else if (props.contains("videocodecid"))
- new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Video codec") << props.value("videocodecid"));
-
- if (props.contains("frame_size"))
- new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Frame size") << props.value("frame_size"));
-
- if (props.contains("fps")) {
- new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Frame rate") << props.value("fps"));
- if (!m_view.clip_framerate->isEnabled()) m_view.clip_framerate->setValue(props.value("fps").toDouble());
- }
-
- if (props.contains("progressive")) {
- int scanning = props.value("progressive").toInt();
- QString txt = scanning == 1 ? i18n("Progressive") : i18n("Interlaced");
- new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Scanning") << txt);
- }
-
- if (props.contains("aspect_ratio"))
- new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Pixel aspect ratio") << props.value("aspect_ratio"));
-
- if (props.contains("pix_fmt"))
- new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Pixel format") << props.value("pix_fmt"));
-
- if (props.contains("colorspace"))
- new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Colorspace") << ProfilesDialog::getColorspaceDescription(props.value("colorspace").toInt()));
+ loadVideoProperties(props);
m_view.clip_thumb->setMinimumSize(180 * KdenliveSettings::project_display_ratio(), 180);
if (commonproperties.contains("force_progressive") && !commonproperties.value("force_progressive").isEmpty()) {
m_view.clip_force_progressive->setChecked(true);
m_view.clip_progressive->setEnabled(true);
- m_view.clip_progressive->setValue(commonproperties.value("force_progressive").toInt());
+ m_view.clip_progressive->setCurrentIndex(commonproperties.value("force_progressive").toInt());
}
if (commonproperties.contains("force_tff") && !commonproperties.value("force_tff").isEmpty()) {
if (del2) delete del2;
}
+
+void ClipProperties::loadVideoProperties(QMap <QString, QString> props)
+{
+ m_view.clip_vproperties->clear();
+ if (props.contains("videocodec"))
+ new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Video codec") << props.value("videocodec"));
+ else if (props.contains("videocodecid"))
+ new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Video codec") << props.value("videocodecid"));
+
+ if (props.contains("frame_size"))
+ new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Frame size") << props.value("frame_size"));
+
+ if (props.contains("fps")) {
+ new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Frame rate") << props.value("fps"));
+ if (!m_view.clip_framerate->isEnabled()) m_view.clip_framerate->setValue(props.value("fps").toDouble());
+ }
+
+ if (props.contains("progressive")) {
+ int scanning = props.value("progressive").toInt();
+ QString txt = scanning == 1 ? i18n("Progressive") : i18n("Interlaced");
+ new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Scanning") << txt);
+ }
+
+ if (props.contains("aspect_ratio"))
+ new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Pixel aspect ratio") << props.value("aspect_ratio"));
+
+ if (props.contains("pix_fmt"))
+ new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Pixel format") << props.value("pix_fmt"));
+
+ if (props.contains("colorspace"))
+ new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Colorspace") << ProfilesDialog::getColorspaceDescription(props.value("colorspace").toInt()));
+}
+
void ClipProperties::slotGotThumbnail(const QString &id, QImage img)
{
if (id != m_clip->getId()) return;
if (m_clip != NULL) {
QMap <QString, QString> props = properties();
emit applyNewClipProperties(m_clip->getId(), m_clip->currentProperties(props), props, needsTimelineRefresh(), needsTimelineReload());
+ QTimer::singleShot(1000, this, SLOT(slotReloadVideoProperties()));
+ if (props.contains("force_aspect_num")) QTimer::singleShot(1000, this, SLOT(slotReloadVideoThumb()));
}
m_view.buttonBox->button(QDialogButtonBox::Apply)->setEnabled(false);
}
+void ClipProperties::slotReloadVideoProperties()
+{
+ if (m_clip == NULL) return;
+ loadVideoProperties(m_clip->properties());
+}
+
+void ClipProperties::slotReloadVideoThumb()
+{
+ if (m_clip == NULL) return;
+ emit requestThumb(QString('?' + m_clip->getId()), QList<int>() << m_clip->getClipThumbFrame());
+}
+
void ClipProperties::disableClipId(const QString &id)
{
if (m_clip && m_view.buttonBox->button(QDialogButtonBox::Ok)->isEnabled()) {
m_clipNeedsRefresh = true;
}
- int progressive = m_view.clip_progressive->value();
+ int progressive = m_view.clip_progressive->currentIndex();
if (m_view.clip_force_progressive->isChecked()) {
- if (progressive != m_old_props.value("force_progressive").toInt()) {
+ if (!m_old_props.contains("force_progressive") || progressive != m_old_props.value("force_progressive").toInt()) {
props["force_progressive"] = QString::number(progressive);
}
} else if (m_old_props.contains("force_progressive") && !m_old_props.value("force_progressive").isEmpty()) {
int fieldOrder = m_view.clip_fieldorder->currentIndex();
if (m_view.clip_force_fieldorder->isChecked()) {
- if (fieldOrder != m_old_props.value("force_tff").toInt()) {
+ if (!m_old_props.contains("force_tff") || fieldOrder != m_old_props.value("force_tff").toInt()) {
props["force_tff"] = QString::number(fieldOrder);
}
} else if (m_old_props.contains("force_tff") && !m_old_props.value("force_tff").isEmpty()) {