Send: don't open QrCodeScanDialog if no available cameras

This commit is contained in:
tobtoht 2021-07-10 22:53:36 +02:00
parent a88425eb60
commit 1816abc150
No known key found for this signature in database
GPG key ID: 1CADD27F41F45C3C
2 changed files with 7 additions and 5 deletions

View file

@ -13,6 +13,7 @@
#ifdef WITH_SCANNER
#include "qrcode_scanner/QrCodeScanDialog.h"
#include <QtMultimedia/QCameraInfo>
#endif
SendWidget::SendWidget(QSharedPointer<AppContext> ctx, QWidget *parent)
@ -112,6 +113,12 @@ void SendWidget::fillAddress(const QString &address) {
void SendWidget::scanClicked() {
#ifdef WITH_SCANNER
auto cameras = QCameraInfo::availableCameras();
if (cameras.count() < 1) {
QMessageBox::warning(this, "QR code scanner", "No available cameras found.");
return;
}
auto *dialog = new QrCodeScanDialog(this);
dialog->exec();
ui->lineAddress->setText(dialog->decodedString);

View file

@ -19,11 +19,6 @@ QrCodeScanDialog::QrCodeScanDialog(QWidget *parent)
ui->icon_warning->setPixmap(pixmap.scaledToWidth(32, Qt::SmoothTransformation));
m_cameras = QCameraInfo::availableCameras();
if (m_cameras.count() < 1) {
QMessageBox::warning(parent, "QR code scanner", "No available cameras found.");
this->close();
return;
}
for (const auto &camera : m_cameras) {
#ifdef Q_OS_WIN