fix: port Konsole to Redox Qt surface
This commit is contained in:
@@ -12,7 +12,9 @@
|
||||
#include <cstdio>
|
||||
|
||||
// Qt
|
||||
#if HAVE_QTMULTIMEDIA
|
||||
#include <QAudioOutput>
|
||||
#endif
|
||||
#include <QBuffer>
|
||||
#include <QEvent>
|
||||
#include <QKeyEvent>
|
||||
@@ -70,7 +72,9 @@ Vt102Emulation::Vt102Emulation()
|
||||
, _pendingSessionAttributesUpdates(QHash<int, QString>())
|
||||
, _sessionAttributesUpdateTimer(new QTimer(this))
|
||||
, _reportFocusEvents(false)
|
||||
#if HAVE_QTMULTIMEDIA
|
||||
, player(nullptr)
|
||||
#endif
|
||||
{
|
||||
_sessionAttributesUpdateTimer->setSingleShot(true);
|
||||
QObject::connect(_sessionAttributesUpdateTimer, &QTimer::timeout, this, &Konsole::Vt102Emulation::updateSessionAttributes);
|
||||
@@ -1295,6 +1299,7 @@ void Vt102Emulation::processSessionAttributeRequest(const int tokenSize, const u
|
||||
}
|
||||
}
|
||||
if (inlineMedia) {
|
||||
#if HAVE_QTMULTIMEDIA
|
||||
if (player == nullptr) {
|
||||
player = new QMediaPlayer(this);
|
||||
player->setAudioOutput(new QAudioOutput(player));
|
||||
@@ -1306,6 +1311,7 @@ void Vt102Emulation::processSessionAttributeRequest(const int tokenSize, const u
|
||||
delete (QIODevice *)(player->sourceDevice());
|
||||
player->setSourceDevice(buffer);
|
||||
player->play();
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
if (!inlineImage) {
|
||||
@@ -1333,6 +1339,7 @@ void Vt102Emulation::processSessionAttributeRequest(const int tokenSize, const u
|
||||
_sessionAttributesUpdateTimer->start(20);
|
||||
}
|
||||
|
||||
#if HAVE_QTMULTIMEDIA
|
||||
void Vt102Emulation::deletePlayer(QMediaPlayer::MediaStatus mediaStatus)
|
||||
{
|
||||
if (mediaStatus == QMediaPlayer::EndOfMedia || mediaStatus == QMediaPlayer::InvalidMedia) {
|
||||
@@ -1342,6 +1349,7 @@ void Vt102Emulation::deletePlayer(QMediaPlayer::MediaStatus mediaStatus)
|
||||
player = nullptr;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void Vt102Emulation::updateSessionAttributes()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user