┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/panels/information/informationpanel.cpp
diff options
context:
space:
mode:
authorSimon Paul St James <[email protected]>2009-01-27 19:50:21 +0000
committerSimon Paul St James <[email protected]>2009-01-27 19:50:21 +0000
commit9d3ed99ab02271496c0412fe97ad89575492582c (patch)
tree2149d08c98a349dad469dbf570ddfcd7ce64dbd7 /src/panels/information/informationpanel.cpp
parent68b3e86fdfcb1941b6dac4173cad924e27f36f5d (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.cpp20
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);
+ }
}
}