static const int SLIDETAB = 3;
static const int IMAGETAB = 4;
static const int MARKERTAB = 5;
-static const int ADVANCEDTAB = 6;
+static const int METATAB = 6;
+static const int ADVANCEDTAB = 7;
static const int TYPE_JPEG = 0;
static const int TYPE_PNG = 1;
m_view.clip_vindex->setMaximum(props.value("video_max").toInt());
}
+ // Check for Metadata
+ QMap<QString, QString> meta = m_clip->metadata();
+ QMap<QString, QString>::const_iterator i = meta.constBegin();
+ while (i != meta.constEnd()) {
+ QTreeWidgetItem *metaitem = new QTreeWidgetItem(m_view.metadata_list);
+ metaitem->setText(0, i.key()); //i18n(i.key().section('.', 2, 3).toUtf8().data()));
+ metaitem->setText(1, i.value());
+ ++i;
+ }
+
connect(m_view.clip_force_ar, SIGNAL(toggled(bool)), m_view.clip_ar, SLOT(setEnabled(bool)));
connect(m_view.clip_force_threads, SIGNAL(toggled(bool)), m_view.clip_threads, SLOT(setEnabled(bool)));
connect(m_view.clip_force_vindex, SIGNAL(toggled(bool)), m_view.clip_vindex, SLOT(setEnabled(bool)));
m_view.image_transparency->setChecked(props.value("transparency").toInt());
} else if (t == COLOR) {
m_view.clip_path->setEnabled(false);
+ m_view.tabWidget->removeTab(METATAB);
m_view.tabWidget->removeTab(IMAGETAB);
m_view.tabWidget->removeTab(SLIDETAB);
m_view.tabWidget->removeTab(AUDIOTAB);
m_view.clip_color->setColor(QColor("#" + props.value("colour").right(8).left(6)));
} else if (t == SLIDESHOW) {
m_view.clip_path->setText(url.directory());
+ m_view.tabWidget->removeTab(METATAB);
m_view.tabWidget->removeTab(IMAGETAB);
m_view.tabWidget->removeTab(COLORTAB);
m_view.tabWidget->removeTab(AUDIOTAB);
if (refreshProducer) slotRefreshProducer();
}
+void DocClipBase::setMetadata(QMap <QString, QString> properties) {
+ m_metadata = properties;
+}
+
+QMap <QString, QString> DocClipBase::metadata() const {
+ return m_metadata;
+}
+
void DocClipBase::clearProperty(const QString &key) {
m_properties.remove(key);
}
void setAudioThumbCreated(bool isDone);
/** Holds clip infos like fps, size,... */
QMap <QString, QString> m_properties;
+ /** Holds clip metadata like author, copyright,... */
+ QMap <QString, QString> m_metadata;
/** Create connections for audio thumbnails */
void slotCreateAudioTimer();
void slotRefreshProducer();
void setClipThumbFrame(const uint &ix);
uint getClipThumbFrame() const;
void setProperties(QMap <QString, QString> properties);
+ void setMetadata(QMap <QString, QString> properties);
QMap <QString, QString> properties() const;
+ QMap <QString, QString> metadata() const;
signals:
void getAudioThumbs();
slotSetToolTip();
}
m_clip->setProperties(attributes);
-
+ m_clip->setMetadata(metadata);
if ((m_clipType == AV || m_clipType == AUDIO) && KdenliveSettings::audiothumbnails()) m_clip->askForAudioThumbs();
if (m_clip->description().isEmpty()) {
<rect>
<x>0</x>
<y>0</y>
- <width>431</width>
+ <width>339</width>
<height>464</height>
</rect>
</property>
</item>
</layout>
</widget>
+ <widget class="QWidget" name="tab_5" >
+ <attribute name="title" >
+ <string>Metadata</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_9" >
+ <item row="0" column="0" >
+ <widget class="QTreeWidget" name="metadata_list" >
+ <property name="rootIsDecorated" >
+ <bool>false</bool>
+ </property>
+ <property name="itemsExpandable" >
+ <bool>false</bool>
+ </property>
+ <property name="sortingEnabled" >
+ <bool>false</bool>
+ </property>
+ <property name="allColumnsShowFocus" >
+ <bool>true</bool>
+ </property>
+ <property name="wordWrap" >
+ <bool>true</bool>
+ </property>
+ <property name="headerHidden" >
+ <bool>true</bool>
+ </property>
+ <property name="columnCount" >
+ <number>2</number>
+ </property>
+ <column>
+ <property name="text" >
+ <string>1</string>
+ </property>
+ </column>
+ <column>
+ <property name="text" >
+ <string>2</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ </layout>
+ </widget>
<widget class="QWidget" name="tab_advanced" >
<attribute name="title" >
<string>Advanced</string>