X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fclipproperties.cpp;h=d1d610aa0a8dd24526b9a066a8eba94accacb30a;hb=ef4d9224f38ada2619a9578f6a6387af2fdd9e4a;hp=42214833f5530e79867ee2a720a2dbe5e304f2ca;hpb=7d708fd156c646b36c91cffaed60e5cf777f95d9;p=kdenlive diff --git a/src/clipproperties.cpp b/src/clipproperties.cpp index 42214833..d1d610aa 100644 --- a/src/clipproperties.cpp +++ b/src/clipproperties.cpp @@ -27,6 +27,19 @@ #include #include #include +#include +#include +#include + +#ifdef USE_NEPOMUK +#if KDE_IS_VERSION(4,6,0) +#include +#include +#include +#include +#endif +#endif + #include @@ -217,7 +230,7 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg m_proxyContainer = new QFrame(); m_proxyContainer->setFrameShape(QFrame::NoFrame); QHBoxLayout *l = new QHBoxLayout; - l->addWidget(new QLabel(i18n("Proxy clip: %1").arg(KIO::convertSize(f.size())))); + l->addWidget(new QLabel(i18n("Proxy clip: %1", KIO::convertSize(f.size())))); l->addStretch(5); QPushButton *pb = new QPushButton(i18n("Delete proxy")); l->addWidget(pb); @@ -401,6 +414,13 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg 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")); @@ -409,6 +429,7 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg if (props.contains("colorspace")) new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Colorspace") << ProfilesDialog::getColorspaceDescription(props.value("colorspace").toInt())); + int width = 180.0 * KdenliveSettings::project_display_ratio(); if (width % 2 == 1) width++; @@ -446,6 +467,31 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg m_view.marker_delete->setIcon(KIcon("trash-empty")); m_view.marker_delete->setToolTip(i18n("Delete marker")); + // Check for Nepomuk metadata +#ifdef USE_NEPOMUK +#if KDE_IS_VERSION(4,6,0) + if (!url.isEmpty()) { + Nepomuk::ResourceManager::instance()->init(); + Nepomuk::Resource res( url.path() ); + // Check if file has a license + if (res.hasProperty(Nepomuk::Vocabulary::NIE::license())) { + QString ltype = res.property(Nepomuk::Vocabulary::NIE::licenseType()).toString(); + 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 &))); + } + } + else m_view.clip_license->setHidden(true); + } + else m_view.clip_license->setHidden(true); +#else + m_view.clip_license->setHidden(true); +#endif +#else + m_view.clip_license->setHidden(true); +#endif + slotFillMarkersList(); connect(m_view.marker_new, SIGNAL(clicked()), this, SLOT(slotAddMarker())); connect(m_view.marker_edit, SIGNAL(clicked()), this, SLOT(slotEditMarker())); @@ -455,7 +501,7 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg connect(this, SIGNAL(accepted()), this, SLOT(slotApplyProperties())); connect(m_view.buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(slotApplyProperties())); m_view.buttonBox->button(QDialogButtonBox::Apply)->setEnabled(false); - //adjustSize(); + adjustSize(); } @@ -1027,6 +1073,11 @@ void ClipProperties::slotDeleteProxy() if (m_proxyContainer) delete m_proxyContainer; } +void ClipProperties::slotOpenUrl(const QString &url) +{ + new KRun(KUrl(url), this); +} + #include "clipproperties.moc"