Skip to content

Commit

Permalink
cleanup: Slight improvement of C++ code.
Browse files Browse the repository at this point in the history
  • Loading branch information
iphydf committed Feb 6, 2024
1 parent f225bb7 commit 55d9144
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 69 deletions.
12 changes: 3 additions & 9 deletions users/iphydf/camera/camera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ Q_DECLARE_METATYPE(QCameraInfo)
Camera::Camera(QWidget *parent)
: QMainWindow(parent),
ui(new Ui::Camera),
camera(0),
imageCapture(0),
mediaRecorder(0),
camera(nullptr),
imageCapture(nullptr),
mediaRecorder(nullptr),
isCapturingImage(false),
applicationExiting(false) {
ui->setupUi(this);
Expand Down Expand Up @@ -180,7 +180,6 @@ void Camera::updateRecordTime() {
}

void Camera::processCapturedImage(int requestId, const QImage &img) {
Q_UNUSED(requestId);
QImage scaledImage =
img.scaled(ui->viewfinder->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);

Expand Down Expand Up @@ -285,8 +284,6 @@ void Camera::takeImage() {

void Camera::displayCaptureError(int id, const QCameraImageCapture::Error error,
const QString &errorString) {
Q_UNUSED(id);
Q_UNUSED(error);
QMessageBox::warning(this, tr("Image Capture Error"), errorString);
isCapturingImage = false;
}
Expand Down Expand Up @@ -363,9 +360,6 @@ void Camera::displayCapturedImage() { ui->stackedWidget->setCurrentIndex(1); }
void Camera::readyForCapture(bool ready) { ui->takeImageButton->setEnabled(ready); }

void Camera::imageSaved(int id, const QString &fileName) {
Q_UNUSED(id);
Q_UNUSED(fileName);

isCapturingImage = false;
if (applicationExiting) close();
}
Expand Down
10 changes: 5 additions & 5 deletions users/iphydf/camera/camera.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ class Camera : public QMainWindow {
Q_OBJECT

public:
Camera(QWidget *parent = 0);
~Camera();
Camera(QWidget *parent = nullptr);
~Camera() override;

private slots:
void setCamera(const QCameraInfo &cameraInfo);
Expand Down Expand Up @@ -100,9 +100,9 @@ class Camera : public QMainWindow {
void imageSaved(int id, const QString &fileName);

protected:
void keyPressEvent(QKeyEvent *event);
void keyReleaseEvent(QKeyEvent *event);
void closeEvent(QCloseEvent *event);
void keyPressEvent(QKeyEvent *event) override;
void keyReleaseEvent(QKeyEvent *event) override;
void closeEvent(QCloseEvent *event) override;

private:
Ui::Camera *ui;
Expand Down
6 changes: 3 additions & 3 deletions users/iphydf/camera/imagesettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ class ImageSettings : public QDialog {
Q_OBJECT

public:
ImageSettings(QCameraImageCapture *imageCapture, QWidget *parent = 0);
~ImageSettings();
ImageSettings(QCameraImageCapture *imageCapture, QWidget *parent = nullptr);
~ImageSettings() override;

QAudioEncoderSettings audioSettings() const;
void setAudioSettings(const QAudioEncoderSettings &settings);
Expand All @@ -70,7 +70,7 @@ class ImageSettings : public QDialog {
void setFormat(const QString &format);

protected:
void changeEvent(QEvent *e);
void changeEvent(QEvent *e) override;

private:
QVariant boxValue(const QComboBox *box) const;
Expand Down
92 changes: 46 additions & 46 deletions users/iphydf/camera/videosettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,111 +48,111 @@
#include "ui_videosettings.h"

VideoSettings::VideoSettings(QMediaRecorder *mediaRecorder, QWidget *parent)
: QDialog(parent), ui(new Ui::VideoSettingsUi), mediaRecorder(mediaRecorder) {
ui->setupUi(this);
: QDialog(parent), ui_(new Ui::VideoSettingsUi), mediaRecorder_(mediaRecorder) {
ui_->setupUi(this);

// audio codecs
ui->audioCodecBox->addItem(tr("Default audio codec"), QVariant(QString()));
foreach (const QString &codecName, mediaRecorder->supportedAudioCodecs()) {
QString description = mediaRecorder->audioCodecDescription(codecName);
ui->audioCodecBox->addItem(codecName + ": " + description, QVariant(codecName));
ui_->audioCodecBox->addItem(tr("Default audio codec"), QVariant(QString()));
foreach (const QString &codecName, mediaRecorder_->supportedAudioCodecs()) {
QString description = mediaRecorder_->audioCodecDescription(codecName);
ui_->audioCodecBox->addItem(codecName + ": " + description, QVariant(codecName));
}

// sample rate:
foreach (int sampleRate, mediaRecorder->supportedAudioSampleRates()) {
ui->audioSampleRateBox->addItem(QString::number(sampleRate), QVariant(sampleRate));
foreach (int sampleRate, mediaRecorder_->supportedAudioSampleRates()) {
ui_->audioSampleRateBox->addItem(QString::number(sampleRate), QVariant(sampleRate));
}

ui->audioQualitySlider->setRange(0, int(QMultimedia::VeryHighQuality));
ui_->audioQualitySlider->setRange(0, int(QMultimedia::VeryHighQuality));

// video codecs
ui->videoCodecBox->addItem(tr("Default video codec"), QVariant(QString()));
foreach (const QString &codecName, mediaRecorder->supportedVideoCodecs()) {
QString description = mediaRecorder->videoCodecDescription(codecName);
ui->videoCodecBox->addItem(codecName + ": " + description, QVariant(codecName));
ui_->videoCodecBox->addItem(tr("Default video codec"), QVariant(QString()));
foreach (const QString &codecName, mediaRecorder_->supportedVideoCodecs()) {
QString description = mediaRecorder_->videoCodecDescription(codecName);
ui_->videoCodecBox->addItem(codecName + ": " + description, QVariant(codecName));
}

ui->videoQualitySlider->setRange(0, int(QMultimedia::VeryHighQuality));
ui_->videoQualitySlider->setRange(0, int(QMultimedia::VeryHighQuality));

ui->videoResolutionBox->addItem(tr("Default"));
QList<QSize> supportedResolutions = mediaRecorder->supportedResolutions();
ui_->videoResolutionBox->addItem(tr("Default"));
QList<QSize> supportedResolutions = mediaRecorder_->supportedResolutions();
foreach (const QSize &resolution, supportedResolutions) {
ui->videoResolutionBox->addItem(
ui_->videoResolutionBox->addItem(
QString("%1x%2").arg(resolution.width()).arg(resolution.height()), QVariant(resolution));
}

ui->videoFramerateBox->addItem(tr("Default"));
QList<qreal> supportedFrameRates = mediaRecorder->supportedFrameRates();
ui_->videoFramerateBox->addItem(tr("Default"));
QList<qreal> supportedFrameRates = mediaRecorder_->supportedFrameRates();
qreal rate;
foreach (rate, supportedFrameRates) {
QString rateString = QString("%1").arg(rate, 0, 'f', 2);
ui->videoFramerateBox->addItem(rateString, QVariant(rate));
ui_->videoFramerateBox->addItem(rateString, QVariant(rate));
}

// containers
ui->containerFormatBox->addItem(tr("Default container"), QVariant(QString()));
foreach (const QString &format, mediaRecorder->supportedContainers()) {
ui->containerFormatBox->addItem(format + ":" + mediaRecorder->containerDescription(format),
QVariant(format));
ui_->containerFormatBox->addItem(tr("Default container"), QVariant(QString()));
foreach (const QString &format, mediaRecorder_->supportedContainers()) {
ui_->containerFormatBox->addItem(format + ":" + mediaRecorder_->containerDescription(format),
QVariant(format));
}
}

VideoSettings::~VideoSettings() { delete ui; }
VideoSettings::~VideoSettings() { delete ui_; }

void VideoSettings::changeEvent(QEvent *e) {
QDialog::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
ui_->retranslateUi(this);
break;
default:
break;
}
}

QAudioEncoderSettings VideoSettings::audioSettings() const {
QAudioEncoderSettings settings = mediaRecorder->audioSettings();
settings.setCodec(boxValue(ui->audioCodecBox).toString());
settings.setQuality(QMultimedia::EncodingQuality(ui->audioQualitySlider->value()));
settings.setSampleRate(boxValue(ui->audioSampleRateBox).toInt());
QAudioEncoderSettings settings = mediaRecorder_->audioSettings();
settings.setCodec(boxValue(ui_->audioCodecBox).toString());
settings.setQuality(QMultimedia::EncodingQuality(ui_->audioQualitySlider->value()));
settings.setSampleRate(boxValue(ui_->audioSampleRateBox).toInt());
return settings;
}

void VideoSettings::setAudioSettings(const QAudioEncoderSettings &audioSettings) {
selectComboBoxItem(ui->audioCodecBox, QVariant(audioSettings.codec()));
selectComboBoxItem(ui->audioSampleRateBox, QVariant(audioSettings.sampleRate()));
ui->audioQualitySlider->setValue(audioSettings.quality());
selectComboBoxItem(ui_->audioCodecBox, QVariant(audioSettings.codec()));
selectComboBoxItem(ui_->audioSampleRateBox, QVariant(audioSettings.sampleRate()));
ui_->audioQualitySlider->setValue(audioSettings.quality());
}

QVideoEncoderSettings VideoSettings::videoSettings() const {
QVideoEncoderSettings settings = mediaRecorder->videoSettings();
settings.setCodec(boxValue(ui->videoCodecBox).toString());
settings.setQuality(QMultimedia::EncodingQuality(ui->videoQualitySlider->value()));
settings.setResolution(boxValue(ui->videoResolutionBox).toSize());
settings.setFrameRate(boxValue(ui->videoFramerateBox).value<qreal>());
QVideoEncoderSettings settings = mediaRecorder_->videoSettings();
settings.setCodec(boxValue(ui_->videoCodecBox).toString());
settings.setQuality(QMultimedia::EncodingQuality(ui_->videoQualitySlider->value()));
settings.setResolution(boxValue(ui_->videoResolutionBox).toSize());
settings.setFrameRate(boxValue(ui_->videoFramerateBox).value<qreal>());

return settings;
}

void VideoSettings::setVideoSettings(const QVideoEncoderSettings &videoSettings) {
selectComboBoxItem(ui->videoCodecBox, QVariant(videoSettings.codec()));
selectComboBoxItem(ui->videoResolutionBox, QVariant(videoSettings.resolution()));
ui->videoQualitySlider->setValue(videoSettings.quality());
selectComboBoxItem(ui_->videoCodecBox, QVariant(videoSettings.codec()));
selectComboBoxItem(ui_->videoResolutionBox, QVariant(videoSettings.resolution()));
ui_->videoQualitySlider->setValue(videoSettings.quality());

// special case for frame rate
for (int i = 0; i < ui->videoFramerateBox->count(); ++i) {
qreal itemRate = ui->videoFramerateBox->itemData(i).value<qreal>();
for (int i = 0; i < ui_->videoFramerateBox->count(); ++i) {
qreal itemRate = ui_->videoFramerateBox->itemData(i).value<qreal>();
if (qFuzzyCompare(itemRate, videoSettings.frameRate())) {
ui->videoFramerateBox->setCurrentIndex(i);
ui_->videoFramerateBox->setCurrentIndex(i);
break;
}
}
}

QString VideoSettings::format() const { return boxValue(ui->containerFormatBox).toString(); }
QString VideoSettings::format() const { return boxValue(ui_->containerFormatBox).toString(); }

void VideoSettings::setFormat(const QString &format) {
selectComboBoxItem(ui->containerFormatBox, QVariant(format));
selectComboBoxItem(ui_->containerFormatBox, QVariant(format));
}

QVariant VideoSettings::boxValue(const QComboBox *box) const {
Expand Down
10 changes: 5 additions & 5 deletions users/iphydf/camera/videosettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ class VideoSettings : public QDialog {
Q_OBJECT

public:
VideoSettings(QMediaRecorder *mediaRecorder, QWidget *parent = 0);
~VideoSettings();
VideoSettings(QMediaRecorder *mediaRecorder, QWidget *parent = nullptr);
~VideoSettings() override;

QAudioEncoderSettings audioSettings() const;
void setAudioSettings(const QAudioEncoderSettings &);
Expand All @@ -70,14 +70,14 @@ class VideoSettings : public QDialog {
void setFormat(const QString &format);

protected:
void changeEvent(QEvent *e);
void changeEvent(QEvent *e) override;

private:
QVariant boxValue(const QComboBox *) const;
void selectComboBoxItem(QComboBox *box, const QVariant &value);

Ui::VideoSettingsUi *ui;
QMediaRecorder *mediaRecorder;
Ui::VideoSettingsUi *ui_;
QMediaRecorder *mediaRecorder_;
};

#endif // VIDEOSETTINGS_H
2 changes: 1 addition & 1 deletion users/iphydf/qt-toxcore-c/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class Core : QObject {

public:
Core();
~Core();
~Core() override;

void hello();

Expand Down

0 comments on commit 55d9144

Please sign in to comment.