diff --git a/src/customWidgets/UBMediaWidget.cpp b/src/customWidgets/UBMediaWidget.cpp
index 31523a90..572db702 100644
--- a/src/customWidgets/UBMediaWidget.cpp
+++ b/src/customWidgets/UBMediaWidget.cpp
@@ -1,7 +1,27 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
#include "core/UBApplication.h"
#include "UBGlobals.h"
#include "UBMediaWidget.h"
+/**
+ * \brief Constructor
+ * @param type as the media type
+ * @param parent as the parent widget
+ * @param name as the object name
+ */
UBMediaWidget::UBMediaWidget(eMediaType type, QWidget *parent, const char *name):QWidget(parent)
, mpMediaObject(NULL)
, mpVideoWidget(NULL)
@@ -43,6 +63,9 @@ UBMediaWidget::UBMediaWidget(eMediaType type, QWidget *parent, const char *name)
connect(mpSlider, SIGNAL(valueChanged(int)), this, SLOT(onSliderChanged(int)));
}
+/**
+ * \brief Destructor
+ */
UBMediaWidget::~UBMediaWidget()
{
DELETEPTR(mpSlider);
@@ -54,6 +77,10 @@ UBMediaWidget::~UBMediaWidget()
DELETEPTR(mpCover);
}
+/**
+ * \brief Set the media file
+ * @param filePath as the media file path
+ */
void UBMediaWidget::setFile(const QString &filePath)
{
Q_ASSERT("" != filePath);
@@ -67,11 +94,18 @@ void UBMediaWidget::setFile(const QString &filePath)
createMediaPlayer();
}
+/**
+ * \brief Get the media type
+ * @returns the media type
+ */
eMediaType UBMediaWidget::mediaType()
{
return mType;
}
+/**
+ * \brief Create the media player
+ */
void UBMediaWidget::createMediaPlayer()
{
mpMediaContainer = new QWidget(this);
@@ -104,6 +138,9 @@ void UBMediaWidget::createMediaPlayer()
mLayout.addLayout(&mSeekerLayout, 0);
}
+/**
+ * \brief Adapt the widget size to the video in order to keep the good aspect ratio
+ */
void UBMediaWidget::adaptSizeToVideo()
{
if(NULL != mpMediaContainer){
@@ -116,6 +153,11 @@ void UBMediaWidget::adaptSizeToVideo()
}
}
+/**
+ * \brief Handle the media state change notification
+ * @param newState as the new state
+ * @param oldState as the old state
+ */
void UBMediaWidget::onStateChanged(Phonon::State newState, Phonon::State oldState)
{
if(!mGeneratingThumbnail){
@@ -142,11 +184,19 @@ void UBMediaWidget::onStateChanged(Phonon::State newState, Phonon::State oldStat
}
}
+/**
+ * \brief Handles the total time change notification
+ * @param total as the new total time
+ */
void UBMediaWidget::onTotalTimeChanged(qint64 total)
{
mpSlider->setMaximum(total);
}
+/**
+ * \brief Handles the tick notification
+ * @param currentTime as the current time
+ */
void UBMediaWidget::onTick(qint64 currentTime)
{
mAutoUpdate = true;
@@ -154,6 +204,10 @@ void UBMediaWidget::onTick(qint64 currentTime)
mAutoUpdate = false;
}
+/**
+ * \brief Handles the seeker value change notification
+ * @param value as the new seeker value
+ */
void UBMediaWidget::onSliderChanged(int value)
{
if(!mAutoUpdate){
@@ -161,6 +215,9 @@ void UBMediaWidget::onSliderChanged(int value)
}
}
+/**
+ * \brief Toggle Play-Stop
+ */
void UBMediaWidget::onPlayStopClicked()
{
switch(mpMediaObject->state()){
@@ -177,21 +234,36 @@ void UBMediaWidget::onPlayStopClicked()
}
}
+/**
+ * \brief Pause the media
+ */
void UBMediaWidget::onPauseClicked()
{
mpMediaObject->pause();
}
+/**
+ * Get the border
+ * @returns the actual border
+ */
int UBMediaWidget::border()
{
return mBorder;
}
+/**
+ * \brief Handles the resize event
+ * @param ev as the resize event
+ */
void UBMediaWidget::resizeEvent(QResizeEvent* ev)
{
Q_UNUSED(ev);
}
+/**
+ * \brief Set the audio cover
+ * @param coverPath as the cover image file path
+ */
void UBMediaWidget::setAudioCover(const QString &coverPath)
{
if(NULL != mpCover){
@@ -200,6 +272,11 @@ void UBMediaWidget::setAudioCover(const QString &coverPath)
}
// -----------------------------------------------------------------------------------------------------------
+/**
+ * \brief Constructor
+ * @param parent as the parent widget
+ * @param name as the object name
+ */
UBMediaButton::UBMediaButton(QWidget *parent, const char *name):QLabel(parent)
, mPressed(false)
{
@@ -208,17 +285,28 @@ UBMediaButton::UBMediaButton(QWidget *parent, const char *name):QLabel(parent)
setStyleSheet(QString("padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;"));
}
+/**
+ * \brief Destructor
+ */
UBMediaButton::~UBMediaButton()
{
}
+/**
+ * \brief Handles the mouse press notification
+ * @param ev as the mouse press event
+ */
void UBMediaButton::mousePressEvent(QMouseEvent* ev)
{
Q_UNUSED(ev);
mPressed = true;
}
+/**
+ * \brief Handles the mouse release notification
+ * @param ev as the mouse release event
+ */
void UBMediaButton::mouseReleaseEvent(QMouseEvent* ev)
{
Q_UNUSED(ev);
diff --git a/src/customWidgets/UBMediaWidget.h b/src/customWidgets/UBMediaWidget.h
index 3f4be679..ba7d774b 100644
--- a/src/customWidgets/UBMediaWidget.h
+++ b/src/customWidgets/UBMediaWidget.h
@@ -1,3 +1,17 @@
+/*
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
#ifndef UBMEDIAWIDGET_H
#define UBMEDIAWIDGET_H
@@ -17,6 +31,9 @@
#define UBMEDIABUTTON_SIZE 32
#define TICK_INTERVAL 1000
+/**
+ * \brief The media type
+ */
typedef enum{
eMediaType_Video,
eMediaType_Audio
@@ -37,6 +54,7 @@ protected:
void mouseReleaseEvent(QMouseEvent* ev);
private:
+ /** And indicator of the press event in progress */
bool mPressed;
};
@@ -66,21 +84,37 @@ private:
void createMediaPlayer();
void adaptSizeToVideo();
+ /** The current media file path */
QString mFilePath;
+ /** The current media type */
eMediaType mType;
+ /** The media object */
Phonon::MediaObject* mpMediaObject;
+ /** The video renderer */
Phonon::VideoWidget* mpVideoWidget;
+ /** The audio renderer */
Phonon::AudioOutput* mpAudioOutput;
+ /** The principal layout of this widget */
QVBoxLayout mLayout;
+ /** The seeker layout */
QHBoxLayout mSeekerLayout;
+ /** The play-stop button */
UBMediaButton* mpPlayStopButton;
+ /** The pause button */
UBMediaButton* mpPauseButton;
+ /** The seeker slider */
QSlider* mpSlider;
+ /** An indicator of the seeker auto update in progress */
bool mAutoUpdate;
+ /** An indicator of the thumbnail generation in progress */
bool mGeneratingThumbnail;
+ /** The border */
int mBorder;
+ /** A widget that will contain the media */
QWidget* mpMediaContainer;
+ /** The media layout */
QHBoxLayout mMediaLayout;
+ /** The audio cover */
QLabel* mpCover;
};
diff --git a/src/gui/UBTeacherBarWidget.cpp b/src/gui/UBTeacherBarWidget.cpp
index c3e31d21..06058bbd 100644
--- a/src/gui/UBTeacherBarWidget.cpp
+++ b/src/gui/UBTeacherBarWidget.cpp
@@ -1016,15 +1016,12 @@ void UBTBMediaContainer::dropEvent(QDropEvent* pEvent)
QString mimeType;
QString resourcePath;
if(pEvent->mimeData()->hasText()){
- qDebug() << "text dropped";
resourcePath = pEvent->mimeData()->text();
}
else if(pEvent->mimeData()->hasUrls()){
- qDebug() << "url dropped";
resourcePath = pEvent->mimeData()->urls().at(0).toLocalFile();
}
else if(pEvent->mimeData()->hasImage()){
- qDebug() << "image dropped";
pixFromDropEvent.loadFromData(pEvent->mimeData()->imageData().toByteArray());
if(!pixFromDropEvent.isNull())
mimeType = "image";
@@ -1035,7 +1032,6 @@ void UBTBMediaContainer::dropEvent(QDropEvent* pEvent)
return;
}
if(!resourcePath.isEmpty()){
- qDebug() << "emitting 'mediaDropped'";
emit mediaDropped(resourcePath);
pEvent->acceptProposedAction();
}