]> git.sur5r.net Git - minitube/blobdiff - src/snapshotpreview.cpp
New upstream version 3.1
[minitube] / src / snapshotpreview.cpp
index 36626483a4f9a96953fcf7e0946b9185d952269d..373c0d64875627e230ec31e109ea0c88c2b91d91 100644 (file)
@@ -21,14 +21,17 @@ $END_LICENSE */
 #include "snapshotpreview.h"
 #include "mainwindow.h"
 
-SnapshotPreview::SnapshotPreview(QWidget *parent) : QWidget(parent),
-#ifdef APP_PHONON
-    mediaObject(0),
-    audioOutput(0)
+#ifdef MEDIA_QTAV
+#include "mediaqtav.h"
 #endif
-    {
+#ifdef MEDIA_MPV
+#include "mediampv.h"
+#endif
+
+SnapshotPreview::SnapshotPreview(QWidget *parent) : QWidget(parent), mediaObject(nullptr) {
+    setWindowFlags(Qt::FramelessWindowHint | Qt::NoDropShadowWindowHint |
+                   Qt::WindowTransparentForInput | Qt::WindowDoesNotAcceptFocus);
     setAttribute(Qt::WA_ShowWithoutActivating);
-    setWindowFlags(Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
     setAttribute(Qt::WA_StaticContents);
     setAttribute(Qt::WA_OpaquePaintEvent);
     setAttribute(Qt::WA_NoSystemBackground);
@@ -49,15 +52,29 @@ SnapshotPreview::SnapshotPreview(QWidget *parent) : QWidget(parent),
 }
 
 void SnapshotPreview::start(QWidget *widget, const QPixmap &pixmap, bool soundOnly) {
-#ifdef APP_PHONON
     if (!mediaObject) {
-        mediaObject = new Phonon::MediaObject(this);
-        audioOutput = new Phonon::AudioOutput(Phonon::NotificationCategory, this);
-        Phonon::createPath(mediaObject, audioOutput);
+#ifdef MEDIA_QTAV
+        mediaObject = new MediaQtAV(this);
+#elif defined MEDIA_MPV
+        mediaObject = new MediaMPV(this);
+#else
+        qFatal("No media backend defined");
+#endif
+        if (mediaObject) {
+            mediaObject->setAudioOnly(true);
+            mediaObject->init();
+        }
     }
-    mediaObject->setCurrentSource(QUrl("qrc:///sounds/snapshot.wav"));
-    mediaObject->play();
+
+#ifdef APP_MAC
+    QString soundPath = QCoreApplication::applicationDirPath() + "/../Resources";
+#elif defined PKGDATADIR
+    QString soundPath = QLatin1String(PKGDATADIR) + "/sounds";
+#else
+    QString soundPath = QCoreApplication::applicationDirPath() + "/sounds";
 #endif
+
+    if (mediaObject) mediaObject->play(soundPath + "/snapshot.wav");
     if (soundOnly) return;
 
     resize(pixmap.size());
@@ -79,8 +96,10 @@ void SnapshotPreview::start(QWidget *widget, const QPixmap &pixmap, bool soundOn
     timeLine->start();
 #endif
     timer->start();
-    if (isVisible()) update();
-    else show();
+    if (isVisible())
+        update();
+    else
+        show();
 }
 
 void SnapshotPreview::paintEvent(QPaintEvent *e) {