X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fclipproperties.cpp;h=589f58945347433066885574bd563dc12866ec0a;hb=ba6cfa6067b821c9dd26c8ebc9c41b0e10efe386;hp=c3562a9310e595dbd0729b925e8cc9fd41f4d2d4;hpb=61d07a19c025e138cf9a72683b4e0940d490c180;p=kdenlive diff --git a/src/clipproperties.cpp b/src/clipproperties.cpp index c3562a93..589f5894 100644 --- a/src/clipproperties.cpp +++ b/src/clipproperties.cpp @@ -56,14 +56,15 @@ static const int METATAB = 6; static const int ADVANCEDTAB = 7; -ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidget * parent) : - QDialog(parent), - m_clip(clip), - m_tc(tc), - m_fps(fps), - m_count(0), - m_clipNeedsRefresh(false), - m_clipNeedsReLoad(false) +ClipProperties::ClipProperties(DocClipBase *clip, const Timecode &tc, double fps, QWidget * parent) : + QDialog(parent) + , m_clip(clip) + , m_tc(tc) + , m_fps(fps) + , m_count(0) + , m_clipNeedsRefresh(false) + , m_clipNeedsReLoad(false) + , m_proxyContainer(NULL) { setAttribute(Qt::WA_DeleteOnClose, true); setFont(KGlobalSettings::toolBarFont()); @@ -196,12 +197,42 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg connect(m_view.clip_full_luma, SIGNAL(toggled(bool)), this, SLOT(slotModified())); // Check for Metadata - QMap meta = m_clip->metadata(); - QMap::const_iterator i = meta.constBegin(); + QMap meta = m_clip->metadata(); + QMap::const_iterator i = meta.constBegin(); while (i != meta.constEnd()) { - QTreeWidgetItem *metaitem = new QTreeWidgetItem(m_view.metadata_list); + QStringList values = i.value(); + QString parentName; + QString iconName; + if (values.count() > 1 && !values.at(1).isEmpty()) parentName = values.at(1); + else { + if (KdenliveSettings::ffmpegpath().endsWith("avconv")) { + parentName = i18n("Libav"); + iconName = "meta_libav.png"; + } + else { + parentName = i18n("FFmpeg"); + iconName = "meta_ffmpeg.png"; + } + } + QTreeWidgetItem *parent = NULL; + QList matches = m_view.metadata_list->findItems(parentName, Qt::MatchExactly); + if (!matches.isEmpty()) parent = matches.at(0); + else { + if (parentName == "Magic Lantern") iconName = "meta_magiclantern.png"; + parent = new QTreeWidgetItem(m_view.metadata_list, QStringList() << parentName); + if (!iconName.isEmpty()) { + KIcon icon(KStandardDirs::locate("appdata", iconName)); + parent->setIcon(0, icon); + } + } + QTreeWidgetItem *metaitem = NULL; + if (parent) { + metaitem = new QTreeWidgetItem(parent); + parent->setExpanded(true); + } + else 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()); + metaitem->setText(1, values.at(0)); ++i; } @@ -334,7 +365,7 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg m_view.animation->setCurrentIndex(0); QString path = props.value("resource"); QString ext = path.section('.', -1); - for (int i = 0; i < m_view.image_type->count(); i++) { + for (int i = 0; i < m_view.image_type->count(); ++i) { if (m_view.image_type->itemData(i).toString() == ext) { m_view.image_type->setCurrentIndex(i); break; @@ -469,7 +500,7 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg m_view.clip_license->setText(i18n("License: %1", res.property(Nepomuk::Vocabulary::NIE::license()).toString())); if (ltype.startsWith("http")) { m_view.clip_license->setUrl(ltype); - connect(m_view.clip_license, SIGNAL(leftClickedUrl(const QString &)), this, SLOT(slotOpenUrl(const QString &))); + connect(m_view.clip_license, SIGNAL(leftClickedUrl(QString)), this, SLOT(slotOpenUrl(QString))); } } else m_view.clip_license->setHidden(true); @@ -490,7 +521,7 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg connect(m_view.marker_delete, SIGNAL(clicked()), this, SLOT(slotDeleteMarker())); connect(m_view.marker_save, SIGNAL(clicked()), this, SLOT(slotSaveMarkers())); connect(m_view.marker_load, SIGNAL(clicked()), this, SLOT(slotLoadMarkers())); - connect(m_view.markers_list, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(slotEditMarker())); + connect(m_view.markers_list, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(slotEditMarker())); connect(m_view.analysis_delete, SIGNAL(clicked()), this, SLOT(slotDeleteAnalysis())); connect(m_view.analysis_save, SIGNAL(clicked()), this, SLOT(slotSaveAnalysis())); @@ -508,7 +539,7 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg // Used for multiple clips editing -ClipProperties::ClipProperties(QList cliplist, Timecode tc, QMap commonproperties, QWidget * parent) : +ClipProperties::ClipProperties(QList cliplist, const Timecode &tc, QMap commonproperties, QWidget * parent) : QDialog(parent), m_clip(NULL), m_tc(tc), @@ -836,7 +867,7 @@ void ClipProperties::slotDeleteMarker() { QList < CommentedTime > marks = m_clip->commentedSnapMarkers(); QList < CommentedTime > toDelete; - for (int i = 0; i < marks.count(); i++) { + for (int i = 0; i < marks.count(); ++i) { if (m_view.markers_list->topLevelItem(i)->isSelected()) { CommentedTime marker = marks.at(i); marker.setMarkerType(-1);