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;
 
 
   46int COperatePlayer::InitialMenu()
 
   52    m_pRecord = 
new QAction(
 
   53        QIcon::fromTheme(
"media-record"), tr(
"Record"), &m_Menu);
 
   54    m_pRecord->setCheckable(
true);
 
   55    check = connect(m_pRecord, SIGNAL(toggled(
bool)),
 
   56                    this, SLOT(slotRecord(
bool)));
 
   59    m_pRecordPause = 
new QAction(
 
   60        QIcon::fromTheme(
"media-playback-pause"), tr(
"Record pause"), &m_Menu);
 
   61    m_pRecordPause->setCheckable(
true);
 
   62    m_pRecordPause->setEnabled(
false);
 
   63    check = connect(m_pRecordPause, SIGNAL(toggled(
bool)),
 
   64                    this, SIGNAL(sigRecordPause(
bool)));
 
   68    m_pScreenShot = 
new QAction(QIcon::fromTheme(
"camera-photo"),
 
   69                                tr(
"ScreenShot"), &m_Menu);
 
   70    check = connect(m_pScreenShot, SIGNAL(triggered()),
 
   71                    this, SLOT(slotScreenShot()));
 
   74#ifdef HAVE_QVideoWidget 
   75    m_Menu.addAction(m_Player.m_paStart);
 
   77                    m_Player.m_paStart, &QAction::toggle);
 
   79    check = connect(m_Player.m_paStart, SIGNAL(toggled(
bool)),
 
   80                    this, SIGNAL(sigStart(
bool)));
 
   83    m_Menu.addAction(m_Player.m_paPause);
 
   84    check = connect(m_Player.m_paPause, SIGNAL(toggled(
bool)),
 
   85                    this, SIGNAL(sigPause(
bool)));
 
   89    m_Menu.addAction(m_Player.m_paRecord);
 
   90    check = connect(m_Player.m_paRecord, SIGNAL(toggled(
bool)),
 
   91                    m_pRecord ,SIGNAL(toggled(
bool)));
 
   94    m_Menu.addAction(m_Player.m_paRecordPause);
 
   95    check = connect(m_Player.m_paRecordPause, SIGNAL(toggled(
bool)),
 
   96                    m_pRecordPause, SIGNAL(toggled(
bool)));
 
  100    m_Menu.addAction(m_Player.m_paScreenShot);
 
  101    check = connect(m_Player.m_paScreenShot, &QAction::triggered,
 
  102                    m_pScreenShot, &QAction::triggered);
 
  105    m_Menu.addSeparator();
 
  107    m_Menu.addAction(m_Player.m_paSettings);
 
  108    check = connect(m_Player.m_paSettings, &QAction::triggered,
 
  109                    m_pActionSettings, &QAction::triggered);
 
  114                        m_Player.SetParameter(&m_Parameters);
 
  117    check = connect(&m_Player, SIGNAL(sigChangePosition(qint64)),
 
  118                    this, SIGNAL(sigChangePosition(qint64)));
 
  121    QAction* pStart = m_Menu.addAction(
 
  122        QIcon::fromTheme(
"media-playback-start"), tr(
"Start"));
 
  123    pStart->setCheckable(
true);
 
  124    check = connect(
this, &CConnecterPlayer::sigRunning,
 
  125                    pStart, &QAction::toggle);
 
  127    check = connect(pStart, &QAction::toggled,
 
  128                    this, [&](
bool checked){
 
  129                        QAction* p = qobject_cast<QAction*>(sender());
 
  132                            p->setIcon(QIcon::fromTheme(
"media-playback-stop"));
 
  133                            p->setText(tr(
"Stop"));
 
  134                            m_pPause->setEnabled(
true);
 
  135                            m_pPause->setChecked(
false);
 
  136                            m_pScreenShot->setEnabled(
true);
 
  138                            m_pRecord->setEnabled(
true);
 
  139                            m_pRecord->setChecked(
false);
 
  140                            m_pRecordPause->setEnabled(
true);
 
  141                            m_pRecordPause->setChecked(
false);
 
  144                            p->setIcon(QIcon::fromTheme(
"media-playback-start"));
 
  145                            p->setText(tr(
"Start"));
 
  146                            m_pPause->setEnabled(
false);
 
  147                            m_pPause->setChecked(
false);
 
  148                            m_pScreenShot->setEnabled(
false);
 
  150                            m_pRecord->setEnabled(
false);
 
  151                            m_pRecord->setChecked(
false);
 
  152                            m_pRecordPause->setEnabled(
false);
 
  153                            m_pRecordPause->setChecked(
false);
 
  156                        emit sigStart(checked);
 
  159    m_pPause = m_Menu.addAction(
 
  160        QIcon::fromTheme(
"media-playback-pause"), tr(
"pause"));
 
  161    m_pPause->setCheckable(
true);
 
  162    check = connect(m_pPause, SIGNAL(toggled(
bool)),
 
  163                    this, SIGNAL(sigPause(
bool)));
 
  166    m_Menu.addAction(m_pRecord);
 
  167    m_Menu.addAction(m_pRecordPause);
 
  169    m_Menu.addAction(m_pScreenShot);
 
  170    m_Menu.addSeparator();
 
  171    m_Menu.addAction(m_pActiveSettings);
 
  178    qDebug(log) << Q_FUNC_INFO;
 
 
  186    QDialog* pDlg = 
new CDlgPlayer(&m_Parameters, parent);
 
 
  196void COperatePlayer::slotScreenShot()
 
  198    emit sigScreenShot();
 
  207QVideoSink *COperatePlayer::GetVideoSink()
 
  209    return m_Player.videoSink();
 
  212void COperatePlayer::slotPositionChanged(qint64 pos, qint64 duration)
 
  214    m_Player.slotPositionChanged(pos, duration);
 
  217void COperatePlayer::slotPlaybackError(
 
  218    QMediaPlayer::Error error, 
const QString &errorString)
 
  220    if(m_Player.m_paStart->isChecked())
 
  221        m_Player.m_paStart->setChecked(
false);
 
  224void COperatePlayer::slotPlaybackStateChanged(QMediaPlayer::PlaybackState state)
 
  226    if(QMediaPlayer::StoppedState == state
 
  227        && m_Player.m_paStart->isChecked())
 
  228        m_Player.m_paStart->setChecked(
false);
 
  232void COperatePlayer::slotRecordStateChanged(QMediaRecorder::RecorderState state)
 
  234    if(QMediaRecorder::StoppedState == state
 
  235        && m_Player.m_paRecord->isCheckable())
 
  236        m_Player.m_paRecord->setChecked(
false);
 
Remote desktop operate interface.
 
virtual int SetParameter(CParameterBase *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 CBackend * InstanceBackend() override
New CBackend.
 
virtual int Initial() override
Initial parameters and resource.
 
virtual const qint16 Version() const override
Version.
 
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.