32 qDebug(log) << Q_FUNC_INFO;
34 m_pWidget =
new QVideoWidget();
36 qCritical(log) <<
"new QVideoWidget() fail";
39 m_pWidget->setFocusPolicy(Qt::WheelFocus);
40 m_pWidget->installEventFilter(
this);
47 m_Menu.setTitle(szTitle);
48 m_Menu.setToolTip(szTitle);
49 m_Menu.setStatusTip(szTitle);
50 m_Menu.setWhatsThis(szTitle);
51 m_Menu.setIcon(plugin->Icon());
52 check = m_Menu.addAction(
53 QIcon::fromTheme(
"media-playback-start"), tr(
"Start"),
54 this, SLOT(slotStart()));
56 check = m_Menu.addAction(
57 QIcon::fromTheme(
"media-playback-stop"), tr(
"Stop"),
58 this, SLOT(slotStop()));
62 &m_ScreenCapture, &QScreenCapture::errorOccurred,
63 this, [&](QScreenCapture::Error error,
const QString &errorString){
64 qDebug(log) <<
"Capture screen error occurred:" << error << errorString;
70 &m_WindowCapture, &QWindowCapture::errorOccurred,
71 this, [&](QWindowCapture::Error error,
const QString &errorString){
72 qDebug(log) <<
"Capture windows error occurred:" << error << errorString;
79 &m_Recorder, &QMediaRecorder::errorOccurred,
80 this, [&](QMediaRecorder::Error error,
const QString &errorString) {
81 qDebug(log) <<
"Recorder error occurred:" << error << errorString;
87 &m_Recorder, &QMediaRecorder::recorderStateChanged,
88 this, [&](QMediaRecorder::RecorderState state){
89 qDebug(log) <<
"Recorder state changed:" << state;
90 if(QMediaRecorder::StoppedState == state)
91 switch(m_Parameter.m_Record.GetEndAction())
93 case CParameterRecord::ENDACTION::OpenFile:
94 QDesktopServices::openUrl(QUrl::fromLocalFile(m_szRecordFile));
96 case CParameterRecord::ENDACTION::OpenFolder: {
97 QFileInfo fi(m_szRecordFile);
98 QDesktopServices::openUrl(QUrl::fromLocalFile(fi.absolutePath()));
107 &m_Recorder, &QMediaRecorder::actualLocationChanged,
108 this, [&](
const QUrl &location){
109 qInfo(log) <<
"Recorder actual location changed:" << location;
110 m_szRecordFile = location.toLocalFile();
114 &m_ImageCapture, &QImageCapture::errorOccurred,
115 this, [&](
int id, QImageCapture::Error error,
const QString &errorString) {
116 qDebug(log) <<
"Capture image error occurred:" <<
id << error << errorString;
122 &m_ImageCapture, &QImageCapture::imageCaptured,
123 this, [&](
int id,
const QImage &image){
124 qDebug(log) <<
"Capture image:" <<
id << image;
125 QString szFile = m_Parameter.m_Record.GetImageFile(
true);
126 if(!image.save(szFile,
"PNG"))
128 qCritical(log) <<
"Capture image save to file fail." << szFile;
132 qDebug(log) <<
"Capture image to file:" << szFile;
133 switch(m_Parameter.m_Record.GetEndAction())
135 case CParameterRecord::ENDACTION::OpenFile: {
136 bool bRet = QDesktopServices::openUrl(QUrl::fromLocalFile(szFile));
138 qCritical(log) <<
"Fail: Open capture image file" << szFile;
141 case CParameterRecord::ENDACTION::OpenFolder: {
142 QFileInfo fi(szFile);
143 QDesktopServices::openUrl(QUrl::fromLocalFile(fi.absolutePath()));