#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);
}
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());
timeLine->start();
#endif
timer->start();
- if (isVisible()) update();
- else show();
+ if (isVisible())
+ update();
+ else
+ show();
}
void SnapshotPreview::paintEvent(QPaintEvent *e) {