3#include <QLoggingCategory>
4#include "OperatePlayer.h"
5#include "BackendPlayer.h"
9static Q_LOGGING_CATEGORY(log,
"Player.Operate")
14 qDebug(log) << Q_FUNC_INFO;
17COperatePlayer::~COperatePlayer()
19 qDebug(log) << Q_FUNC_INFO;
29 qDebug(log) << Q_FUNC_INFO;
37 m_Player.SetParameter(&m_Parameters);
47int COperatePlayer::InitialMenu()
53 m_pRecord =
new QAction(
54 QIcon::fromTheme(
"media-record"), tr(
"Record"), &m_Menu);
55 m_pRecord->setCheckable(
true);
56 check = connect(m_pRecord, SIGNAL(toggled(
bool)),
57 this, SLOT(slotRecord(
bool)));
60 m_pRecordPause =
new QAction(
61 QIcon::fromTheme(
"media-playback-pause"), tr(
"Record pause"), &m_Menu);
62 m_pRecordPause->setCheckable(
true);
63 m_pRecordPause->setEnabled(
false);
64 check = connect(m_pRecordPause, SIGNAL(toggled(
bool)),
65 this, SIGNAL(sigRecordPause(
bool)));
69 m_pScreenShot =
new QAction(QIcon::fromTheme(
"camera-photo"),
70 tr(
"ScreenShot"), &m_Menu);
71 check = connect(m_pScreenShot, SIGNAL(triggered()),
72 this, SLOT(slotScreenShot()));
75#ifdef HAVE_QVideoWidget
76 m_Menu.addAction(m_Player.m_paStart);
78 m_Player.m_paStart, &QAction::toggle);
80 check = connect(m_Player.m_paStart, SIGNAL(toggled(
bool)),
81 this, SIGNAL(sigStart(
bool)));
84 m_Menu.addAction(m_Player.m_paPause);
85 check = connect(m_Player.m_paPause, SIGNAL(toggled(
bool)),
86 this, SIGNAL(sigPause(
bool)));
90 m_Menu.addAction(m_Player.m_paRecord);
91 check = connect(m_Player.m_paRecord, SIGNAL(toggled(
bool)),
92 m_pRecord ,SIGNAL(toggled(
bool)));
95 m_Menu.addAction(m_Player.m_paRecordPause);
96 check = connect(m_Player.m_paRecordPause, SIGNAL(toggled(
bool)),
97 m_pRecordPause, SIGNAL(toggled(
bool)));
101 m_Menu.addAction(m_Player.m_paScreenShot);
102 check = connect(m_Player.m_paScreenShot, &QAction::triggered,
103 m_pScreenShot, &QAction::triggered);
106 m_Menu.addSeparator();
108 m_Menu.addAction(m_Player.m_paSettings);
109 check = connect(m_Player.m_paSettings, &QAction::triggered,
110 m_pActionSettings, &QAction::triggered);
115 m_Player.SetParameter(&m_Parameters);
118 check = connect(&m_Player, SIGNAL(sigChangePosition(qint64)),
119 this, SIGNAL(sigChangePosition(qint64)));
122 QAction* pStart = m_Menu.addAction(
123 QIcon::fromTheme(
"media-playback-start"), tr(
"Start"));
124 pStart->setCheckable(
true);
126 pStart, &QAction::toggle);
128 check = connect(pStart, &QAction::toggled,
129 this, [&](
bool checked){
130 QAction* p = qobject_cast<QAction*>(sender());
133 p->setIcon(QIcon::fromTheme(
"media-playback-stop"));
134 p->setText(tr(
"Stop"));
135 m_pPause->setEnabled(
true);
136 m_pPause->setChecked(
false);
137 m_pScreenShot->setEnabled(
true);
139 m_pRecord->setEnabled(
true);
140 m_pRecord->setChecked(
false);
141 m_pRecordPause->setEnabled(
true);
142 m_pRecordPause->setChecked(
false);
145 p->setIcon(QIcon::fromTheme(
"media-playback-start"));
146 p->setText(tr(
"Start"));
147 m_pPause->setEnabled(
false);
148 m_pPause->setChecked(
false);
149 m_pScreenShot->setEnabled(
false);
151 m_pRecord->setEnabled(
false);
152 m_pRecord->setChecked(
false);
153 m_pRecordPause->setEnabled(
false);
154 m_pRecordPause->setChecked(
false);
157 emit sigStart(checked);
160 m_pPause = m_Menu.addAction(
161 QIcon::fromTheme(
"media-playback-pause"), tr(
"pause"));
162 m_pPause->setCheckable(
true);
163 check = connect(m_pPause, SIGNAL(toggled(
bool)),
164 this, SIGNAL(sigPause(
bool)));
167 m_Menu.addAction(m_pRecord);
168 m_Menu.addAction(m_pRecordPause);
170 m_Menu.addAction(m_pScreenShot);
171 m_Menu.addSeparator();
172 m_Menu.addAction(GetActionSettings());
179 qDebug(log) << Q_FUNC_INFO;
187 QDialog* pDlg =
new CDlgPlayer(&m_Parameters, parent);
197void COperatePlayer::slotScreenShot()
199 emit sigScreenShot();
208QVideoSink *COperatePlayer::GetVideoSink()
210 return m_Player.videoSink();
213void COperatePlayer::slotPositionChanged(qint64 pos, qint64 duration)
215 m_Player.slotPositionChanged(pos, duration);
218void COperatePlayer::slotPlaybackError(
219 QMediaPlayer::Error error,
const QString &errorString)
221 if(m_Player.m_paStart->isChecked())
222 m_Player.m_paStart->setChecked(
false);
225void COperatePlayer::slotPlaybackStateChanged(QMediaPlayer::PlaybackState state)
227 if(QMediaPlayer::StoppedState == state
228 && m_Player.m_paStart->isChecked())
229 m_Player.m_paStart->setChecked(
false);
233void COperatePlayer::slotRecordStateChanged(QMediaRecorder::RecorderState state)
235 if(QMediaRecorder::StoppedState == state
236 && m_Player.m_paRecord->isCheckable())
237 m_Player.m_paRecord->setChecked(
false);
Remote desktop operate interface.
virtual int SetParameter(CParameterDesktop *p)
Set parameter pointer.
virtual int Initial() override
Initial parameters and resource.
virtual int Clean() override
Clean parameters and resource.
virtual int Clean() override
Clean parameters and resource.
virtual const QString Description() override
[The name of the desktop operate]
virtual CBackend * InstanceBackend() override
New CBackend.
virtual int Initial() override
Initial parameters and resource.
virtual const qint16 Version() const override
[The description of the desktop operate]
virtual QDialog * OnOpenDialogSettings(QWidget *parent) override
Open settgins dialog.
void sigRunning()
Start success signal.
virtual QWidget * GetViewer()=0
Get Viewer.
void sigViewerFocusIn(QWidget *pView)
The view is focus.
virtual const QString Description()
Description.