MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / slotRecord

Method slotRecord

Plugins/WebBrowser/FrmWebBrowser.cpp:1206–1247  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1204}
1205
1206void CFrmWebBrowser::slotRecord()
1207{
1208 if(m_pRecord->isChecked()) {
1209 m_pRecord->setText(tr("Stop record"));
1210 m_pRecord->setIcon(QIcon::fromTheme("media-stop"));
1211
1212 Q_ASSERT(!m_pMultimediaRecord);
1213 // Note: It automatically releases memory when exiting.
1214 // See: CMultimediaRecordThread::CMultimediaRecordThread()
1215 m_pMultimediaRecord = new CMultimediaRecordThread(m_pPara);
1216 if(m_pMultimediaRecord) {
1217 connect(m_pMultimediaRecord, &CMultimediaRecordThread::finished,
1218 this, [this]() {
1219 m_pMultimediaRecord = nullptr;
1220 if(m_pRecord->isChecked()) {
1221 m_pRecord->activate(QAction::Trigger);
1222 emit sigError(RV::FailRecordPage, tr("Fail record web page"));
1223 }
1224 });
1225 m_pMultimediaRecord->start();
1226 }
1227
1228 // modify interval
1229 qreal rate = m_pPara->m_Record.GetVideoFrameRate();
1230 if(rate <= 0)
1231 rate = 24;
1232 m_tmRecord.start(qreal(1000) / rate);
1233 emit sigInformation(tr("Start record web page"));
1234 } else {
1235 m_pRecord->setIcon(QIcon::fromTheme("media-record"));
1236 m_pRecord->setText(tr("Record"));
1237 m_tmRecord.stop();
1238 if(m_pMultimediaRecord) {
1239 QMetaObject::invokeMethod(m_pMultimediaRecord,
1240 "slotQuit",
1241 Qt::AutoConnection);
1242 m_pMultimediaRecord = nullptr;
1243 emit sigInformation(tr("Record web page is stopped"));
1244 }
1245 }
1246 m_pRecord->setStatusTip(m_pRecord->text());
1247}
1248
1249void CFrmWebBrowser::slotRecordTimeout()
1250{

Callers

nothing calls this directly

Calls 3

startMethod · 0.80
GetVideoFrameRateMethod · 0.80
stopMethod · 0.80

Tested by

no test coverage detected