From 977d604e8823817d293104c4a5cd53867cbe676b Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Sun, 27 Jun 2021 23:30:18 +0200
Subject: [PATCH] MISC: Place all the vivy application in its own namespace,
 use sub-namespaces for the Ass and Utils parts

---
 src/Ass/Ass.hh                    | 11 +++++++++++
 src/Ass/AssFactory.cc             |  2 ++
 src/Ass/AssFactory.hh             |  6 ++++++
 src/Ass/Char.cc                   |  2 ++
 src/Ass/Char.hh                   |  3 +++
 src/Ass/Line.cc                   |  2 ++
 src/Ass/Line.hh                   |  4 ++++
 src/Ass/Style.cc                  |  2 ++
 src/Ass/Style.hh                  |  5 ++++-
 src/Ass/Syl.cc                    |  2 ++
 src/Ass/Syl.hh                    |  4 ++++
 src/AudioVisualizer.cc            |  2 ++
 src/AudioVisualizer.hh            |  4 ++++
 src/DialogHelp.cc                 |  2 ++
 src/DialogHelp.hh                 |  4 ++++
 src/Document/CRTPSubDocument.hh   |  6 +++++-
 src/Document/VivyDocument.cc      |  2 ++
 src/Document/VivyDocument.hh      |  4 ++++
 src/Document/VivyDocumentStore.cc |  2 ++
 src/Document/VivyDocumentStore.hh |  4 ++++
 src/Main.cc                       |  2 +-
 src/MainWindow.cc                 |  2 ++
 src/MainWindow.hh                 |  5 +++++
 src/TimingBar.cc                  |  2 ++
 src/TimingBar.hh                  |  4 ++++
 src/TimingScene.cc                |  2 ++
 src/TimingScene.hh                |  8 ++++++--
 src/TimingView.cc                 |  2 ++
 src/TimingView.hh                 |  4 ++++
 src/Utils.cc                      | 10 ++++++----
 src/VivyApplication.cc            |  2 ++
 src/VivyApplication.hh            |  4 ++++
 src/VivyDocumentView.cc           |  2 ++
 src/VivyDocumentView.hh           |  4 ++++
 34 files changed, 117 insertions(+), 9 deletions(-)

diff --git a/src/Ass/Ass.hh b/src/Ass/Ass.hh
index 2437996d..f1b3da97 100644
--- a/src/Ass/Ass.hh
+++ b/src/Ass/Ass.hh
@@ -5,5 +5,16 @@
 #include "Line.hh"
 #include "Syl.hh"
 #include "Style.hh"
+#include "AssFactory.hh"
+#include <memory.h>
+
+namespace Vivy::Ass
+{
+using StylePtr = AssFactory::StylePtr;
+using LinePtr  = AssFactory::LinePtr;
+
+using StyleWeakPtr = AssFactory::StyleWeakPtr;
+using LineWeakPtr  = AssFactory::LineWeakPtr;
+}
 
 #endif // VIVY_ASS_ASS_H
diff --git a/src/Ass/AssFactory.cc b/src/Ass/AssFactory.cc
index 7bcf561c..28f1322e 100644
--- a/src/Ass/AssFactory.cc
+++ b/src/Ass/AssFactory.cc
@@ -2,6 +2,8 @@
 
 #include <stdexcept>
 
+using namespace Vivy::Ass;
+
 bool
 AssFactory::initFromStorage() noexcept
 {
diff --git a/src/Ass/AssFactory.hh b/src/Ass/AssFactory.hh
index c4b98cd0..74a09766 100644
--- a/src/Ass/AssFactory.hh
+++ b/src/Ass/AssFactory.hh
@@ -17,6 +17,8 @@
  *
  */
 
+namespace Vivy::Ass
+{
 class AssFactory final {
     VIVY_UNMOVABLE_OBJECT(AssFactory)
 
@@ -28,7 +30,9 @@ public:
     };
 
     using LinePtr        = std::shared_ptr<Line>;
+    using LineWeakPtr    = std::weak_ptr<Line>;
     using StylePtr       = std::shared_ptr<Style>;
+    using StyleWeakPtr   = std::weak_ptr<Style>;
     using SectionContent = QMap<QString, QVariant>;
 
 private:
@@ -60,4 +64,6 @@ public:
     QList<LinePtr> getLines() const noexcept;
 };
 
+}
+
 #endif // VIVY_ASS_FACTORY_H
