Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/avs_app.h
T

67 lines
1.3 KiB
C++
Executable File

#pragma once
#include <Plugins/AudioVideoManagement/Shared/avmshared_export.h>
#include <QObject>
#include <QRect>
#include <boost/optional.hpp>
namespace LtsMultiMonitor
{
class FullscreenVideoDummyWidget;
}
namespace AudioVideoManagement
{
class AvaControl;
class AVMSHARED_EXPORT AvsApp : public QObject
{
Q_OBJECT
public:
AvsApp(const QString &dialogId, AvaControl *avaControl);
~AvsApp() override;
void show(const QVector<QWidget *> irreplacableWidgets = {});
void show(const QRect &geometry);
void hide(bool andClose = false);
bool isVisible() const;
bool isActive() const;
void releaseStreams();
signals:
void signalVisible();
void signalPause();
void signalResume();
private slots:
void onWidgetPlaced(const QRect &geometry);
void onPlacementHelperDestroyed();
void onHideVideo();
void onShowVideo();
private:
void showAvsDialog(const QRect &geometry);
void hideAvsDialog();
void hideAndPauseAvsDialog();
void showAndResumeAvsDialog();
static const QString ALL_STREAMS;
const QString m_dialogId;
AvaControl *m_avaControl;
LtsMultiMonitor::FullscreenVideoDummyWidget *m_screenPlacementHelper{nullptr};
boost::optional<QRect> m_presetGeometry;
bool m_visible;
};
}