diff options
| author | Simon Paul St James <[email protected]> | 2009-01-27 19:50:21 +0000 |
|---|---|---|
| committer | Simon Paul St James <[email protected]> | 2009-01-27 19:50:21 +0000 |
| commit | 9d3ed99ab02271496c0412fe97ad89575492582c (patch) | |
| tree | 2149d08c98a349dad469dbf570ddfcd7ce64dbd7 /src/panels/information/informationpanel.cpp | |
| parent | 68b3e86fdfcb1941b6dac4173cad924e27f36f5d (diff) | |
Initial import of Matthias's draft patch for adding video and audio previewing (similar to the file dialog) to Dolphin's metadata panel. Since Phonon is currently in-process only with the memory/ stability issues that come with this, this might have to be disabled by default - we'll see how it goes. Thanks, Matthias!
CCMAIL:[email protected]
CCMAIL:[email protected]
svn path=/trunk/KDE/kdebase/apps/; revision=917389
Diffstat (limited to 'src/panels/information/informationpanel.cpp')
| -rw-r--r-- | src/panels/information/informationpanel.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/panels/information/informationpanel.cpp b/src/panels/information/informationpanel.cpp index a77a39908..35d29869e 100644 --- a/src/panels/information/informationpanel.cpp +++ b/src/panels/information/informationpanel.cpp @@ -35,6 +35,7 @@ #include <kiconloader.h> #include <QEvent> +#include <QtGui/QToolButton> #include <QInputDialog> #include <QLabel> #include <QPainter> @@ -47,8 +48,12 @@ #include "settings/dolphinsettings.h" #include "metadatawidget.h" +#include "phononwidget.h" #include "metatextlabel.h" #include "pixmapviewer.h" +#include <Phonon/BackendCapabilities> +#include <Phonon/MediaObject> +#include <Phonon/SeekSlider> InformationPanel::InformationPanel(QWidget* parent) : Panel(parent), @@ -60,6 +65,8 @@ InformationPanel::InformationPanel(QWidget* parent) : m_urlCandidate(), m_fileItem(), m_selection(), + m_infoLabel(0), + m_phononWidget(0), m_nameLabel(0), m_preview(0), m_metaDataWidget(0), @@ -354,6 +361,9 @@ void InformationPanel::cancelRequest() void InformationPanel::showMetaInfo() { + delete m_phononWidget; + m_phononWidget = 0; + m_metaTextLabel->clear(); if (showMultipleSelectionInfo()) { @@ -413,6 +423,16 @@ void InformationPanel::showMetaInfo() if (m_metaDataWidget != 0) { m_metaDataWidget->setFile(item.targetUrl()); } + + if (Phonon::BackendCapabilities::isMimeTypeAvailable(item.mimetype())) { + PhononWidget *p = new PhononWidget(this); + p->setUrl(item.url()); + m_phononWidget = p; + + QVBoxLayout *l = qobject_cast<QVBoxLayout *>(layout()); + Q_ASSERT(l); + l->insertWidget(3, m_phononWidget); + } } } |