diff --git a/src/Ass/Char.cc b/src/Ass/Char.cc
index 9ba0f77f..e768c6bb 100644
--- a/src/Ass/Char.cc
+++ b/src/Ass/Char.cc
@@ -1,6 +1,8 @@
 #include "Char.hh"
 #include "Syl.hh"
 
+using namespace Vivy::Ass;
+
 Char::Char(Syl *const syl, const QChar /*unused*/)
     : parentLine(syl->parentLine)
     , parentSyl(syl)
diff --git a/src/Ass/Char.hh b/src/Ass/Char.hh
index 6488e64e..bd300d5b 100644
--- a/src/Ass/Char.hh
+++ b/src/Ass/Char.hh
@@ -4,6 +4,8 @@
 #include <QChar>
 #include <QtGlobal>
 
+namespace Vivy::Ass
+{
 class Line;
 class Syl;
 
@@ -24,5 +26,6 @@ public:
     Char &operator=(const Char &) = delete;
     ~Char() noexcept              = default;
 };
+}
 
 #endif // VIVY_ASS_CHAR_H
diff --git a/src/Ass/Line.cc b/src/Ass/Line.cc
index 7a1fdfcd..1b7b8c6a 100644
--- a/src/Ass/Line.cc
+++ b/src/Ass/Line.cc
@@ -1,5 +1,7 @@
 #include "Line.hh"
 
+using namespace Vivy::Ass;
+
 Line::Line(const QString & /*unused*/)
 {
 }
diff --git a/src/Ass/Line.hh b/src/Ass/Line.hh
index 3f447ec8..c4b1a39b 100644
--- a/src/Ass/Line.hh
+++ b/src/Ass/Line.hh
@@ -5,6 +5,8 @@
 #include <QtGlobal>
 #include "Syl.hh"
 
+namespace Vivy::Ass
+{
 class Line {
 private:
     quint64 start{ 0 };
@@ -24,4 +26,6 @@ public:
     void setEnd(quint64 s) noexcept;
 };
 
+}
+
 #endif // VIVY_ASS_LINE_H
diff --git a/src/Ass/Style.cc b/src/Ass/Style.cc
index 859de90d..16db98ee 100644
--- a/src/Ass/Style.cc
+++ b/src/Ass/Style.cc
@@ -1,5 +1,7 @@
 #include "Style.hh"
 
+using namespace Vivy::Ass;
+
 Style::Style(const QString & /*unused*/)
 {
 }
diff --git a/src/Ass/Style.hh b/src/Ass/Style.hh
index f7056890..82e6c4be 100644
--- a/src/Ass/Style.hh
+++ b/src/Ass/Style.hh
@@ -5,7 +5,8 @@
 #include <QVector>
 #include <QtGlobal>
 
