2017-04-25 22:17:36 +02:00
|
|
|
#include "notifications.hpp"
|
|
|
|
|
2019-05-14 15:43:19 +02:00
|
|
|
#include "systemnotification.h"
|
2017-04-25 22:17:36 +02:00
|
|
|
#include "mainwindow.hpp"
|
2017-06-22 17:41:29 +02:00
|
|
|
#include "ui_mainwindow.h"
|
2019-05-13 19:28:44 +02:00
|
|
|
#include <QApplication>
|
2019-05-14 17:12:09 +02:00
|
|
|
#include <QMediaPlayer>
|
2017-04-25 22:17:36 +02:00
|
|
|
|
2017-05-09 17:26:00 +02:00
|
|
|
void notifications::notify(QString title, QString body, QSystemTrayIcon::MessageIcon icon) {
|
2017-06-22 17:41:29 +02:00
|
|
|
if (!MainWindow::inst() || !MainWindow::inst()->valid()) return;
|
|
|
|
notifyNolog(title, body, icon);
|
|
|
|
MainWindow::inst()->ui->logBox->addItem(title + ": " + body);
|
|
|
|
}
|
|
|
|
|
|
|
|
void notifications::notifyNolog(QString title, QString body, QSystemTrayIcon::MessageIcon icon) {
|
2019-05-13 19:28:44 +02:00
|
|
|
|
|
|
|
if(icon == QSystemTrayIcon::Critical) {
|
|
|
|
QApplication::alert(MainWindow::inst());
|
|
|
|
}
|
|
|
|
|
2019-05-14 15:43:19 +02:00
|
|
|
SystemNotification().sendMessage(body, title, icon);
|
2019-05-13 19:17:09 +02:00
|
|
|
|
2017-05-09 17:26:00 +02:00
|
|
|
MainWindow::inst()->statusBar()->showMessage(title + ": " + body);
|
2017-04-25 22:17:36 +02:00
|
|
|
}
|
2019-05-14 17:12:09 +02:00
|
|
|
|
|
|
|
void notifications::playSound(notifications::Sound soundType) {
|
|
|
|
QMediaPlayer*mediaPlayer = new QMediaPlayer(MainWindow::inst());
|
|
|
|
|
|
|
|
switch (soundType) {
|
|
|
|
case notifications::Sound::CAPTURE:
|
|
|
|
mediaPlayer->setMedia(QUrl("qrc:/capturesound.wav"));
|
|
|
|
break;
|
|
|
|
|
|
|
|
case notifications::Sound::SUCCESS:
|
|
|
|
mediaPlayer->setMedia(QUrl("qrc:/successsound.wav"));
|
|
|
|
break;
|
|
|
|
|
|
|
|
case notifications::Sound::ERROR:
|
|
|
|
mediaPlayer->setMedia(QUrl("qrc:/errorsound.wav"));
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
mediaPlayer->setVolume(25);
|
|
|
|
mediaPlayer->play();
|
|
|
|
|
|
|
|
if(mediaPlayer->error() != QMediaPlayer::NoError && mediaPlayer->error() != QMediaPlayer::ServiceMissingError)
|
|
|
|
notifications::notify(QString::number(mediaPlayer->error()), mediaPlayer->errorString(), QSystemTrayIcon::Warning);
|
|
|
|
|
|
|
|
}
|