From d53eaf8869eb9c43908c873d85ad169371123a86 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Fri, 25 Jun 2021 16:54:03 +0200 Subject: [PATCH] MISC: Fix some warnings and apply style --- src/Ass/Line.cc | 16 +++++++++++ src/Ass/Line.hh | 12 ++------ src/Ass/Style.hh | 2 +- src/AudioVisualizer.cc | 10 +++---- src/AudioVisualizer.hh | 2 +- src/Document/VivyDocument.cc | 44 ++++++++++++++--------------- src/Main.cc | 4 +-- src/TimingScene.cc | 55 +++++++++++++++++++++++------------- src/TimingScene.hh | 23 ++++++--------- src/TimingView.cc | 2 +- src/TimingView.hh | 5 ++-- src/VivyApplication.hh | 2 +- utils/scripts/style.bash | 2 +- 13 files changed, 99 insertions(+), 80 deletions(-) diff --git a/src/Ass/Line.cc b/src/Ass/Line.cc index 31a39891..c4135c3e 100644 --- a/src/Ass/Line.cc +++ b/src/Ass/Line.cc @@ -3,3 +3,19 @@ Line::Line(const QString & /*unused*/) { } + +void +Line::setStart(quint64 s) noexcept +{ + start = s; + if (s > end) + end = s; +}; + +void +Line::setEnd(quint64 s) noexcept +{ + end = s; + if (start > s) + start = s; +}; diff --git a/src/Ass/Line.hh b/src/Ass/Line.hh index e2aa48c5..3f447ec8 100644 --- a/src/Ass/Line.hh +++ b/src/Ass/Line.hh @@ -20,16 +20,8 @@ public: ~Line() noexcept = default; - inline void setStart(quint64 s){ - start = s; - if (s > end) - end = s; - }; - inline void setEnd(quint64 s){ - end = s; - if (start > s) - start = s; - }; + void setStart(quint64 s) noexcept; + void setEnd(quint64 s) noexcept; }; #endif // VIVY_ASS_LINE_H diff --git a/src/Ass/Style.hh b/src/Ass/Style.hh index 8a8907e6..818e1a71 100644 --- a/src/Ass/Style.hh +++ b/src/Ass/Style.hh @@ -9,7 +9,7 @@ struct Color { union { quint8 a, r, g, b; - quint32 argb; + quint32 argb{ 0 }; }; static Color fromString(const QString); diff --git a/src/AudioVisualizer.cc b/src/AudioVisualizer.cc index 6407db7b..f557a9b0 100644 --- a/src/AudioVisualizer.cc +++ b/src/AudioVisualizer.cc @@ -16,15 +16,15 @@ AudioVisualizer::AudioVisualizer(QWidget *parent) noexcept void AudioVisualizer::printSpectrum(QImage pixmap) noexcept { - TimingView *timer = new TimingView(pixmap, 0); + TimingView *timer = new TimingView(pixmap, 0, this); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(timer); setLayout(layout); } -auto -AudioVisualizer::fromFile(const QString &filename) -> AudioVisualizer * +AudioVisualizer * +AudioVisualizer::fromFile(const QString &filename) { if (filename.isEmpty()) return nullptr; @@ -53,8 +53,8 @@ AudioVisualizer::fromFile(const QString &filename) -> AudioVisualizer * const int width = RawImageDataGetWidth(raw_image); const int height = RawImageDataGetHeight(raw_image); uchar *pixs = RawImageDataDuplicatePixels(raw_image); - QImage img(pixs, width, height / 2, width, QImage::Format_Grayscale8, pixs_deleter, pixs); - img = img.mirrored(false, true); + QImage img = + QImage(pixs, width, height / 2, width, QImage::Format_Grayscale8, pixs_deleter, pixs).mirrored(false, true); auto *audioVisualizer = new AudioVisualizer; audioVisualizer->printSpectrum(img); diff --git a/src/AudioVisualizer.hh b/src/AudioVisualizer.hh index 7f4f4a8b..41163786 100644 --- a/src/AudioVisualizer.hh +++ b/src/AudioVisualizer.hh @@ -16,7 +16,7 @@ public: explicit AudioVisualizer(QWidget *parent = nullptr) noexcept; ~AudioVisualizer() noexcept = default; - static AudioVisualizer *fromFile(const QString &); + [[nodiscard("allocated")]] static AudioVisualizer *fromFile(const QString &); public slots: void printSpectrum(QImage) noexcept; diff --git a/src/Document/VivyDocument.cc b/src/Document/VivyDocument.cc index 6a2455ea..60df47cb 100644 --- a/src/Document/VivyDocument.cc +++ b/src/Document/VivyDocument.cc @@ -11,8 +11,8 @@ VivyDocument::VivyDocument(const QString &name) qDebug() << "CONSTRUCTOR: VivyDocument(" << name << ")"; } -auto -VivyDocument::loadSubDocument(const QString &name) noexcept -> bool +bool +VivyDocument::loadSubDocument(const QString &name) noexcept { QFileInfo file(name); SubDocument type; @@ -39,8 +39,8 @@ VivyDocument::loadSubDocument(const QString &name) noexcept -> bool return false; } -auto -VivyDocument::loadSubDocument(const QString &name, VivyDocument::SubDocument asType) noexcept -> bool +bool +VivyDocument::loadSubDocument(const QString &name, VivyDocument::SubDocument asType) noexcept { QFileInfo file(name); SubDocument type; @@ -68,8 +68,8 @@ VivyDocument::loadSubDocument(const QString &name, VivyDocument::SubDocument asT return true; } -auto -VivyDocument::detectDocumentType(const QFileInfo &file, SubDocument *type) -> bool +bool +VivyDocument::detectDocumentType(const QFileInfo &file, SubDocument *type) { Vivy::Utils::DocumentType docType; bool rc = Vivy::Utils::detectDocumentType(file, &docType); @@ -91,8 +91,8 @@ VivyDocument::detectDocumentType(const QFileInfo &file, SubDocument *type) -> bo return rc; } -auto -VivyDocument::rename(const QString &name) noexcept -> bool +bool +VivyDocument::rename(const QString &name) noexcept { /* Compute new paths */ const QString newNameWithExtension = name.right(filePrefix.size()) == filePrefix ? name : name + "." + filePrefix; @@ -118,26 +118,26 @@ VivyDocument::rename(const QString &name) noexcept -> bool return false; } -auto -VivyDocument::getAudioSubDocument() const noexcept -> AudioDocument * +AudioDocument * +VivyDocument::getAudioSubDocument() const noexcept { return audioDocument.get(); } -auto -VivyDocument::getVideoSubDocument() const noexcept -> VideoDocument * +VideoDocument * +VivyDocument::getVideoSubDocument() const noexcept { return videoDocument.get(); } -auto -VivyDocument::getAssSubDocument() const noexcept -> AssDocument * +AssDocument * +VivyDocument::getAssSubDocument() const noexcept { return assDocument.get(); } -auto -VivyDocument::fromPath(const QString &path) noexcept -> VivyDocument * +VivyDocument * +VivyDocument::fromPath(const QString &path) noexcept { QFileInfo file(path); VivyDocument *ret = new VivyDocument(file.baseName()); @@ -149,20 +149,20 @@ VivyDocument::fromPath(const QString &path) noexcept -> VivyDocument * return ret; } -auto -VivyDocument::newEmpty([[maybe_unused]] const QString &name) noexcept -> VivyDocument * +VivyDocument * +VivyDocument::newEmpty([[maybe_unused]] const QString &name) noexcept { return nullptr; } -auto -VivyDocument::getName() const noexcept -> QString +QString +VivyDocument::getName() const noexcept { return documentName; } -auto -VivyDocument::getDocumentCapabilities() const noexcept -> int +int +VivyDocument::getDocumentCapabilities() const noexcept { return documentType; } diff --git a/src/Main.cc b/src/Main.cc index a3a0f381..f38c9179 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -1,8 +1,8 @@ #include "MainWindow.hh" #include "VivyApplication.hh" -auto -main(int argc, char **argv) noexcept -> int +int +main(int argc, char **argv) noexcept { return VivyApplication(argc, argv).exec(); } diff --git a/src/TimingScene.cc b/src/TimingScene.cc index 6ca373a0..bbea8b69 100644 --- a/src/TimingScene.cc +++ b/src/TimingScene.cc @@ -1,4 +1,5 @@ #include "TimingScene.hh" +#include "Utils.hh" #include <QGraphicsLineItem> #include <QGraphicsPixmapItem> @@ -18,15 +19,14 @@ TimingScene::TimingScene(QWidget *parent) noexcept } TimingScene::TimingScene(QImage img, quint64 soundLength, QWidget *parent) noexcept - : QGraphicsScene(parent), - img(img), - soundLength(soundLength) + : QGraphicsScene(parent) + , img(img) + , soundLength(soundLength) { QPixmap pixmap(QPixmap::fromImage(img)); backgroundImg = addPixmap(pixmap); } - void TimingScene::mousePressEvent(QGraphicsSceneMouseEvent *event) noexcept { @@ -35,29 +35,46 @@ TimingScene::mousePressEvent(QGraphicsSceneMouseEvent *event) noexcept QGraphicsItem *got; if ((got = itemAt(pos, QTransform())) == nullptr || got == backgroundImg) { - if (auto p = currentLine.lock()){ + if (auto p = currentLine.lock()) { quint64 time = timeFromPos(pos.x()); - switch (timingMode){ - case TimingMode::Line: - switch (event->button()){ - case Qt::LeftButton: - p->setStart(time); - break; - - case Qt::RightButton: - p->setEnd(time); - break; - - default: - break; - } + switch (timingMode) { + case TimingMode::Line: + switch (event->button()) { + case Qt::LeftButton: + p->setStart(time); + break; + + case Qt::RightButton: + p->setEnd(time); break; default: break; + } + break; + + default: + break; } } } QGraphicsScene::mousePressEvent(event); } + +quint64 +TimingScene::timeFromPos(qreal x) +{ + if (const qreal w = width(); x <= 0 || w <= 0) { + qCritical() << "Try avoid possible divide by zero in the time from position"; + return 0; + } else { + return static_cast<quint64>(x) * soundLength / static_cast<quint64>(w); + } +} + +QGraphicsPixmapItem * +TimingScene::bg() noexcept +{ + return backgroundImg; +}; diff --git a/src/TimingScene.hh b/src/TimingScene.hh index 144a76cb..b14b33eb 100644 --- a/src/TimingScene.hh +++ b/src/TimingScene.hh @@ -17,11 +17,7 @@ class TimingScene final : public QGraphicsScene { Q_OBJECT public: - enum class TimingMode { - Line = 0x0, - Syl = 0x1, - Char = 0x2 - }; + enum class TimingMode { Line = 0x0, Syl = 0x1, Char = 0x2 }; Q_DECLARE_FLAGS(TimingModes, TimingMode) public: @@ -29,26 +25,23 @@ public: static inline constexpr QColor endColour = QColor(0, 127, 0); explicit TimingScene(QWidget *parent = nullptr) noexcept; - TimingScene(QImage, quint64, QWidget* = nullptr) noexcept; + explicit TimingScene(QImage, quint64, QWidget * = nullptr) noexcept; ~TimingScene() noexcept = default; private: - QGraphicsPixmapItem *backgroundImg = nullptr; + QGraphicsPixmapItem *backgroundImg{ nullptr }; QImage img; - quint64 soundLength; - std::weak_ptr<Line> currentLine; - TimingMode timingMode; + quint64 soundLength{ 0 }; + std::weak_ptr<Line> currentLine{}; + TimingMode timingMode{ TimingMode::Line }; public: - inline QGraphicsPixmapItem *bg() - { - return backgroundImg; - }; + QGraphicsPixmapItem *bg() noexcept; void mousePressEvent(QGraphicsSceneMouseEvent *event) noexcept override; private: - inline quint64 timeFromPos(qreal x) { return x * soundLength / width(); }; + quint64 timeFromPos(qreal x); public slots: }; diff --git a/src/TimingView.cc b/src/TimingView.cc index 86a067de..b17b6eda 100644 --- a/src/TimingView.cc +++ b/src/TimingView.cc @@ -18,7 +18,7 @@ TimingView::TimingView(QImage img, quint64 soundLength, QWidget *parent) noexcept : QGraphicsView(parent) { - scene = new TimingScene(img, soundLength); + scene = new TimingScene(img, soundLength, this); setFixedHeight(img.height()); setMaximumHeight(img.height() + horizontalScrollBar()->height() - TO_ADD_TO_IMAGE_HEIGHT); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); diff --git a/src/TimingView.hh b/src/TimingView.hh index 675ac0d2..6aa50a63 100644 --- a/src/TimingView.hh +++ b/src/TimingView.hh @@ -22,13 +22,14 @@ public: static inline constexpr QColor startColour = QColor(127, 0, 127); static inline constexpr QColor endColour = QColor(0, 127, 0); - explicit TimingView(QImage, quint64, QWidget* = nullptr) noexcept; + explicit TimingView(QImage, quint64, QWidget * = nullptr) noexcept; ~TimingView() noexcept = default; private: - TimingScene *scene; + TimingScene *scene{ nullptr }; public slots: + void mousePressEvent(QMouseEvent *event) noexcept; }; #endif // VIVY_TIMING_VIEW_H diff --git a/src/VivyApplication.hh b/src/VivyApplication.hh index 35cdce2b..077c5871 100644 --- a/src/VivyApplication.hh +++ b/src/VivyApplication.hh @@ -15,7 +15,7 @@ class VivyApplication : public QApplication { Q_OBJECT private: - std::unique_ptr<MainWindow> mainWindow; + std::unique_ptr<MainWindow> mainWindow{ nullptr }; const QPixmap applicationIcon; static inline VivyApplication *singletonInstance = nullptr; diff --git a/utils/scripts/style.bash b/utils/scripts/style.bash index 9522361d..d9815a3f 100755 --- a/utils/scripts/style.bash +++ b/utils/scripts/style.bash @@ -2,4 +2,4 @@ set -e _ROOT="$(git rev-parse --show-toplevel)" cd "$_ROOT" -find ./src \( -name '*.cpp' -o -name '*.cc' -o -name '*.c' -o -name '*.h' -o -name '*.hpp' \) -exec clang-format -i {} \; +find ./src \( -name '*.cpp' -o -name '*.cc' -o -name '*.c' -o -name '*.h' -o -name '*.hpp' -o -name '*.hh' \) -exec clang-format -i {} \; -- GitLab