summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/phonon/platform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/phonon/phonon/platform.cpp')
-rw-r--r--src/3rdparty/phonon/phonon/platform.cpp144
1 files changed, 144 insertions, 0 deletions
diff --git a/src/3rdparty/phonon/phonon/platform.cpp b/src/3rdparty/phonon/phonon/platform.cpp
new file mode 100644
index 0000000..49c4561
--- /dev/null
+++ b/src/3rdparty/phonon/phonon/platform.cpp
@@ -0,0 +1,144 @@
+/* This file is part of the KDE project
+ Copyright (C) 2007 Matthias Kretz <kretz@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) version 3, or any
+ later version accepted by the membership of KDE e.V. (or its
+ successor approved by the membership of KDE e.V.), Nokia Corporation
+ (or its successors, if any) and the KDE Free Qt Foundation, which shall
+ act as a proxy defined in Section 6 of version 3 of the license.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "platform_p.h"
+#include "platformplugin.h"
+#include "factory_p.h"
+#include <QtCore/QCoreApplication>
+#include <QtCore/QUrl>
+#include <QtGui/QIcon>
+#include <QtGui/QStyle>
+#include <QtGui/QApplication>
+
+QT_BEGIN_NAMESPACE
+
+namespace Phonon
+{
+
+void Platform::saveVolume(const QString &outputName, qreal volume)
+{
+#ifndef QT_NO_PHONON_PLATFORMPLUGIN
+ PlatformPlugin *f = Factory::platformPlugin();
+ if (f) {
+ f->saveVolume(outputName, volume);
+ }
+#else
+ Q_UNUSED(outputName);
+ Q_UNUSED(volume);
+#endif //QT_NO_PHONON_PLATFORMPLUGIN
+}
+
+qreal Platform::loadVolume(const QString &outputName)
+{
+#ifndef QT_NO_PHONON_PLATFORMPLUGIN
+ const PlatformPlugin *f = Factory::platformPlugin();
+ if (f) {
+ return f->loadVolume(outputName);
+ }
+#else
+ Q_UNUSED(outputName);
+#endif //QT_NO_PHONON_PLATFORMPLUGIN
+ return 1.0;
+}
+
+AbstractMediaStream *Platform::createMediaStream(const QUrl &url, QObject *parent)
+{
+#ifndef QT_NO_PHONON_PLATFORMPLUGIN
+ PlatformPlugin *f = Factory::platformPlugin();
+ if (f) {
+ return f->createMediaStream(url, parent);
+ }
+#else
+ Q_UNUSED(url);
+ Q_UNUSED(parent);
+#endif //QT_NO_PHONON_PLATFORMPLUGIN
+ return 0;
+}
+
+QIcon Platform::icon(const QString &name, QStyle *style)
+{
+ QIcon ret;
+#ifndef QT_NO_PHONON_PLATFORMPLUGIN
+ if (const PlatformPlugin *f = Factory::platformPlugin()) {
+ ret = f->icon(name);
+ }
+#endif //QT_NO_PHONON_PLATFORMPLUGIN
+ if (ret.isNull()) {
+ if (!style) {
+ style = QApplication::style();
+ }
+ if (name == QLatin1String("player-volume")) {
+ ret = style->standardPixmap(QStyle::SP_MediaVolume);
+ } else if (name == QLatin1String("player-volume-muted")) {
+ ret = style->standardPixmap(QStyle::SP_MediaVolumeMuted);
+ }
+ }
+
+ return ret;
+}
+
+void Platform::notification(const char *notificationName, const QString &text,
+ const QStringList &actions, QObject *receiver,
+ const char *actionSlot)
+{
+#ifndef QT_NO_PHONON_PLATFORMPLUGIN
+ const PlatformPlugin *f = Factory::platformPlugin();
+ if (f) {
+ f->notification(notificationName, text, actions, receiver, actionSlot);
+ }
+#else
+ Q_UNUSED(notificationName);
+ Q_UNUSED(text);
+ Q_UNUSED(actions);
+ Q_UNUSED(receiver);
+ Q_UNUSED(actionSlot);
+#endif //QT_NO_PHONON_PLATFORMPLUGIN
+}
+
+QString Platform::applicationName()
+{
+#ifndef QT_NO_PHONON_PLATFORMPLUGIN
+ const PlatformPlugin *f = Factory::platformPlugin();
+ if (f) {
+ return f->applicationName();
+ }
+#endif //QT_NO_PHONON_PLATFORMPLUGIN
+ QString ret = QCoreApplication::applicationName();
+ if (ret.isEmpty())
+ ret = QCoreApplication::applicationFilePath();
+ return ret;
+}
+
+QList<QPair<QByteArray, QString> > Platform::deviceAccessListFor(const Phonon::AudioOutputDevice &deviceDesc)
+{
+#ifndef QT_NO_PHONON_PLATFORMPLUGIN
+ const PlatformPlugin *f = Factory::platformPlugin();
+ if (f) {
+ return f->deviceAccessListFor(deviceDesc);
+ }
+#endif //QT_NO_PHONON_PLATFORMPLUGIN
+ return QList<QPair<QByteArray, QString> >();
+}
+
+} // namespace Phonon
+
+QT_END_NAMESPACE