玉兔远程控制 0.1.0-bate5
载入中...
搜索中...
未找到
DlgScreenCapture.cpp
1#include "DlgScreenCapture.h"
2#include "ui_DlgScreenCapture.h"
3
4CDlgScreenCapture::CDlgScreenCapture(const QWebEngineDesktopMediaRequest request, QWidget *parent)
5 : QDialog(parent)
6 , ui(new Ui::CDlgScreenCapture)
7{
8 ui->setupUi(this);
9 for(int i = 0; i < request.screensModel()->rowCount(); i++) {
10 QModelIndex index;
11 auto model = request.screensModel();
12 index = model->index(i, 0);
13 ui->cbScreen->addItem(QString::number(i) + ": " + model->data(index).toString());
14 }
15 for(int w = 0; w < request.windowsModel()->rowCount(); w++) {
16 QModelIndex index;
17 auto model = request.windowsModel();
18 index = model->index(w, 0);
19 ui->cbWindow->addItem(QString::number(w) + ": " + model->data(index).toString());
20 }
21
22 if(ui->cbScreen->count()> 0)
23 ui->rbScreens->setChecked(true);
24}
25
26CDlgScreenCapture::~CDlgScreenCapture()
27{
28 delete ui;
29}
30
31void CDlgScreenCapture::on_cbScreen_currentIndexChanged(int index)
32{
33 ui->rbScreens->setChecked(true);
34}
35
36void CDlgScreenCapture::on_cbWindow_currentIndexChanged(int index)
37{
38 ui->rbWindows->setChecked(true);
39}
40
41int CDlgScreenCapture::GetIndex(Type &type, int &id)
42{
43 if(ui->rbScreens->isChecked()) {
44 type = Type::Screen;
45 id = ui->cbScreen->currentIndex();
46 }
47 if(ui->rbWindows->isChecked()) {
48 type = Type::Window;
49 id = ui->cbWindow->currentIndex();
50 }
51 if(id < 0)
52 return -1;
53 return 0;
54}