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

Method CBackendDesktop

Src/BackendDesktop.cpp:43–116  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41int g_QMessageBox_Icon = qRegisterMetaType<QMessageBox::Icon>("QMessageBox::Icon");
42
43CBackendDesktop::CBackendDesktop(COperateDesktop *pOperate)
44 : CBackend(pOperate)
45#if HAVE_QT6_RECORD
46 , m_pParameterRecord(nullptr)
47 , m_VideoFrameInput(this)
48 , m_AudioBufferInput(this)
49 , m_AudioBufferOutput(this)
50#endif
51{
52 qDebug(log) << Q_FUNC_INFO;
53 if(pOperate) {
54 CFrmScroll* pScroll = qobject_cast<CFrmScroll*>(pOperate->GetViewer());
55 if(pScroll) {
56 CFrmViewer* pView = pScroll->GetViewer();
57 if(pView)
58 SetViewer(pView);
59 else {
60 QString szErr = pOperate->metaObject()->className();
61 szErr += "::GetViewer() is not CFrmViewer";
62 qWarning(log) << szErr.toStdString().c_str();
63 }
64 } else {
65 QString szErr = pOperate->metaObject()->className();
66 szErr += "::GetViewer() is not CFrmScroll";
67 qWarning(log) << szErr.toStdString().c_str();
68 }
69 SetConnect(pOperate);
70 }
71
72#if HAVE_QT6_RECORD
73 bool check = connect(
74 &m_Recorder, &QMediaRecorder::errorOccurred,
75 this, [&](QMediaRecorder::Error error, const QString &errorString) {
76 qDebug(log) << "Recorder error occurred:" << error << errorString;
77 slotRecord(false);
78 emit sigError(error, errorString);
79 });
80 Q_ASSERT(check);
81 check = connect(
82 &m_Recorder, &QMediaRecorder::recorderStateChanged,
83 this, [&](QMediaRecorder::RecorderState state){
84 qDebug(log) << "Recorder state changed:" << state;
85 if(QMediaRecorder::StoppedState == state)
86 {
87 slotRecord(false);
88 if(m_pParameterRecord) {
89 qDebug(log) << "End action:"
90 << m_pParameterRecord->GetEndAction()
91 << m_Recorder.actualLocation();
92 switch(m_pParameterRecord->GetEndAction())
93 {
94 case CParameterRecord::ENDACTION::OpenFile:
95 QDesktopServices::openUrl(m_Recorder.actualLocation());
96 break;
97 case CParameterRecord::ENDACTION::OpenFolder: {
98 QFileInfo fi(m_Recorder.actualLocation().toLocalFile());
99 QDesktopServices::openUrl(
100 QUrl::fromLocalFile(fi.absolutePath()));

Callers

nothing calls this directly

Calls 2

GetEndActionMethod · 0.80
GetViewerMethod · 0.45

Tested by

no test coverage detected