-// class or struct, that is the question
+namespace Vivy::Ass
+{
 struct Color {
     union {
         quint8 a, r, g, b;
@@ -40,4 +41,6 @@ public:
     ~Style() noexcept               = default;
 };
 
+}
+
 #endif
diff --git a/src/Ass/Syl.cc b/src/Ass/Syl.cc
index 9fbe6d34..5f1bb961 100644
--- a/src/Ass/Syl.cc
+++ b/src/Ass/Syl.cc
@@ -1,5 +1,7 @@
 #include "Syl.hh"
 
+using namespace Vivy::Ass;
+
 Syl::Syl(Line *const line, const QString & /*unused*/)
     : parentLine(line)
 {
diff --git a/src/Ass/Syl.hh b/src/Ass/Syl.hh
index 6cac6bfc..cb5c522b 100644
--- a/src/Ass/Syl.hh
+++ b/src/Ass/Syl.hh
@@ -6,6 +6,8 @@
 #include <QVector>
 #include <QtGlobal>
 
+namespace Vivy::Ass
+{
 class Line;
 
 class Syl {
@@ -24,4 +26,6 @@ public:
     ~Syl() noexcept             = default;
 };
 
+}
+
 #endif
diff --git a/src/AudioVisualizer.cc b/src/AudioVisualizer.cc
index f557a9b0..840d770a 100644
--- a/src/AudioVisualizer.cc
+++ b/src/AudioVisualizer.cc
@@ -8,6 +8,8 @@
 #include <QScrollBar>
 #include <QVBoxLayout>
 
+using namespace Vivy;
+
 AudioVisualizer::AudioVisualizer(QWidget *parent) noexcept
     : QWidget(parent)
 {
diff --git a/src/AudioVisualizer.hh b/src/AudioVisualizer.hh
index 41163786..8a267183 100644
--- a/src/AudioVisualizer.hh
+++ b/src/AudioVisualizer.hh
@@ -9,6 +9,8 @@
 #include <QWidget>
 #include <QString>
 
+namespace Vivy
+{
 class AudioVisualizer final : public QWidget {
     Q_OBJECT
 
@@ -22,4 +24,6 @@ public slots:
     void printSpectrum(QImage) noexcept;
 };
 
+}
+
 #endif // VIVY_AUDIOVISUALIZER_H
diff --git a/src/DialogHelp.cc b/src/DialogHelp.cc
index 9d27ca16..f3e34eb1 100644
--- a/src/DialogHelp.cc
+++ b/src/DialogHelp.cc
@@ -6,6 +6,8 @@
 #include <QDialog>
 #include <QPixmap>
 
+using namespace Vivy;
+
 DialogHelp::DialogHelp(QWidget *parent) noexcept
     : QMessageBox(parent)
 {
diff --git a/src/DialogHelp.hh b/src/DialogHelp.hh
index 33cd2ff1..1ab9c7d9 100644
--- a/src/DialogHelp.hh
+++ b/src/DialogHelp.hh
@@ -8,6 +8,8 @@
 #include <QMessageBox>
 #include <QWidget>
 
+namespace Vivy
+{
 class DialogHelp final : public QMessageBox {
     Q_OBJECT
 
@@ -34,4 +36,6 @@ private:
     // clang-format on
 };
 
+}
+
 #endif // VIVY_DIALOGHELP_H
diff --git a/src/Document/CRTPSubDocument.hh b/src/Document/CRTPSubDocument.hh
index 1052983d..17628256 100644
--- a/src/Document/CRTPSubDocument.hh
+++ b/src/Document/CRTPSubDocument.hh
@@ -12,6 +12,8 @@
 
 /* Types for the different documents */
 
+namespace Vivy
+{
 enum class AudioDocumentType : quint64 {
     MP3 = Vivy::Utils::to_underlying(Vivy::Utils::DocumentType::MP3),
     OGG = Vivy::Utils::to_underlying(Vivy::Utils::DocumentType::OGG),
@@ -103,7 +105,9 @@ class AssSubDocument final : public CRTPSubDocument<AssDocumentType, AssSubDocum
     friend CRTPSubDocument<AssDocumentType, AssSubDocument>;
 
 private:
-    QVector<std::shared_ptr<Line>> lines;
+    QVector<Ass::LinePtr> lines;
 };
 
+}
+
 #endif // VIVY_CRTP_DOCUMENT_H
diff --git a/src/Document/VivyDocument.cc b/src/Document/VivyDocument.cc
index 730fa960..caf5b285 100644
--- a/src/Document/VivyDocument.cc
+++ b/src/Document/VivyDocument.cc
@@ -5,6 +5,8 @@
 #include <QString>
 #include <QStringList>
 
+using namespace Vivy;
+
 VivyDocument::VivyDocument(const QString &name, bool default_)
     : documentName(name)
     , untouchedDefault(default_)
diff --git a/src/Document/VivyDocument.hh b/src/Document/VivyDocument.hh
index f517a8ac..3811148f 100644
--- a/src/Document/VivyDocument.hh
+++ b/src/Document/VivyDocument.hh
@@ -12,6 +12,8 @@
 #include <QString>
 #include <QDir>
 
+namespace Vivy
+{
 class VivyDocument {
 public:
     enum Capabilities : quint64 {
@@ -62,4 +64,6 @@ public:
     void setAssSubDocument(const QString) noexcept;
 };
 
+}
+
 #endif // VIVY_DOCUMENT_H
diff --git a/src/Document/VivyDocumentStore.cc b/src/Document/VivyDocumentStore.cc
index 834674b9..788f2f2e 100644
--- a/src/Document/VivyDocumentStore.cc
+++ b/src/Document/VivyDocumentStore.cc
@@ -3,6 +3,8 @@
 
 #include <stdexcept>
 
+using namespace Vivy;
+
 std::weak_ptr<VivyDocument>
 VivyDocumentStore::loadDocument(const QString &file)
 {
diff --git a/src/Document/VivyDocumentStore.hh b/src/Document/VivyDocumentStore.hh
index 03d80a82..09205af6 100644
--- a/src/Document/VivyDocumentStore.hh
+++ b/src/Document/VivyDocumentStore.hh
@@ -8,6 +8,8 @@
 #include <QString>
 #include <memory>
 
+namespace Vivy
+{
 class VivyDocumentStore final {
     VIVY_UNMOVABLE_OBJECT(VivyDocumentStore)
 
@@ -35,4 +37,6 @@ private:
     static inline const QString newDocumentBaseName = "Untitled ";
 };
 
+}
+
 #endif // VIVY_DOCUMENTSTORE_H
diff --git a/src/Main.cc b/src/Main.cc
index f38c9179..a47f666c 100644
--- a/src/Main.cc
+++ b/src/Main.cc
@@ -4,5 +4,5 @@
 int
 main(int argc, char **argv) noexcept
 {
-    return VivyApplication(argc, argv).exec();
+    return Vivy::VivyApplication(argc, argv).exec();
 }
diff --git a/src/MainWindow.cc b/src/MainWindow.cc
index 37b5135f..43b18086 100644
--- a/src/MainWindow.cc
+++ b/src/MainWindow.cc
@@ -34,6 +34,8 @@
 
 #define ACTION_ADD_SHORTCUT(action, shortcut) action##Act->setShortcut(shortcut);
 
+using namespace Vivy;
+
 MainWindow::MainWindow(QWidget *parent) noexcept
     : QMainWindow(parent)
 {
diff --git a/src/MainWindow.hh b/src/MainWindow.hh
index df16b421..a2784f43 100644
--- a/src/MainWindow.hh
+++ b/src/MainWindow.hh
@@ -12,6 +12,9 @@
 class QMenu;
 class QAction;
 class QTabWidget;
+
+namespace Vivy
+{
 class VivyApplication;
 
 class MainWindow final : public QMainWindow {
@@ -40,4 +43,6 @@ private slots:
     void openDialogHelp() noexcept;
 };
 
+}
+
 #endif // VIVY_MAINWINDOW_H
diff --git a/src/TimingBar.cc b/src/TimingBar.cc
index f0678033..9353c174 100644
--- a/src/TimingBar.cc
+++ b/src/TimingBar.cc
@@ -10,6 +10,8 @@
 #include <QScrollBar>
 #include <QVBoxLayout>
 
+using namespace Vivy;
+
 TimingBar::TimingBar(QLine line, QColor color) noexcept
     : QGraphicsLineItem(line)
 {
diff --git a/src/TimingBar.hh b/src/TimingBar.hh
index 7942b7d2..3dcd5fd0 100644
--- a/src/TimingBar.hh
+++ b/src/TimingBar.hh
@@ -9,6 +9,8 @@
 #include <QGraphicsItem>
 #include <QGraphicsLineItem>
 
+namespace Vivy
+{
 class TimingBar final : public QGraphicsLineItem {
 public:
     explicit TimingBar(QLine, QColor) noexcept;
@@ -27,4 +29,6 @@ protected:
     */
 };
 
+}
+
 #endif // VIVY_TIMING_BAR_H
diff --git a/src/TimingScene.cc b/src/TimingScene.cc
index f540fd86..3d61703f 100644
--- a/src/TimingScene.cc
+++ b/src/TimingScene.cc
@@ -13,6 +13,8 @@
 #include <QScrollBar>
 #include <QVBoxLayout>
 
+using namespace Vivy;
+
 TimingScene::TimingScene(QWidget *parent) noexcept
     : QGraphicsScene(parent)
 {
diff --git a/src/TimingScene.hh b/src/TimingScene.hh
index b14b33eb..53bb00ad 100644
--- a/src/TimingScene.hh
+++ b/src/TimingScene.hh
@@ -1,7 +1,7 @@
 #ifndef VIVY_TIMING_SCENE_H
 #define VIVY_TIMING_SCENE_H
 
-#include "Ass/Line.hh"
+#include "Ass/Ass.hh"
 #include "TimingBar.hh"
 
 #include <QWidget>
@@ -13,6 +13,8 @@
 
 class QGraphicsPixmapItem;
 
+namespace Vivy
+{
 class TimingScene final : public QGraphicsScene {
     Q_OBJECT
 
@@ -32,7 +34,7 @@ private:
     QGraphicsPixmapItem *backgroundImg{ nullptr };
     QImage img;
     quint64 soundLength{ 0 };
-    std::weak_ptr<Line> currentLine{};
+    Ass::LineWeakPtr currentLine{};
     TimingMode timingMode{ TimingMode::Line };
 
 public:
@@ -46,6 +48,8 @@ private:
 public slots:
 };
 
+}
+
 //Only if combinaisons of mode is allowed, it shouldn't be here
 //Q_DECLARE_OPERATORS_FOR_FLAGS(TimingScene::TimingModes)
 
diff --git a/src/TimingView.cc b/src/TimingView.cc
index b17b6eda..b176c3d2 100644
--- a/src/TimingView.cc
+++ b/src/TimingView.cc
@@ -15,6 +15,8 @@
 
 #define TO_ADD_TO_IMAGE_HEIGHT 2 /* Used for alignement */
 
+using namespace Vivy;
+
 TimingView::TimingView(QImage img, quint64 soundLength, QWidget *parent) noexcept
     : QGraphicsView(parent)
 {
diff --git a/src/TimingView.hh b/src/TimingView.hh
index 6aa50a63..be10d5b9 100644
--- a/src/TimingView.hh
+++ b/src/TimingView.hh
@@ -15,6 +15,8 @@
 
 class QGraphicsPixmapItem;
 
+namespace Vivy
+{
 class TimingView final : public QGraphicsView {
     Q_OBJECT
 
@@ -32,4 +34,6 @@ public slots:
     void mousePressEvent(QMouseEvent *event) noexcept;
 };
 
+}
+
 #endif // VIVY_TIMING_VIEW_H
diff --git a/src/Utils.cc b/src/Utils.cc
index 6fab4a18..b49fa9ee 100644
--- a/src/Utils.cc
+++ b/src/Utils.cc
@@ -2,20 +2,22 @@
 
 #include <QFileInfo>
 
+using namespace Vivy;
+
 bool
-Vivy::Utils::detectDocumentType(const QFileInfo &file, DocumentType *type)
+Utils::detectDocumentType(const QFileInfo &file, DocumentType *type)
 {
     const QString suffix = file.suffix();
 
-    if (Vivy::Utils::audioFileSuffix.contains(suffix, Qt::CaseInsensitive)) {
+    if (Utils::audioFileSuffix.contains(suffix, Qt::CaseInsensitive)) {
         *type = DocumentType::Audio;
         return true;
     }
-    if (Vivy::Utils::videoFileSuffix.contains(suffix, Qt::CaseInsensitive)) {
+    if (Utils::videoFileSuffix.contains(suffix, Qt::CaseInsensitive)) {
         *type = DocumentType::Video;
         return true;
     }
-    if (Vivy::Utils::assFileSuffix.contains(suffix, Qt::CaseInsensitive)) {
+    if (Utils::assFileSuffix.contains(suffix, Qt::CaseInsensitive)) {
         *type = DocumentType::ASS;
         return true;
     }
diff --git a/src/VivyApplication.cc b/src/VivyApplication.cc
index bbcb1a5b..a5fe158a 100644
--- a/src/VivyApplication.cc
+++ b/src/VivyApplication.cc
@@ -1,6 +1,8 @@
 #include "VivyApplication.hh"
 #include "MainWindow.hh"
 
+using namespace Vivy;
+
 VivyApplication::VivyApplication(int argc, char **argv)
     : QApplication(argc, argv)
 {
diff --git a/src/VivyApplication.hh b/src/VivyApplication.hh
index fe22263f..a9c86f1a 100644
--- a/src/VivyApplication.hh
+++ b/src/VivyApplication.hh
@@ -12,6 +12,8 @@
 #include "Document/VivyDocumentStore.hh"
 #include <memory>
 
+namespace Vivy
+{
 class MainWindow;
 
 class VivyApplication : public QApplication {
@@ -28,4 +30,6 @@ public:
     int exec() noexcept;
 };
 
+}
+
 #endif // VIVY_APPLICATION_H
diff --git a/src/VivyDocumentView.cc b/src/VivyDocumentView.cc
index d1beff35..368468f9 100644
--- a/src/VivyDocumentView.cc
+++ b/src/VivyDocumentView.cc
@@ -4,6 +4,8 @@
 
 #include <QVBoxLayout>
 
+using namespace Vivy;
+
 VivyDocumentView::VivyDocumentView(std::weak_ptr<VivyDocument> docWeak, QWidget *parent) noexcept
     : QWidget(parent)
     , document(docWeak)
diff --git a/src/VivyDocumentView.hh b/src/VivyDocumentView.hh
index a3acfbe7..a1c01602 100644
--- a/src/VivyDocumentView.hh
+++ b/src/VivyDocumentView.hh
@@ -10,6 +10,8 @@
 
 #include <QWidget>
 
+namespace Vivy
+{
 class VivyDocumentView final : public QWidget {
     Q_OBJECT
 
@@ -25,4 +27,6 @@ private:
     void loadAudioView(std::shared_ptr<VivyDocument>) noexcept;
 };
 
+}
+
 #endif // VIVY_DOCUMENTVIEW_H
-- 
GitLab